- ベストアンサー
MATLABの使い方に関する質問
- MATLABの使い方について質問があります。
- 質問:MATLABで関数とスクリプトを一つのファイルに保存する方法はありますか?
- 質問:MATLABで複数のファイルを一つのプロジェクトファイルにまとめて保存することは可能ですか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
(1)・MATLABはスクリプトと関数を別のmファイルに記述して保存しますが、... No.2の回答参照(はじめて知りました。) (2)・プログラムを更新するごとにバックアップを取ることで、何か不具合があっても元に戻せるようにしているのですが... CVSやSubVersionのような外部プログラム(ソースコード管理システム)を私は利用しています。 matlabから利用する方法もあるようです。 詳細は、<http://www.mathworks.co.jp/support/solutions/ja/data/1-CM8BCM/index.html?solution=1-CM8BCM> (3)・エディターを開いた状態でメインウインドウをクリックすると... No.1,2の回答を参照 (4)・セミコロン無しでプログラムを書くとコマンドライン上でそれらの値が表示されます。... 3つほど。 a. format compactを使う。No.2と同じ (最も手間が無いが、書式は決まっている。) b. disp();を使う。 (画面への表示を明示できる。変素名が出ないなど違いがあり、少し手間がいる。) c. fprintf()を使う。(一番自由度が高いが、使うのも手間もいる。ファイルへ書き出すときの変更点がすくない。)
その他の回答 (2)
- Kules
- ベストアンサー率47% (292/619)
(1)私もこれは出来ないと思っていた(関数を別ファイルにすることは出来るが、先頭の関数しか呼び出せないと思っていた)んですが、探してみると http://www.mathworks.com/matlabcentral/newsreader/view_thread/160868 こんなのを見つけました。 ここでしているのは、 ・メイン関数(先頭の関数)で、サブ関数のハンドルを取得する ・サブ関数にしたい処理を書く というものだそうです。 例えば、 関数test.m中で function h=test h.sub1=@sub1; h.sub2=@sub2; function varargout=sub1(vargargin) したい処理 function varargout=sub2(vargargin) したい処理 のようにしておいて、 スクリプトmain.mで(関数でもいいけど) h=test; [~]=h.sub1(~); のようにすればサブ関数を外から使うことができるようです。 あるいはassigninを使うと言う手もあるかと思います。 (h.をつけなくていいので、本当にcとかのincludeを使っている感じになります) ただまあそもそも論として「関係ない関数を1つのファイルにする」とかはしない方がいいと思います。 (2)はちょっとよく分からないですが、C:\program files\matlab\~ のバージョンで固まってるファイルをどっかに保存すると言うことでしょうか? (3)は先の方も書かれているように、エディタをメインウィンドウにドックするのがいいかと。 (4)改行を全くなくすことはできませんが、2行出てしまうのを1つにするのはformat('compact')で実現可能です。 xxx= 12345 のようになります。 参考になれば幸いです。
- rabbit_cat
- ベストアンサー率40% (829/2062)
1.NO 2.NO 3.エディタをメインウインドウにドッキングさせることは可能だけど 4.NO