MATLABとは

MATLAB(マトラボ)は、アメリカのMathWorks社が開発している数値解析ソフトウェア(有料)であり、多くの技術者や科学者が科学計算に使用されています。

また、MATLAB自身は特有の言語をもって、MATLAB言語という名称もあります。MATLAB言語を対応している無料のソフトも多数あります。 例えば、Scilab、GNU Octave、FreeMatなどのソフトの文法はMATLAB言語の文法は非常によく似ています。MATLABの言語で書いたコードをそのままで他のソフトで実行できることもあります。

本授業はGNU Octave(グヌー・オクターブ)を使って、MATLABのプログラミングを行います。

1. 変数と出力

Fortran言語やC言語とは違い、変数のデータ型を宣言しなくでも使えます。 例えば、以下のコードで「a」、「b」、「c」という名前の変数を作成します。ここで、aは小数、bは文字列、cは配列です。

また、数値のある変数はディフォールトで倍精度の不動点小数です。即ち、変数の値は64bitに対応しています。

MATLAB言語の数値型のリストはこのページで確認できます。https://jp.mathworks.com/help/matlab/numeric-types.html

また、$\pi$, $e$等よく使用される数学の定数は用意されています。虚数単位はiとjになります。

変数の出力

コードは一行づつ実行されます。各行の終わりに、「;」がある場合、その行の計算結果が表示されていません。「;」が付いてない場合、値が表示されます。

また、displayを使って、変数の値の表示することができます。指定されるフォマットで表示する場合、printf()を使います。

printfのフォマットの設定では、「%d」が整数、「%s」が文字列、「%f」が小数に対応してます。

【演習1】

変数における関数の値

以下のコードで、変数$x$における$x^2$, $\sin(x)$, $\exp(x)$,$\log(x)$の関数の値を求めています。

2. 配列

配列は同じデータ型の数値の集まりです。以下の例で配列の作成ができます。

また、配列の成分の値の修正、成分の追加と削除などの操作ができます。

3. 曲線の描画

配列を利用して、曲線の描画ができます。

以下の手順に従って、$x\in [0,2\pi]$における曲線y=sin(x)の描画ができます。

plotの文法

【演習2】

以下の性質を持っている数列 {Fn} はフィボナッチ数列(フィボナッチすうれつ、Fibonacci sequence)と呼ばれます。

$n=10$までのフィボナッチ数列に対応しているMATLABの配列Fを作って、グラフを描画してください。

4. 繰り返しの計算:for 文

繰り返すの計算はfor文を使います。

以下の例文1では、kを1から10まで1ずつの整数の値を使って、計算式の処理を繰り返します。

例文1:

sum=0;
for k=1:10
  sum = sum +k;
  printf("1から %d までの整数の和は %d です。\n", k, sum ); 
end
</blockquote> 上記のコードは1から10までの整数を足して、その結果をsumという変数に格納します。

【演習3】

for文を利用して、n=100までのフィボナッチ数列の配列Fを作って、グラフを描画してください。

【演習4】

以下のコードでは、$a_n=(1+\frac{1}{n})^n$の数列のグラフを描いています。

この例をまねって、数学の微分積分の授業で学んだ数列3つを選んで、数列のグラフを描いてください。