行列計算の基礎(II) コードの流れの制御

1. 条件による制御:if 文

構文

if 条件式
    実行コード(条件式が真の場合)
else
    実行コード(条件式が偽の場合)
end

以下の例文では、score = 30, 50,70,80,100に代入して結果を確認してください。

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

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

構文

for x = ある配列
    実行コード
end

以下の例文では、kを1から10まで1ずつの整数の値を使って、計算式の処理を繰り返します。 また、それぞれのkの値を足して、その結果をsumという変数に格納します。

forのループの終了

コードの実行の流れを制御するfor文のループを途中で終了したい場合、breakを使います。 例えば、以下の例では、sumが100に超えると、ループが終了します。

演習1

100以内の奇数の和を計算してください。

2. 繰り返しの計算:while文

while文は、継続条件を指定し、不定回数を繰り返しを行います。

構文

while 条件式
    実行コード
end

while文を途中で終了する場合、break文を使用します。¶

例: 卒業要件124単位と取るまでに、授業を履修して単位と取ること

 total_unit = 0
 while total_unit < 124 
    unit = randi(8);
    total_unit = total_unit + unit;
 end

ここで、randi(n) はnまでの正の整数(即ち、$1,2,\cdots, n$)から疑似乱数を返す。

上記の例では、総単位数が124になるまでに、単位を繰り返し取っています。

演習2

「1からnまでの整数の2乗の和が50に超える」と満たす最小のnを求めよ。即ち、 $$ \sum_{i=1}^{n-1} i^2 \le 50, ~~ \sum_{i=1}^n i^2 > 50 $$ を満たす$n$を計算する。