Scilabで学ぶフィードバック制御入門
ようこそ
 はじめに
数学の準備
 高校数学
 複素数
 ラプラス変換
 ラプラス逆変換
Scilab入門
 概要
四則演算
 配列
 グラフ表示
 プログラム1
 プログラム2
伝達関数
 概要
 poly,syslin,csim
 ステップ応答法
 RLC回路
周波数応答
 ゲイン・位相
 ボード線図
 比例・微分・積分
 1次遅れ,ムダ時間
 パデ近似の導出
 pade関数の作成
制御の安定性
 ブロック線図
 フィードバック
 2次遅れ系
 ステップ応答法
 周波数応答法
 ナイキスト線図
 安定性の判別
 判別の仕組み
 安定余裕の評価
 評価の例題
Xcos
 入門
 例・運動方程式
PID制御(Xcos)
 概要
 比例(P)動作
 積分(I)動作
 微分(D)動作
 PID・ボード線図

Scilab入門:四則演算


それではScilabで様々な計算をしていきます。

が、その前に、表記上のルールを提示します
解説中に出てくる下記の四角枠は、Scilabのコンソール画面を表します。
コンソール画面
-->a=3;  //←代入文(解説)
-->
空行等は、詰めて表記する場合があります。
Scilabが表示する文字列以外に、解説など筆者が後で付け加えた文字列は「//←」のマーク後に記述しています。

四則演算

加減乗除の演算子は他のプログラム言語と同様に + - * / を使用します。
コンソール画面
-->5+2      //←加算
 ans  =
    7.      //←加算結果は ans に代入

-->5-2      //←減算
 ans  =
    3.      //←減算結果は ans に代入

-->5*2,5/2  //←一度に乗算と除算を実行 「,」で区切ることでマルチステートメントが可能
 ans  =
    10.     //←乗算の結果
 ans  =
    2.5     //←ans には、最後に実行した演算(除算)結果が代入される 

<変数を使用した例>
変数とは、数値等を格納できる記憶領域ことです。
この変数に数値等を格納させるには、「=」を使います。
  • 変数 = 数値等 (代入文)
コンソール画面
-->a=10,b=5,a=a*b+100  //←変数 a、b を使用
 a  =
    10.  

 b  =
    5.  

 a  =
    150.  
 
-->a=10;b=5;a=a*b+100    //←上式と同じだが、区切り記号に「;」を使用 この場合表示を伴わない
a = //←a*b+100 の末尾には「;」が無いので a=150を表示 150.

<変数名のルール>
  • 1文字目はアルファベット
  • 2文字目以降は、アルファベットまたは数字またはいくつかの記号( _ # ! $ ? )
  • 最大文字数=24文字

数値の指数表現

非常に大きなまたは、小さな数値は、指数表現で取り扱うことが出来ます。
コンソール画面
-->50000*30000
 ans  =
    1.500D+09    //←1.500 * 10の9乗

-->1/30000000
 ans  =
    3.333D-08    //←3.333 * 10の-8乗

-->5^15          //←5の15乗  「^」はべき乗を表す演算子
 ans  =
    3.052D+10  

-->300000000/2D7 //←300000000/20000000(9桁/8桁) と同じ
 ans  =
    15. 

「D」の変わりに「d」「E」「e」も使えます。

数値表示のフォーマット指定

数値の表示形式を f ormat 関数の使用でユーザーが変更出来ます。
関数  パラメータ解説
format([type],[num]) [type]
表示形式を決める文字列(v または e)
v:=一般形式
e=指数形式
デフォルト:v
[num]
表示文字列の字数
デフォルト:10

コンソール画面
-->format('e',12),10/3    //←表示形式を指数形式に変更して12文字で10/3を表示
 ans  =
    3.33333D+00           //←(1) 演算結果

-->format('v',12),10/3    //←表示形式を一般形式に変更して12文字で10/3を表示
 ans  =
    3.333333333           //←(2) 演算結果

<演算結果を12文字で表示>
文字桁 1 2 3 4 5 6 7 8 9 10 11 12
(1) 空白 3 . 3 3 3 3 3 3 D + 00
(2) 空白 3 . 3 3 3 3 3 3 3 3 3

よく使う関数と定数

Scilabには、多くの関数や定数が予め定義されています。
その内の代表的なものを紹介します。

定数:(% で始まる)
記号 意味
%e 自然対数の底 2.7.1828・・・・
%i 虚数 %i^2 = -1
%pi π 3.1415・・・・

関数
関数名 意味
sin(x)、cos(x)、tan(x) 三角関数
x:ラディアン
asin(x)、acos(x)、atan(x) 逆三角関数
x::実数
exp(x) 指数関数
x:実数
log(x) 事前対数
x:実数
sqrt(x)
x:実数

コンソール画面
-->exp(2),log(%e),sqrt(3)
 ans  =
    7.3890561                        //←%e^2 と同じ
 ans  =
    1.                               //←自然対数の底は e、したがって結果は 1
 ans  =
    1.7320508  
 
-->sin(%pi/4),cos(%pi/4),tan(%pi/4)  //←それぞれの三角関数をπ/4(45度)で計算
 ans  =
    0.7071068  
 ans  =
    0.7071068  
 ans  =
    1.  

他にも多くの関数があります。
[Scilab Help]の Elementary Functions を覗いてみてください。
多くの関数が、使えることが分かるでしょう。