Scilab/Xcosの基本ホームQiitaブログ雑記ブログリンク集お問い合わせScilab、XCOSScilab、Xcosの使い方について。Bode線図やNyquist線図の作成や、単位ステップ応答の挙動を見るのに手軽で使い勝手が良いです。sqrt()↓指数計算もできます。exp()ここまで分かれば周波数特性G(jω)の計算も楽々です。1次遅れ+無駄時間を確認してみます。1次遅れ時間τ=10sec、無駄時間:DT=5secとして確認してみます。100の時のG(jw)を見てみます。100を行列に格納します。配列は以下のように簡単に宣言できます。各ωに対するG(jω)は、for文で求めます。・伝達関数のプロット例として、以下の伝達関数について、1根軌跡、2Bode線図、3Nyquist線図、4Nichols線図をプロットする方法を示します。$$f(s)=\frac{3\left(s-1\right)}{s(s+2)(s+5)}$$まず上記の伝達関数を定義しおきます。例として、以下の1次遅れプロセスについて、impulse応答、step応答をプロットする方法を示します。$$f(s)=\frac{1}{s+2}$$Impulse応答s=poly(0,'s');P=syslin('c',1/(s+2));y=csim('impulse',t,P);plot2d(t,y);Step応答s=poly(0,'s');P=syslin('c',1/(s+2));y=csim('step',t,P);plot2d(t,y);時間応答を見るには、やはりMatalabの方が洗練されていて手軽です。(Matalabはstep(伝達関数)、impulse(伝達関数)でグラフ出力までできるので)・外部ファイルの読み込み例えばcsvファイルに基本物性データを入力しておき、read関数で読みこむ場合、以下のように設定します。(パスは絶対パスでもOKです)以下のようにcsvファイルが読み込まれます。Sheets(1,3)]のように、該当する行列番号を指定してやります。・sceファイルをサブルーチンとして呼び出す方法excec('ファイルパス')の形で呼び出しが可能です。例)excec('vpcalc.sce')例えば、蒸気圧推算は、成分によって式形が異なるので、メインプログラム側では記載せず、サブルーチン側で処理した方がコードが長くならずスッキリします。状態方程式をScilabで解き、結果をグラフ描画する状態方程式法の解法の詳細についてはこちらをご参照ください。ここでは既に状態方程式法を3次方程式形まで持っていけることを前提に話を進めます。Scilabでは3次方程式の解はroots()関数を使うことで簡単に求められます。以下はSRKのzを求める場合の例になります。y1=x.^3-x.^2+(Aa(1)-Bb(1)-Bb(1).^2)*x-Aa(1)*Bb(1)roots(y1)以下のように複素数解も求まります。グラフ表示させたい場合は、以下のようにplot2dで表示できます。以下の例では、3通りの圧力、温度でz-f(z)のプロットを表示しています。diagram','z','f(z)')hl=legend(['case1';'case2';'case3'],,3)Bode線図、Nyquist線図の作成ScilabでのBode線図、Nyquist線図の作成方法についてはこちらをご参照ください最適化関数の活用Scilabのオンラインヘルプを参照しました。Xcosの基本機能1次遅れのステップ応答まずは最小構成の1次遅れプロセスへのステップ応答です。メニューバーのアプリケーション→XCOSを起動します。パレットブラウザから以下のユニットを配置し、フローシートを作成してきいます。periodや積分時間は見直してください。1.0E01に変更します。※Defaultでは1.0E5となっているので、このままでは単位ステップの応答は確認できません例えば遅れ時間10secの場合、Scilabのコンソール画面でT=10とし、開始ボタン(再生マークです)を押して計算を開始します。遅れ時間として設定した10secで、出力が1-1/eとなっていることが確認できます。続いて2次遅れプロセスへのステップ応答です。1次遅れとの違いが見やすいように、入力信号と、1次遅れ、2次遅れの出力をまとめて一つのプロットで出してみます。(失敗過程も含めて以下記載します)・1回目のトライアル(CMSCOPEを使ってみる)・2回目のトライアル、、、(CSCOPEの出力ウィンドウを揃えてみる)・3度目の正直!(MUXを使う)XcosからのBode線図出力XcosのマニュアルにXcosのバッチランについてのコマンドがありましたのでご紹介します。XcosをScilabからバッチ実行することで、Bode線図をXcosファイルから作成することができるようです。詳細は、ブログにまとめたのでこちらをご参照ください。以下のように、XcosからBode線図を作成することができます。・ode関数ode関数のタイプとして選択できるのは、以下の通り。"roots"例題として、Pythonでも確認した硬い問題を試してみます。pol方程式は以下の通り。1.0];ode関数定義.以下のvanderpolが関数定義部になります。ode("stiff",X0,0,T,vanderpol);当サイトに不具合、ご意見等ございましたらCEsolutionにお知らせください。