Matlab-variables
MATLAB-変数
MATLAB環境では、すべての変数は配列または行列です。
変数を簡単な方法で割り当てることができます。 例えば、
x = 3 % defining x and initializing it with a value
MATLABは上記のステートメントを実行し、次の結果を返します-
x = 3
_x_という名前の1行1列の行列を作成し、その要素に値3を格納します。 別の例を確認してみましょう。
x = sqrt(16) % defining x and initializing it with an expression
MATLABは上記のステートメントを実行し、次の結果を返します-
x = 4
次のことに注意してください-
- 変数がシステムに入力されると、後で参照できます。
- 変数は、使用する前に値を持っている必要があります。
- 式が変数に割り当てられていない結果を返す場合、システムはそれをansという名前の変数に割り当てます。これは後で使用できます。
例えば、
sqrt(78)
MATLABは上記のステートメントを実行し、次の結果を返します-
ans = 8.8318
この変数を使用できます ans -
sqrt(78);
9876/ans
MATLABは上記のステートメントを実行し、次の結果を返します-
ans = 1118.2
別の例を見てみましょう-
x = 7 *8;
y = x* 7.89
MATLABは上記のステートメントを実行し、次の結果を返します-
y = 441.84
複数の割り当て
同じ行に複数の割り当てを持つことができます。 例えば、
a = 2; b = 7; c = a * b
MATLABは上記のステートメントを実行し、次の結果を返します-
c = 14
変数を忘れてしまいました!
*who* コマンドは、使用したすべての変数名を表示します。
who
MATLABは上記のステートメントを実行し、次の結果を返します-
Your variables are:
a ans b c
*whos* コマンドは変数についてもう少し表示します-
- 現在メモリにある変数
- 各変数のタイプ
- 各変数に割り当てられたメモリ
- 複雑な変数であるかどうか
whos
MATLABは上記のステートメントを実行し、次の結果を返します-
Attr Name Size Bytes Class
==== ==== ==== ==== =====
a 1x1 8 double
ans 1x70 757 cell
b 1x1 8 double
c 1x1 8 double
Total is 73 elements using 781 bytes
*clear* コマンドは、すべての(または指定された)変数をメモリから削除します。
clear x % it will delete x, won't display anything
clear % it will delete all variables in the workspace
% peacefully and unobtrusively
長い課題
長い割り当ては、省略記号(…)を使用して別の行に拡張できます。 例えば、
initial_velocity = 0;
acceleration = 9.8;
time = 20;
final_velocity = initial_velocity + acceleration * time
MATLABは上記のステートメントを実行し、次の結果を返します-
final_velocity = 196
formatコマンド
デフォルトでは、MATLABは小数点以下4桁の数値を表示します。 これは*ショートフォーマット*と呼ばれます。
ただし、より正確にしたい場合は、 format コマンドを使用する必要があります。
*format long* コマンドは、10進数の後に16桁を表示します。
たとえば-
format long
x = 7 + 10/3 + 5 ^ 1.2
MATLABは上記のステートメントを実行し、次の結果を返します。
x = 17.2319816406394
もう一つの例、
format short
x = 7 + 10/3 + 5 ^ 1.2
MATLABは上記のステートメントを実行し、次の結果を返します-
x = 17.232
*format bank* コマンドは、数値を小数点以下2桁に丸めます。 例えば、
format bank
daily_wage = 177.45;
weekly_wage = daily_wage * 6
MATLABは上記のステートメントを実行し、次の結果を返します-
weekly_wage = 1064.70
MATLABは、指数表記を使用して大きな数値を表示します。
*format short e* コマンドを使用すると、小数点以下4桁に指数を加えた指数形式で表示できます。
例えば、
format short e
4.678 * 4.9
MATLABは上記のステートメントを実行し、次の結果を返します-
ans = 2.2922e+01
*format long e* コマンドを使用すると、小数点以下4桁に指数を加えた指数形式で表示できます。 例えば、
format long e
x = pi
MATLABは上記のステートメントを実行し、次の結果を返します-
x = 3.141592653589793e+00
*format rat* コマンドは、計算の結果として最も近い有理式を提供します。 例えば、
format rat
4.678 * 4.9
MATLABは上記のステートメントを実行し、次の結果を返します-
ans = 34177/1491
ベクターの作成
ベクトルは、数値の1次元配列です。 MATLABは、2種類のベクトルを作成することができます-
- 行ベクトル
- 列ベクトル
- 行ベクトル*は、要素のセットを角括弧で囲み、スペースまたはコンマを使用して要素を区切ることによって作成されます。
例えば、
r = [7 8 9 10 11]
MATLABは上記のステートメントを実行し、次の結果を返します-
r =
7 8 9 10 11
もう一つの例、
r = [7 8 9 10 11];
t = [2, 3, 4, 5, 6];
res = r + t
MATLABは上記のステートメントを実行し、次の結果を返します-
res =
9 11 13 15 17
- 列ベクトル*は、要素を区切るためにセミコロン(;)を使用して、要素のセットを角括弧で囲むことによって作成されます。
c = [7; 8; 9; 10; 11]
MATLABは上記のステートメントを実行し、次の結果を返します-
c =
7
8
9
10
11
行列の作成
マトリックスは、数値の2次元配列です。
MATLABでは、各行をスペースまたはコンマで区切られた要素のシーケンスとして入力することで行列が作成され、行の終わりはセミコロンで区切られます。 たとえば、次のように3行3列の行列を作成します-
m = [1 2 3; 4 5 6; 7 8 9]
MATLABは上記のステートメントを実行し、次の結果を返します-
m =
1 2 3
4 5 6
7 8 9