1

私たちが知る必要のある声明については知らされており、これが彼らが何をしているのかに対する私の答えです。私がどこかで間違っている場合は修正してください。また、必要になる可能性のあるより高度なステートメントをどのように学習するか教えて.*ください.^

%  Mini-Matlab:
%  =============
% 
%  Find out what these statements do!
%  Then you can write a Matlab-program.

% "%" starts a Matlab comment

x=[2 3]

上記は配列のようなもので、ステートメントの後にメモリに存在するベクトルです。

y=[4 5]'

これは列ベクトルです。

A=[x; y']

セミコロンは行列の行を区切ります。

B=sin(A)

これは通常の数学関数のようなものです。

z=x.*y'

これも古典的な数学/CSの関数のようなものです。

c=A\y

これは重要であり、方程式系を解決しますが、どれですか? 元の式はどのように記述されていますか? 上記は Ay=c を解決しますか? ご指定ください。

a='Hej'

上記は、他のコンピューター言語と同様に単なる変数です。

a(2)='a'

上記は、ベクトル a の 2 番目の要素を文字列 'a' に設定します。

v=3:2:9

上記は、ステップ 2 で 3 から 9 までのベクトルを構築します。

w=5:3:15

上記は、ステップ 3 で 5 から 15 までのベクトルを構築します。

t=0:0.05:10;

t は、0 から 10 までの 0.05 刻みのベクトルになります。

f=t.*exp(2*t);

これは通常の関数定義と同じです。

plot(t,f)

これは、関数を y 軸にプロットし、t を x 軸にプロットします。

title('Fin kurva');

これは、グラフのタイトルを設定するだけです。

g=3*t.*sin(t);

これはより複雑な関数定義ですが、その機能を理解するのは簡単です。

k=cos(t+2)+sin(t.^2);

別の単純な関数定義。

help XXX % XXX=sin, cos, plot, disp

オンライン ヘルプ システムへのアクセス。

if CONDITION
  STATEMENTS...
end;

一目瞭然。

if CONDITION
  STATEMENTS...
else
  STATEMENTS...
end;

また、自明です。

for VARIABLE = VECTOR
  SATSER...
end;

通常の for ループ

while VILLKOR
  SATSER...
end;

プログラミングをしたことがある人なら簡単に理解できます。

したがって、ほとんどのステートメントを理解していると思いますが、このリストから、研究に最も関連しているのは、使用方法を練習する必要がある方程式ソルバー c=A\y のようです。

4

2 に答える 2

1

x=[2 3]

上記は配列のようなもので、ステートメントの後にメモリに存在するベクトルです。

[ ... ]角かっこ内に配置したすべてのマトリックスを作成します。行列は、スカラー(1x1)、行ベクトル(1xN)、列ベクトル(Nx1)、または本格的な2次元行列(MxN)にすることができます。Matlabは高次元行列も知っていますが、ブラケット表記を使用してそれらを入力することはできません(ただし、高次元行列のスライス(それ自体は2d)を入力することは可能です)。

y=[4 5]'

これは列ベクトルです。

[4 5]1x2ベクトルを作成します。これ'転置演算子であり、ベクトルに変換し2x1ます。

A=[x; y']

セミコロンは、行列の行を区切ります。

確かに、そしてまた、であるため、最初のx行と2番目の行があります。1x2y'A2x2xy'

B=sin(A)

これは通常の数学関数のようなものです。

sinY = sin(X)の要素の循環正弦を返しますX。したがって、スカラー、ベクトル、または行列のいずれかを入力できます。出力は入力と同じサイズです。

z=x.*y'

これも古典的な数学/CSの関数のようなものです。

.*要素ごとの乗算演算子です。xyが同じサイズであることが重要です。そうでない場合、これはエラーになります。の各要素はx、の対応する要素と乗算yされます。この場合、結果は次のようになります。[2*4 3*5]

c=A\y

これは重要であり、連立方程式を解きますが、どれですか?元の方程式はどのように述べられていますか?上記はAy=cを解決しますか?ご指定ください。

ドキュメント:バックスラッシュまたは行列の左除算。Aが正方行列の場合、A \ Bはinv(A)* Bとほぼ同じですが、計算方法が異なります。

したがって、はに等しいc=inv(A)*yので、を解きA*c=yます。これらのスラッシュとバックスラッシュは、常に使用しない場合は常に注意が必要です。

a='Hej'

上記は、他のコンピューター言語と同じように変数です。

正しくない、'シンボル内で指定されたテキストはテキストとして解釈さaれるため、文字配列になります。これは、whos関数を使用して確認できます。

a(2)='a'

上記は、ベクトルaの2番目の要素を文字列'a'に設定します。

正解です。これは、aがchar型であり、「a」(rhs)がcharであるためにのみ実行可能です1x1。結果aには「メッカ巡礼」が含まれます。

v=3:2:9

上記は、ステップ2で3から9までのベクトルを作成します。

正解です。結果は次のようになりますv = [3 5 7 9]3:2:10同じベクトルを生成することに注意してください!

w=5:3:15

上記は、ステップ3で5から15までのベクトルを作成します。

正しい

t=0:0.05:10;

t0.05の増分で0から10の間のベクトルになります。

を含む0から10まで!

f=t.*exp(2*t);

これは、通常の関数定義と同じです。

正弦関数の場合と同じですが、要素ごとにとの乗算がtありますexp(...)

plot(t,f)

これにより、関数がy軸に、tがx軸にプロットされます。

これにより、ベクトルfがy軸とtx軸にプロットされるため、結果のプロットは、1からベクトルの長さまでの範囲のデータポイント(t(ii), f(ii))で構成されます。同じ長さでなければなりません!iitf

title('Fin kurva');

これは、グラフのタイトルを設定するだけです。

正しい

g=3*t.*sin(t); k=cos(t+2)+sin(t.^2);

シンプルな機能。

正しい

help XXX % XXX=sin, cos, plot, disp

オンラインヘルプシステムへのアクセス。

正しいですが、オンラインではなく、組み込みです。例:'help sin'は、sin関数の使用に関するヘルプを提供します。

CONDITIONSTATEMENTS...が終了した場合;

自明。

if CONDITION STATEMENTS ... else STATEMENTS ... end;

また、自明です。

VARIABLE =VECTORSATSERの場合...終了;

通常のforループ

はい、VARIABLEすべての値をVECTOR順番に取得します。VECTOR変数として渡すことも、直接。として渡すこともできます1:2:10。例:ここ

オンラインのMATLABドキュメントには、通常、必要なすべての情報が記載されていますが、それ以外のすべての情報にはSOがあります。

于 2012-08-08T07:16:07.113 に答える
1

c=A\yは、方程式 を解くための行列の左除算Ac=yです。

Aが正方行列の場合、 は、またはA\yと同等ですが、これらは異なる方法で計算されます。inv(A)*ypinv(A)*ymldivide(A,y)

A が矩形行列の場合、invは適用できないため、 および とA\y同等です。これらは の最小二乗解ですが、意味が異なります。pinv(A)*ymldivide(A,y)Ac=y

詳細はこちら

于 2012-08-08T07:28:18.153 に答える