Contents


関数中でエラーが起きてプログラムが止まった際に、
関数内部の変数の値が参照できません。表示する方法
はあるんでしょうか?

Matlabの関数内部でエラーが起こった場合、
workspaceが強制的にベースに戻されてしまいます。
その時点で関数内部のworkspaceを参照することは
できなくなると思います。
もし、どうしても参照したい場合は、

function FNAME(b,c)
try
%関数の中身
catch
lasterr
keyboard;
end

として、エラーが起こったときに、
その関数内部でkeyboardコマンドを実行し、
キーボード入力を待つようすれば、
エラーが起こった関数のworkspace内部の変数を
参照することができます。
(morimo) 2006-11-21 14:28:59

複数行のコメントをする方法はありますか?

Cの/* */見たいなもののことでしょうか。
私の知る限りではありません。
複数行選んでCtrl+Rでやるしかないでしょう。
(morimo) 2006-11-27 14:32:35

複数行のコメントをする方法について、以前に質問があたようなのでちょっとだけ。
%{
なんか文
%}
というようにやればハサマレタ部分が全てコメントアウトできまふ。
ただし、%{ の後ろに何も書いてはいけません。%}の前や後ろに何も書いてはダメらしいです。
(ぁゃιぃが起源だ!) 2007-06-12 20:49:11

関数で参照渡しは出来ますか?

残念ながらできないようです。
ただし最新バージョンのMatlabでは、
x=functionA(x);
というように引数の変数がすぐに戻り値で上書きされる場合のみ
参照渡しになるようです。
(ただしこれはメモリーの節約のためであって、
関数の中でxを書き換えるためではありません。)
(morimo) 2006-11-27 14:32:35


mファイルを実行した時に、logを吐き出すような設定が出来ますか?また、変更点をログにかけるような設定にできますか?なければ教えてください。

matlabのファイル-設定-エディタ・デバッガの自動保存というところを開くと、実行したmfileが、そのmfileの名前のまま保存されてます。にゅろにゅろ.asv
という形で保存されてます。matlabのhelpに詳しく書いてあります。ただし、実行するたびに書き換わるので、気をつけてください。
(以下、名無しにかわりましてVIPがお送りします) 2007-06-16 15:34:27

Matlab起動時にオプションをつけるとログを残せます。
matlab -logfile filename
コマンドウインドウへの出力とクラッシュレポートがファイルに出力されます。
(キムワイプ) 2007-06-16 16:09:06

Diaryなんかもありますよー。Diaryはコマンドウィンドウへの入出力だけログにとります。
(Mのない世界) 2007-06-17 01:44:38


名前:
コメント:

すべてのコメントを見る
最終更新:2009年01月07日 23:38