2023年2月11日土曜日

MATLAB 入門チュートリアル

 MATLAB 入門チュートリアル

1. MATLABの基礎知識

1-1. 基本操作と機能

MATLAB で基本的な数学演算を実行するには、プロンプト番号 ( >> ) の直後に計算式を入力し、Enter キーを押します。 例えば:   

>> (5*2+1.3-0.8)*10/25

ans=4.2000

MATLAB は、MATLAB 演算後の答え (Answer) を表す変数 ans に演算結果を直接格納し、その値を画面に表示します。

ヒント: ">>" は MATLAB のプロンプト シンボル (Prompt) ですが、PC の中国語ウィンドウ システムでは、エンコード方法が異なるため、このプロンプト シンボルはしばしば消えますが、MATLAB の計算結果には影響しません。

上記の式の結果を別の変数 x に設定することもできます。

x = (5*2+1.3-0.8)*10^2/25

x = 42

この時点で、MATLAB は x の値を直接表示します。 上記の例から、MATLAB は一般的に使用される加算 ( + )、減算 ( - )、乗算 ( * )、除算 ( / )、累乗 ( ^ ) のすべての数学演算記号を理解できることがわかります。

ヒント: MATLAB はすべての変数を double として格納するため、変数を宣言する必要はありません (変数宣言)。 同時に、MATLAB は、C 言語のようにユーザーが 1 つずつメモリを指定するのではなく、自動的にメモリを使用および再利用するため、MATLAB は学習と使用が容易であり、ユーザーはプログラムの作成に専念できます。ソフトウェアに取りつかれている. 問題に干渉されている.

MATLAB に毎回計算結果を表示させたくない場合は、次の例のように、計算式の最後にセミコロン (;) を追加します。

y = sin(10)*exp(-0.3*4^2);

変数 y の値を表示するには、単に y と入力します。

>>y

y=-0.0045

上記の例では、sin は正弦関数、exp は指数関数であり、MATLAB で一般的に使用される数学関数です。

次の表は、MATLAB で一般的に使用される基本的な数学関数と三角関数です。

小仕上げ: MATLAB で一般的に使用される基本的な数学関数

abs(x) : スカラーの絶対値またはベクトルの長さ

angle(z) : 複素数 z の位相角

sqrt(x) : 平方根

real(z) : 複素数 z の実部

imag(z) : 複素数 z の虚部

conj(z) : 複素数 z の複素共役

round(x) : 最も近い整数に丸めます

fix(x) : 正負に関係なく、小数点以下を四捨五入して最も近い整数にします

floor(x) : フロア関数、つまり、正の小数を最も近い整数に丸める

ceil(x) : 天井関数、つまり最も近い整数に正の小数を加算する

rat(x) : 実数 x を分数表現に変換します

rats(x) : 実数 x を多項分数展開に変換します

sign(x) : 符号関数。

x<0 の場合、sign(x)=-1;

x=0 の場合、sign(x)=0;

x>0 の場合、sign(x)=1。

> 整理: MATLAB で一般的に使用される三角関数

sin(x) : 正弦関数

cos(x) : コサイン関数

tan(x) : 正接関数

asin(x) : 逆正弦関数

acos(x) : 逆余弦関数

atan(x) : 逆正接関数

atan2(x,y) : 四象限逆正接関数

sinh(x) : 超越正弦関数

cosh(x) : 超越余弦関数

tanh(x) : 超越正接関数

asinh(x) : 逆超越正弦関数

acosh(x) : 逆超越コサイン関数

atanh(x) : 逆超越正接関数

変数を使用して、ベクトルまたは行列を格納し、次の例の列ベクトル (行ベクトル) 操作などのさまざまな操作を実行することもできます。

x = [1 3 5 2];

y = 2*x+1

y = 3 7 11 5

ヒント: 変数の命名規則

1. 最初の文字は英字でなければなりません 2. 文字間にスペースを入れることはできません 3. 最大 19 文字まで使用でき、MATLAB は余分な文字を無視します

ベクトルの要素を自由に変更、追加、または削除できます。

y(3) = 2 % 3 番目の要素を変更

y =3 7 2 5

y(6) = 10 % 6 番目の要素を追加

y = 3 7 2 5 0 10

y(4) = [] % 4 番目の要素を削除し、

y = 3 7 2 0 10

上記の例では、MATLAB はパーセント記号 ( % ) の後のすべてのテキストを無視するため、パーセントの後のテキストはプログラムのコメント (Comments) と見なすことができます。 MATLAB は、操作のために要素またはベクトルの一部を取り出すこともできます。

x(2)*3+y(4) % x の 2 番目の要素と y の 4 番目の要素を取得して演算を実行します

ans = 9

y(2:4)-1 % y の 2 番目から 4 番目の要素を取り出して演算

ans = 6 1 -1

上記の例では、 2:4 は 2 、 3 、 4 のベクトルを表します

 

MATLAB 関数の使用法について質問がある場合は、いつでもヘルプを使用してオンライン サポートを求めることができます (オンライン ヘルプ): help linspace

小仕上げ: MATLAB クエリ コマンド

help : 既知のコマンドの使用方法を照会するために使用されます。 たとえば、inv は逆行列の計算に使用されることが知られており、help inv と入力すると inv コマンドの使用法を知ることができます。 (help help と入力すると、ヘルプの使用法が表示されます。試してみてください!) lookfor: 未知のコマンドを見つけるために使用します。 たとえば、逆行列を計算するコマンドを検索する場合、lookfor inverse と入力すると、MATLAB はキーワード inverse に関連するすべてのコマンドを一覧表示します。 必要なコマンドが見つかったら、ヘルプを使用して、その使用方法をさらに調べることができます。 (lookfor は実際には、検索パスの下にあるすべての M-ファイルを最初のコメント行とキーワードで比較します。詳細については後述します。)

列ベクトルが転置された後 ( Transpose )、行ベクトル ( Column vector ) を取得できます。

z = x'

z = 4.0000

    5.2000

    6.4000

    7.6000

    8.8000

    10.0000

行ベクトルでも列ベクトルでも、同じ関数を使用して要素数、最大値、最小値などを見つけることができます。

length(z) % z の要素数

ans = 6

max(z) % z の最大値

ans = 10

min(z) % z の最小値

ans = 4

小さな整理: ベクトルに適用できる一般的な関数は次のとおりです。

min(x): ベクトル x の要素の最小値

max(x): ベクトル x の要素の最大値

mean(x): ベクトル x の要素の平均

median(x): ベクトル x の要素の中央値

std(x): ベクトル x の要素の標準偏差

diff(x): ベクトル x の隣接要素の差

sort(x): ベクトル x の要素を並べ替える (並べ替え)

length(x): ベクトル x の要素数

norm(x): ベクトル x のユークリッド長

sum(x): ベクトル x の要素の合計

prod(x): ベクトル x の要素の総積

cumsum(x): ベクトル x の要素ごとの累積和

cumprod(x): ベクトル x の累積要素と総積

dot(x, y): ベクトル x と y の内積

cross(x, y): ベクトル x と y の外積 (ほとんどのベクトル関数は行列でも機能します。以下を参照してください。)

 

 

行列を入力するには、次の例のように、各列をセミコロン (;) で終了する必要があります。

A = [1 2 3 4; 5 6 7 8; 9 10 11 12];

A =

1 2 3 4

5 6 7 8

9 10 11 12

同様に、行列に対してさまざまな操作を実行できます。

A(2,3) = 5 % 2 列目と 3 行目にある要素の値を変更します

A =

1 2 3 4

5 6 5 8

9 10 11 12

B = A(2,1:3) % 行列 B の一部を取る

B = 5 6 5

A = [A B'] % B を A に行ベクトルとして転置します。

A =

1 2 3 4 5

5 6 5 8 6

9 10 11 12 5

A(:, 2) = [] % 2 行目を削除 (: はすべての列を表します)

A =

1 3 4 5

5 5 8 6

9 11 12 5

A = [A; 4 3 2 1] % 4 番目の列を結合します

A =

1 3 4 5

5 5 8 6

9 11 12 5

4 3 2 1

A([1 4], :) = [] % 1 番目と 4 番目の列を削除します (: すべての行を表します)

A =

5 5 8 6

9 11 12 5

これらのいくつかのマトリックス処理方法は、工夫と創造性に応じて、さまざまな予期しない効果を生み出すために繰り返し使用できます。

ヒント: MATLAB の内部データ構造では、各行列は列方向の配列 (Array) であるため、行列要素にアクセスするには、1 次元または 2 次元のインデックス (Index ) を使用してアドレス指定できます。 たとえば、上記の行列 A では、2 列目と 3 行目の要素は、A(2,3) (2 次元インデックス) または A(6) (1 次元インデックス) として記述できます。つまり、すべての直線行を積み重ねた後、 の 6 番目の要素)。

さらに、行列を再形成するには、reshape コマンドを使用します。

B = reshape(A, 4, 2) % 4 は新しい行列の列数、2 は新しい行列の行数

B =

5 8

9 12

5 6

11 5

ヒント: A(:) は、行列 A の各列を積み重ねて行ベクトルを形成します。これは、MATLAB 変数の内部ストレージ メソッドでもあります。 前の例を使用すると、reshape(A, 8, 1) と A(:) はどちらも 8x1 行列を生成します。

コマンドがコンマまたはセミコロンで区切られている限り、MATLAB は同時に複数のコマンドを実行できます。

x = sin(pi/3); y = x^2; z = y*10,

z =

7.5000

算術演算が長すぎる場合は、次の行に 3 つのピリオドを付けて拡張します。

z = 10*sin(pi/3)*...

罪 (pi/3);

現在ワークスペースにある変数を表示するには、who と入力します。

WHO

あなたの変数は次のとおりです。

テストファイル x

これらはユーザー定義変数です。 これらの変数の詳細を知るには、次のように入力します。

だれの

名前 サイズ バイト クラス

2x4 64 double 配列

B 4x2 64 ダブル配列

ans 1x1 8 二重配列

x 1x1 8 ダブル配列

y 1x1 8 二重配列

z 1x1 8 二重配列

総計は 160 バイトを使用して 20 要素です

clear を使用して、ワークスペース内の変数を削除します。

クリアA

??? 未定義の関数または変数 'A'。

さらに、MATLAB にはいくつかの永続定数 (永続定数) があります。それらはワークスペースには表示されませんが、ユーザーは直接アクセスできます。次に例を示します。

p

ans = 3.1416

次の表は、MATLAB で一般的に使用される永久定数です。

片付け: MATLAB の永久定数 i または j: 基本虚数単位

eps : システムの浮動小数点 (浮動小数点) 精度

inf : 1/0 nan や NaN などの無限大 : 0/0 などの非数 (非数)

pi : pi 比率 p ( = 3.1415926... )

realmax: システムが表現できる最大値

realmin: システムが表現できる最小値

nargin: 関数の入力引数の数

nargin: 関数の出力引数の数

   1-2. 繰り返しコマンド

最小限の

0 件のコメント:

コメントを投稿