まずは画面の表示モードを変更します。デフォルトでは more off なので、 出力が多いと画面情報へ流れていってしまいます。 more on としておけば 1画面分の結果が表示されたところで画面がいったん止まります。 1行進ませるにはリターンキー、1画面分進めるにはスペースキーを押します。 途中で終えるには q と入力してください >> more on >> more off コマンドを調べるには help を使います。 help とすれば使えるコマンドが 分類されて表示されます。分類 general に属するコマンドが知りたければ help general, more コマンドについて知りたければ more help のように入力します。 >> help HELP topics: matlab\general - 一般的なコマンド matlab\ops - 演算子と特殊キャラクタ matlab\lang - 制御フロー matlab\elmat - 基本行列と行列操作 matlab\elfun - 初等数学関数 matlab\specfun - matlab\matfun - 行列関数- 線形数値代数 matlab\datafun - データ解析とフーリエ変換 matlab\audio - オーディオサポート matlab\polyfun - 補間と多項式 matlab\funfun - 関数を引数とする関数とODEソルバ matlab\sparfun - スパース行列 matlab\graph2d - 2次元グラフ matlab\graph3d - 3次元グラフ matlab\specgraph - 特殊グラフ matlab\graphics - ハンドルグラフィックス matlab\uitools - グラフィカルユーザインタフェースツール matlab\strfun - キャラクタ文字列 matlab\iofun - ファイルの入出力 matlab\timefun - 時間と日付 matlab\datatypes - データタイプと構造体 matlab\verctrl - Version control. matlab\winfun - Windows オペレーティングシステムインタフェースファイル (DDE/ActiveX) matlab\demos - 例題とデモ toolbox\local - 環境設定 toolbox\symbolic - Symbolic Math Toolbox. matlabR12\work - (No table of contents file) For more help on directory/topic, type "help topic". >> help ops 演算子と特殊キャラクタ 数値演算子 plus - 加算 + uplus - 単項加算 + minus - 減算 - uminus - 単項減算 - mtimes - 行列の乗算 * times - 配列の乗算 .* mpower - 行列のベキ乗 ^ power - 配列のベキ乗 .^ mldivide - バックスラッシュ、行列の左除算 \ mrdivide - スラッシュ、行列の右除算 / ldivide - 配列の左除算 .\ rdivide - 配列の右除算 ./ kron - Kroneckerのテンソル積 kron 比較演算子 eq - 等しい = = ne - 等しくない ~ = lt - より小さい < gt - より大きい > le - より小さいまたは等しい < = ge - より大きいまたは等しい > = 論理演算子 and - 論理積 & or - 論理和 | not - 否定 ~ xor - 排他的論理和 any - ベクトルに非ゼロ要素があるかどうかのテスト all - ベクトルのすべての要素が非ゼロであるかどうかのテスト 以下、省略。 >> help more MORE コマンドウィンドウへのページ出力の制御 MORE OFFは、MATLABコマンドウィンドウへのページ出力の制御を行いません。 MORE ONは、MATLABコマンドウィンドウへのページ出力の制御を行います。 MORE(N)は、ページのサイズとしてN行を指定します。 MOREが使用可能で、出力がページ制御されているときには、RETURNキーを押し て、つぎの出力行に進んでください。つぎのページに進むには、スペースバー を押してください。現在の表示を終了するには、"q"を押してください。 メニューバーからヘルプ (H) を起動してチュートリアルをみることもできます。 >> helpwin とすれば説明ウィンドウが表示されるので、それで必要な項目を マウスで選択・ダブルクリックすればよい。 >> demo demo と入力すれば MATLAB のデモが見られます MATLAB が扱うのは実数(正確には倍精度浮動小数点数)です。整数も内部では 実数として扱われています。数値の内部表現をみるには >> pi ans = 3.1416 >> format long >> pi ans = 3.14159265358979 >> format hex >> 2.0 ans = 4000000000000000 とします。long は 15 桁、 hex は 16 進数で表示します。標準に戻すには format short または format と入力します。 pi, realmin, realmax, eps などの特殊な数もあります。 数、横ベクトル、縦ベクトル行列の入力は以下のようにします。 b=0; のように行末にコロン ; をつけると結果は表示されません。 横ベクトルは c=[ 0 0.5 1] のように入力します。ベクトル・行列を入力する際は かぎかっこ [ ] を使います。グラフを書くときなど、 0 から 0.5 おきに 1.0 まで というときには 0:0.5:1.0 のように初期値、増分、終値をコロン : で 区切って書きます。結果は横ベクトルになります。 縦ベクトルや行列など、次の行のデータを入力する場合はセミコロン ; で区切ります。 = の左辺がない場合は、 ans という変数に格納されます。 help ops の例で示した演算子を組み合わせた式なども同様に入力します。 転置演算子 ' ダッシュを利用して横ベクトルと縦ベクトルの変換もできます。 >> a=1 a = 1 >> b=2; >> c=0:0.5:1 c = 0 0.5000 1.0000 >> d=[1;2;3] d = 1 2 3 >> d' ans = 1 2 3 現状の作業領域にどのような変数が作られているかの一覧を調べるには who, whos を使います。それらの変数の内容をみるには変数名を入力します。 >> who Your variables are: a b c d >> whos Name Size Bytes Class a 1x1 8 double array b 1x1 8 double array c 1x3 24 double array d 3x1 24 double array Grand total is 8 elements using 64 bytes これから、関数の計算をしましょう。現状の作業領域にどのような変数が >> x=0:0.1:3; >> y=sin(x); >> plot(x,y); のようにすれば、 x には 0 から 0.1 刻みで 3.0 までの値 31 個からなる 横ベクトルができます。 y には sin(x) に対応した同じく 31 個の要素の 横ベクトルができます。これをグラフに表示するには plot(x,y); のように します。 plot の結果は別ウインドウとして次のように表示されます。ファイルへ保存、プリント、キャプションをつける、グラフを回転するなどの 操作はウインドウのメニューでできます。 横ベクトル x に対して x^2 を計算するには x.^2 とします。 x の直後に ピリオド . があることに注意してください。 MATLAB でプログラムを作るなら、 xxx.m という M-ファイルに一連の 手続きを記述します。 % から始まる行はコメントです。あとは MATLAB の コマンドをならべるだけです。下の例では、 A, alpha を受け取って 計算をする gyaku という関数が定義されています。 while を除けば、 これまでの説明で十分に理解できる内容のはずです。 xxx.m の内容: function gyaku(A,alpha) % Compute Eigenvalue by Inverse Iteration Method % for Numerical Analysis at Chiba University % H. Hasegawa; 1999, Jan. 10 I = eye(5); xx = rand(5,1); k= 0; res =1; while ( res > 1.0e-12) k = k+1; x = xx/norm(xx,2); xx = (A-alpha*I) \ x; mu = x'*xx; res = norm(xx-mu*x,2); lambda = alpha+1/mu; out = [k lambda res]; disp(out) end これを実行するには、MATLAB のウインドウでファイル (F), 開く (O) と 選択し、エディタのウインドウが開いたらデバッグ (D), 実行 (R) とします。 what で用意されている M-ファイルの一覧、help gyaku1 としたとき、 関数 gyaku1 のコメント部分( % から始まる行)が表示されます。 入力方法と出力の受け取り型に少しだけ工夫が必要です。 現在のディレクトリにあるファイルの一覧、あるいは M-ファイルの一覧を みるには ls, what などを使います。 >> ls . Errors.doc NA1999.xls gyaku1.m .. F.doc Report2.doc loop.m Chiba1.doc F0201 eigshow.bmp E.doc F0202 gyaku.m >> what M-files in the current directory C:\Documents and Settings\??? gyaku gyaku1 loop >> help gyaku1 Compute Eigenvalue by Inverse Iteration Method for Numerical Analysis at Chiba University H. Hasegawa; Jan. 10, 1999 2変数関数のグラフ(のごく初歩)
2001年06月14日 21時18分35秒