【入門】Scilabの伝達関数使用方法【数値計算】

【入門】Scilabの伝達関数使用方法【数値計算】 scilab

はじめに

※ MATLAB、Python、Scilab比較ページはこちら
https://www.simulationroom999.com/blog/comparison-of-matlab-python-scilab/

Scilabに於ける、伝達関数使用方法を備忘録として残す。
最終的にはSimulinkに移植することにはなるが、トライアル&エラーの段階ではScilabで実験することが多い。
大量のパラメータと結果を一気に出せるので、ここでおおよその当りをつけてしまうとかなりの効率化となる。

使用関数

poly:多項式を定義
https://help.scilab.org/docs/6.1.0/ja_JP/poly.html

poly - 多項式を定義する

syslin:線形システムを定義
https://help.scilab.org/docs/6.1.0/ja_JP/syslin.html

syslin - 線形システムを定義する

csim:線形システムのシミュレーション (時間応答)
https://help.scilab.org/docs/6.1.0/ja_JP/csim.html

csim - 線形システムのシミュレーション (時間応答)

一次遅れ系

--> t=linspace(0,10,1000);	// 時間(横)軸

--> step=zeros(1,1000);	// 入力信号生成

--> step(1,500:1000)=1;	// 5秒後に0から1へ

--> s=poly(0,'s');		// 多項式定義の準備

--> G=1/(1+s)			// 記号"s"の多項式
 G  = 

         
    1    
   ----  
   1 +s  

--> sys=syslin('c',G);	// 線形システム定義(連続系、線形状態空間表現)

--> y=csim(step,t,sys);	// 連続系時間応答のシミュレーション

--> plot2d(t,y,rect=[0,-0.2,10,1.2]);

--> plot(t,step,"--b");
一次遅れ系波形

まとめ

PythonではMATLABのControl System Toolboxとの互換が見れたが、Scilabはそれらとは異なる使用方法となる。

※ MATLAB、Python、Scilab比較ページはこちら

コメント

タイトルとURLをコピーしました