MATLAB / SIMULINK の使い方 ( 注 )5 号館 ( システム工学科棟 )3 階 306PC 室,7 号館計算機室 1 2 で使えます. ライセンスの関係上,MATLAB/SIMULINK を同時に使用できる人数は 50 名です. 使い方が分からないなど, 不明な点は伊藤まで連絡してください. ( 直接でも構いませんし, 伊藤研 HP の掲示板に匿名で質問を書いて頂いても構いません.) 1.MATLAB の起動について プログラムメニューから MATLAB を起動すると, 図 1 のような画面が出ます. MATLAB は, コマンド入力式のインターフェースを備えています. 右側の白い部分がコマンドを書き込むところです.( プログラムによる自動実行も可能ですが, 今回は全てコマンドで行います.) ここにコマンドを打ち込む. Enter キーで実行. 図 1 MATLAB 起動時の画面 2. ボード線図の書き方について ボード線図はコマンド一発で描けます. 5 例として, 2 s 4s 1 のボード線図を描きたい場合には, コマンド入力部分に bode([ 5],[ 1 4 1 ]) と打ち込みます. 図 2 のような画面が現れるはずです. 1 つ目の [ ] 括弧の中は, ボード線図を描きたい伝達関数の分子を, 2 つ目の [ ] 括弧の中は, ボード線図を描きたい伝達関数の分母を 記入します. 通常, 伝達関数の分母 分子は s の多項式となるため, その係数だけを, 次数の高いほうから順に, スペースを 1 つずつ空けながら
3 2 3 2 書いていく. 方式になっています.3s 2s sの場合は,3s 2s s 0と考えますので, [3 2 1 0] となります. 因数分解されている場合は, 多項式の形に展開しておく必要があります. 展開計算には Mathematica というソフト ( 後述 ) を使うと楽です. 3. ボード線図へのグリッド表示の仕方 描いたボード線図には, 標準ではグリッドがありません ( 図 2). そこで, 図 2 に矢印で示した部分 ( ボード線図の枠 ) をダブルクリックして, プロパティ画面 ( 図 3) を開きます. スタイルタブに切り替えて, グリッド表示 にチェックをつけて 閉じる ボタンを押します. すると, 図 4 のようにグリッドが表示され, ゲイン交差角周波数や位相余裕が読みやすくなります. 図 2 2 s 5 4s 1 のボード線図 ( 矢印は次項の説明用 ) 図 3 プロパティ画面
図 4 ボード線図にグリッドが付いた 4. ゲイン値, 位相値, 角周波数の調べ方 ボード線図から, ゲインなどの値を読み取ってみましょう. ゲイン曲線上または位相曲線上の点 ( 線の上 ) をクリックすると, クリックした場所 ( マーク ) の角周波数やゲイン値, 位相値を表示してくれます.( 図 5) マークはいくつでも増やせます. うまくいかない場合は, 一度ボード線図を閉じてから,bode コマンドで描き直すと良いです. マークをつまんで線の上をずらしていくと, 見たい部分を変更できます. 字が小さくて読めない場合には, を右クリックして, フォントサイズを変更しましょう. 動きが荒く, 細かく場所を変更できない場合には, 設定がおかしくなっている可能性があります. その場合には, を右クリックしてメニューを表示し, 補間 > 線形 を選んで見てください. 微小に動かせるようになるはずです. それでも, 完全に細かく連続には動かせないので, ピッタリ 0[dB] のところを観察することは出来ませんが, なるべく近い点まで動かして, ゲイン交差角周波数や位相余裕などを読み取ってください. 正確にゲイン交差角周波数や余裕を求めるためのコマンドも存在しますが, 1 自動計算ではなく, ボード線図から値を読み取る訓練をしておくべき 2 説明が複雑になってわかりにくくなる の 2 つの理由から, ここでは示しません. ( 使い方自体は簡単です. 興味のある人には教えますので直接来てください.) ( 注 ) 虫眼鏡 の + マークを選択してから, ボード線図の拡大したい部分をマウスで四角く囲むと, その範囲を拡大してみることが出来ます. この機能を使うと, 細かく値を読むことが出
来ます. 虫眼鏡 の - マークを選択してからクリックすれば, 一段ずつズームアウトします. よく分からなくなってしまったら, 一度閉じて bode コマンドでボード線図を描き直しましょう. 図 5 ボード線図から値を読もう 5. ボード線図をいくつか重ねたい場合には コマンドで hold on と入力すると, グラフを次々に重ねていけます.hold on 以降に描いたグラフは, 違う色で重ね合わせ表示されます.( 図 6)hold off を入力すると, 以降は元に戻ります. 図 6 hold on による重ね合わせ表示
6. 計算用コマンドなど コマンド入力部に式を書くと, それを計算して結果を表示してくれます. >> 1+2+3 [Enter( 改行 )] ans = 6 ルートは sqrt( ) を使う sin( ) 角度はラジアン表記 常用対数は,log10( ) を使う 10 の 2 乗は,10^2 7. ヒストリー機能 以前に入力したコマンドは, 記憶されています. カーソル上矢印を押すと, 入力した経験のあるコマンドが次々に出てきます. 最初の 1 文字を打ってからカーソル上矢印で, その文字で始まる入力済みのコマンドが呼び出せます. 呼び出したコマンドは, 内容を書き換えて実行できるので, 省力できます. 8. ボード線図などの絵を WORD に張るには? ボード線図などの画像を WORD に貼り付けたい場合には, 画像として取り込みたい Window を選択しておいて (Active にしておいて ), キーボードの ALT キーと PrintScreen キーを同時に押す. 後は WORD などの貼り付けたい場所に ctrl+v でペースト ( 貼り付け ) すれば良い. 9.SIMULINK について MATLAB のコマンド入力部で,simulink と入力すると, グラフィカルシミュレータが起動します ( 図 7). これを使うと, 制御系のシミュレーションが出来ます. 最初に出た画面 ( 図 7) は, 部品の格納庫です. 図 7 SIMULINK 起動時の画面
図 7 に 印で示した 新規作成 のマークを押します. すると, 図 8 のような白紙の画面が出てきます. これが, 部品を配置してシミュレーションを行うキャンバスになります. 図 8 シミュレーションするためのキャンバス 図 7 の部品格納庫から部品 ( 絵のアイコン ) を図 8 のキャンバスにドラッグして, 配置をして使います. 実際にやってみましょう. 格納庫の Simulink の中の Continuous をクリックしましょう. 図 9 のような画面になり, Continuous の中に入っている部品一覧がアイコン表示されます. 図 9 Continuous をクリックしてみた
図 9 において,Transfer Fcn なるアイコンが存在します. これは, 伝達関数を示すアイコンです. これを選択してドラッグし, キャンバスに持ってきてマウスボタンを放しましょう. すると, 図 10 のようになります. 図 10 伝達関数を置いたところ 今出したアイコンをダブルクリックすると, 図 11 のような設定画面が出ます.Numerator は伝達関数の分子,Denominator は伝達関数の分母です.Bode コマンドと同様に s の多項式の係数列を入力します. すると, 伝達関数が設定したものに書き換えられます. 図 11 伝達関数の書き換え もう一つ, 部品を出してみましょう. 今度は,Simulink の中の Math Operations をクリックしましょう. 下の方にスクロールさせると,Sum という名前の図 12 のような丸い記号があるので, ドラッグしてキャンバスに出しましょう.( 図 13)
図 13 Sum を出してみた これは, 制御工学の標準記号とは異なりますが, 信号の加算記号 です. フィードバック制御をするには,+- でないといけないので,Sum の記号をダブルクリックして, 図 14 のように +- に書き換えましょう. 図 14 ++ を +- に書き換えて OK ボタン 次に,Sum と Transfer Fcn をつないでみましょう. 図 15 に示すように, > や > の > の部分 が信号の出口.> や > の > の部分 は信号の入り口です.Sum の右側の信号の出口付近 ( マウスを乗せると + カーソルに変わります ) でマウスを左クリックし, クリックしたままマウスを動かすと, 線が延びていきます. そのまま, 伝達関数の左側の入り口まで持っていって ( マウスを乗せると + カーソルに変わります ), クリックをやめましょう. すると, 線が見事につながります. 失敗して矢印が途中のところに置かれてしまったら, 矢印の頭をつまめば, そこから線を延ばせます.
ここから, ここまでドラッグ 図 15 右図のように信号線をつなぐことが出来ます 同様にして, 図 16 のような制御系を作ってください. Step はステップ信号の発生器です.Simulink の中の Sources に入っています. Scope はオシロスコープです.Simulink の中の Sinks に入っています. オシロスコープの横の黒い棒は,Mux と言って, オシロスコープのチャンネル数を 2 に増やす端子台です.Simulink の中の Signal Routing に入っています. フィードバック部分などの信号の分岐は, 1 分岐をさせたい場所 ( 線の上 ) で右クリックしながら線を引っ張り出す. 線が分岐したら, 一度手を放して, 左クリックで矢印の頭をつまんで, 入力したい場所まで持っていく. 2 分岐した信号を入力したい場所から, 通常の左クリックで線を引っ張り, 分岐させたい場所に接続するのどちらでも可能です. 伝達関数は, 自分で設計した開ループ伝達関数 K(s)P(s) に置き換えること 図 16 制御系の構成
Scope アイコンをダブルクリックすると, オシロスコープの画面が出ます. ブロック線図を描いたキャンバス画面 ( 図 16) の上方にある三角マーク (Play ボタン ) を押すとシミュレーションがスタートします. 例えば, 図 17 のような画面が出ます. 図 16 と同じつなぎ方をしていれば, 黄色が目標値, 赤が実際の値です. 見にくい場合には, オシロスコープ画面の双眼鏡マークをクリックすると, オートスケールが効きます. 図 17 制御結果 ( ステップ応答の一例, これでは制御できていない ) 目標値を Ramp 入力に切り替えたいときは,Step のアイコンを選択して DEL キーを押して削除し,Simulink の中の Sources から Ramp をドラッグしてきます. これを,Step の代わりに接続すれば OK です.Play ボタンを押して, 波形を確認しましょう.( 図 18, 図 19) 図 18 Step 入力のアイコンを削除して
図 19 Ramp 入力を接続する sin 入力にしてみるのも面白いかも Simulink の画像を WORD に貼り付けたい場合には, 画像として取り込みたい Window を選択しておいて (Active にしておいて ), キーボードの [Fn] キーと [ALT] キーと [PrintScreen] キーを同時に押す. 後は WORD などの貼り付けたい場所に ctrl+v でペースト ( 貼り付け ) すれば良い.