|
カテゴリ:scilab
scilabの使い方第3回目です☆ 今回からは僕の本業であるXcosというものを使います。 前回、scilabでsin波のグラフを描きました。 あれはsin波のデータを用意しておいて、plot2dという命令でそのデータをプロットして描く、という作業でした。 Xcosというツールは、scilabに付属しているシミュレーションツールです。 シミュレーションといっても、言葉はよく聞くものの、実際どういうものかわからないと思います。 なので、百聞は一見にしかずという言葉どおり、実際にやってみましょう☆ 前回と同じsin波をXcosで描いてみます。 1)scilabを起動したら、メニューの「アプリケーション」-「Xcos」を選択します。 すると、次のようなパレットブラウザーと、 無題と書かれた真っ白な画面の2つが出てきます。 パレットブラウザーのことを「パレットウィンドウ」、 無題と書かれた真っ白な画面を「エディタウィンドウ」と呼びます。 2)次は、パレットから「sinusoid generator」というブロックをクリックし、 それをエディタウィンドウの上にドラッグドロップします。 すると、次の画面のようになると思います。 このようにしてブロックをエディタウィンドウに配置していきます。 3)同じく、パレットで「CLOCK_c」というブロックがあるので、それもエディタウィンドウに配置します。 4)次は、パレットの下の方にタブがあるので、「減る」と書かれたタブをクリックします。 (※「減る」は英語版の「sinks」を訳したものだと思います。実際何かを減らすためのブロックではありません。) すると、「CSCOPE」というブロックがあるので、それもまたエディタウィンドウに配置します。 5)以上の3つのブロックの配置ですが、後々のためにも下の画面のように配置するといいでしょう♪ 6)次はこれらのブロックをつなげていきます。 sinusoid generatorの右に出てる矢印からCSCOPEの左側の矢印へ CLOCK_cの下側に出てる矢印からCSCOPEの上側の矢印へ 色が異なっているのがわかると思います。 黒い色が信号の経路 赤い色が時間の経路 という感じです。 だから時計のブロックから赤い矢印が出ているわけです。 sinusoid generatorはsin波を作るブロックで、生成したsin波の信号を黒い矢印から出力している、ということです。 オシロスコープのようなCSCOPEのブロックは左側から入ってきたsin波の信号を上側の時計に合わせて、描きますというものです。つまり、sin波を入力するだけでは描く時間間隔が設定されていないので描いてくれないし、時間を入力するだけではもちろん描いてくれません。ブロックを矢印でつなぐことで、どんな信号をどんな時間間隔で描けばよいかを教えているわけです。 7)さて、これだけでシミュレーションの土台は完成です。この程度なら慣れれば1分もかかりませんね。 ではこのシミュレーションを開始するには、右矢印のアイコンがあるのでそれをクリックするか、「シミュレーション」-「開始」をクリックしてください。 すると、次のような画面になると思います。 左側にグラフィックウィンドウが作られて、sin波がどんどん描かれていってるはずです。 完成♪・・・と喜んでばかりではいられず、これではいつまでたってもシミュレーションが終わりません(゜o゜;; なので、エディタウィンドウの停止アイコンか「シミュレーション」-「停止」をクリックしてシミュレーションを中止しましょう。 なぜシミュレーションが延々と続いたかというと、実は初期設定ではシミュレーションを行う時間がめちゃめちゃ長く設定されてるんです。 なので、シミュレーション時間の設定を行います。 8)「シミュレーション」-「セットアップ」を選ぶと次のような画面が出てきます。 この画面の一番上の[Final integration time]というところがシミュレーションを実行する時間になってます。 初期設定はなんと100000になってます!笑 なので、これを10に変更します。 9)これだけでも大丈夫なんですが、せっかくなので、sin波の表示をもっと見やすくしましょう。 CSCOPE(オシロスコープのアイコン)をダブルクリックすると次のような画面が出てきます。 この中の[Ymin][Ymax][Refresh period]の3つをそれぞれ [Ymin]=-2 [Ymax]=2 [Refresh period]=10 に変更しましょう。[Ymin]と[Ymax]はわかる人も多いと思いますが、それぞれY軸の最小値、最大値です。[Refresh period]はX軸の最大値みたいなものです。 10)さて、ようやく完成です!シミュレーション開始してみると、次のような画面がでていれば成功です☆ Xcosはこんな感じで、ブロックをいくつか置いて、できる波形を見たり、いろんな計算を行うことができるんです。 パレットにいろんなブロックがあるなと感じてもらえたでしょうか?いろんなブロックを用いて複雑な計算とかもできるんです。 これくらいなら普通にscilabで描いたらいいんですが、これのメリットは視覚で理解できるところです。エディタウィンドウのブロックを見るだけで、このシミュレーションはsin波をオシロスコープで測定しているシミュレーションだ、というのが一目でわかりますよね。 シミュレーションってこんな感じなんです笑 また次回もXcosのシミュレーションをやっていきます♪ お気に入りの記事を「いいね!」で応援しよう
[scilab] カテゴリの最新記事
参考になりました!
次は、アニメーションブロックの追加する方法をお願いします。 (2010.10.22 15:46:49)
どういたしましてです。
まさか見てくれてる人がいるとは思ってなかったので、最近ほったらかしでした。 アニメーションブロックというと、デモであるボールが動くようなやつでしょうか?それとなるとかなり難しいですね。 それとも単純にx,yを入力するとそれに対応したような円を描くっていうものなら簡単ですよ。 (2010.10.25 19:16:49)
お返事ありがとうございます。
振り子のようなアニメーションを表示したいと思っています。scicosでそれをする本を読んだのですが、xcosでは出来ないので困っています。もしご存知でしたらご教授願います。 (2010.10.29 18:27:06) |