1

EquationsToMatrix を使用する場合、例のように一次方程式のセットを解きます (解が含まれています)

syms x y z;
[A, b] = equationsToMatrix([x + y - 2*z == 0, x + y + z == 1, 2*y - z + 5 == 0], [x, y, z])

%solution of the equation set

A =
[ 1, 1, -2]
[ 1, 1,  1]
[ 0, 2, -1]

b =
  0
  1
 -5

ベクトル b は、問題の変数 x、y、および z の値を返します。ただし、x と入力すると、MATLAB は 0 ではなく x を返します。これがこの場合の方程式の解です。これは、syms オプションを追加しなくても発生します。

もう 1 つの問題は、b(1) または b(2) と入力しても値が得られないことです。b には x、y、および z の値が含まれていると予想します。私が必要とするのは、最終的にこのようなものを取得することです

b(1) = 0

また

x = 0

x、y、z と入力するだけで x、y、z の値を取得するにはどうすればよいですか?

4

1 に答える 1

3

あなたが持っているのは、係数行列を抽出することにより、記号線形方程式を数値システムに変換する方法です。あなたがする必要があるシステムを解決するために

sol = A\b;

そして、別の式で値を使用できるようになりました

subst(expr, {x,y,z}, {sol(1),sol(2),sol(3));

例えば

A =

 1     1    -2
 1     1     1
 0     2    -1

b =

 0
 1
-5

>> A\b

ans =

3.0000
-2.3333
0.3333
于 2013-03-14T10:26:39.627 に答える