2010-12-02 3 views

答えて

1

DynamicSystemsパッケージの一部であるObservableControllableコマンドを実際に参照しているとします。

一部のMapleルーチンには、userinfoというメッセージがあり、オプションで表示され、部分的な手順を示すことができます。これらは通常、infolevel[DynamicSystems]:=6のようなコールで有効になります。ここで、6は最も詳細なレベルです。値を小さくすると詳細が少なく表示されることがあります。残念ながら、これらの特定のDynamicSystemsルーチンは、ユーザインフォメーションメッセージを持っていないようです。したがって、これはあなたの場合に直接役立たないでしょう。

あるパッケージが別のパッケージを呼び出すことがあります。 Controllableが呼び出されると、ある時点でルーチンLinearAlgebra:-Rankが呼び出されます。私はあなたが高いprintlevelを設定することである1と6

代替の間にいくつかのnにinfolevel[LinearAlgebra]:=nを発行することによって有効にされるであろう、Rankにメッセージをuserinfoを表示したくないことを推測しています。しかしそうすることで、すべてのMaple内部呼び出しも冗長になります。その結果、例えばprintlevel:=20の出力結果は圧倒的です。私はあなたがこのアプローチが有用であると思うとは思っていません。

もう1つの方法は、特定のルーチンをオプションtraceとして設定することです。場合によっては、適切な内部ルーチンの名前を知る必要があります。これは、エクスポートされていないすべてのモジュールのローカルがデフォルトで表示されるわけではないという事実によって、さらに複雑になります。お使いのシステムでControllableを呼び出す前に、まずtrace(DynamicSystems::ControllableSS):に電話をかけてみてください。これはいくつかの中間結果を示していますが、ソースラインがそれらの結果を生成しているかどうか分からない限り、それらはあなたにとってあまり意味がないかもしれません。あなたがControllableSSルーチンのソースを見ることによって

restart: 
with(DynamicSystems): 
aSys := StateSpace(<<1,2>|<3,4>>, <<2,3>>, <<1,0>|<0,1>>, <<0,0>>): 
aSys:-a, aSys:-b, aSys:-c: 
trace(DynamicSystems::ControllableSS): 
Controllable(aSys); 
showstat(DynamicSystems::ControllableSS); 

、ここでshowstat(DynamicSystems::ControllableSS);

は一例ですが、コマンドを発行して、ソースを見ることができ、あなたは階段のメソッドが指定されている場合、それはDynamicSystems:-StaircaseTransformationを呼び出すことを推測することができます。ここでも、showstat(DynamicSystems::StaircaseTransformation)を発行してその内部(ローカル)ルーチンのソースを見ることができます。または、あなたはtraceと同様にそのルーチンを実行することができます。

一般的な規則として、:-表記を使用して、モジュールまたはパッケージのexportsを参照することができます。そして、最初にkernelopts(opaquemodules=false)を設定していない限り、とshowstatにそのような名前を:-の代わりに::の表記を使用して渡すことができます。内部サブモジュールのメンバーがその名前に複数の:-を持っている場合は、::の構文でそれを参照するために丸括弧区切り記号を使用する必要があります。申し訳ありませんが、表現するのはそれほど簡単ではありません。

+0

です。 WWMuchありがとう!あなたは多くを説明した。あなたはDynamic Systemsを解決するための良い、詳細な手順を示すどんなシステムのメイプルも知っていますか? – Rella

関連する問題