MyEnigma

とあるエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

MATLABのシミュレーション終了を知る.

MATLABのシミュレーションは長くなりがちです.

自分も去年の今頃行っていたシミュレーションが一回のシミュレーションが終わるまで,約2日かかりました.

自分の知り合いの猛者には一週間という奴もいます.


さすがに,何日という単位のシミュレーションの場合,研究室の使っていないPCにシミュレーションを仕掛けて放置することが多いですが,

数時間というシミュレーションの場合,そのシミュレーションを後ろで走らせながら,論文を書いたり,論文を読んだりネットサーフィンをしたりします.

しかし,そうゆう時は,なぜかシミュレーションが気になって,仕方ないものです.

少し,論文を書いて,MATLABの「busy」という文字を見て,もしかして計算が発散しているのではないかと不安になり,

でもシミュレーションを止めて結果を確認するわけにはいかず,そして疑心暗鬼のまま論文に戻る.

なんて不健康な行為なのでしょうか?(笑)


例えばシミュレーションのループ回数が決まっている場合は,そのループ数と今のループ数から残りのループ数を計算して,

残りの割合を表示させてやれば良いと思います.(例えば残り30%など)


しかし,自分の研究のように最適化問題を計算する際には正直いって後どれくらいでシミュレーションが終了するのかはあまりわかりません.

(まぁ,収束の具合などで判断すれば良いのですが)

なので,そこは我慢して待つ事にして,終わった瞬間に自分に知らせることを考えました.


一つはシミュレーションが終わった時にピープ音を鳴らすというものです,

MATLABの関数でbeepというものがあります.

この関数をシミュレーションの最後に仕掛けてやれば,終わった瞬間に

「プー」

といった可愛い音で教えてくれます.

このようにすれば,MATLABのシミュレーションが終わったかどうかをいちいち心配しなくても良くなります.


二つ目は,シミュレーションが終わったことをメールで知らせるという方法です.

詳しい方法は以下のページに書いてあります.
http://sach1o.blog80.fc2.com/blog-entry-97.html

実際に自分は大学のメールアカウントを使用して自分の携帯にメールを送らせてみた事があります.

ちゃんとメールが自分の携帯に送られました.

この方法をうまく使用すれば,シミュレーション結果をグラフにして,それをjpgかなんかにして,

一緒にメールで送れるかもしれませんね.(笑)

まぁ,そこまでやる元気はありませんが.