2017-01-17 16 views
1

のは、私は3つの変数に2つのシンボリック方程式があるとしましょう:両方が0 に等しくなければならないシンボリック線形方程式の均質な劣決定システムを解く

syms u v w 
eq1 = u+v+w == 0 
eq2 =  w == 0 

は、MATLABにこれらの方程式を供給し、MATLABを持ってする方法はあります結論:

u=-v 
w=0 

は、私は次のことを試してみました:

%Attempt 1: 
x=solve([eq1 eq2],[u v w]); 
x.u, x.v, x.w 
%Outputs 0 for each of these 

% Attempt 2: 
[A,B]=equationsToMatrix([eq1 eq2],[u v w]); 
linsolve(A,B) 
%Outputs 0 for all variables and gives a warning "Warning: The system is rank-deficient. Solution is not unique." 

それで、それは些細なゼロ解決策を返すようにしか見えません。もちろんこれは基本的な例です。私はそれが81の絡み合った変数のために働くことを望みます。

+0

'eq1'と' eq2'はゼロの値を持つことを意図していますか、それとも任意ですか?そうでなければ 'w = 0'と結論づけることができません。 – jackarms

+0

私の前回の編集のsolve()には、eq1 == 0とeq2 == 0が含まれていました。明確にするために質問を編集しました。 –

+0

これは主に間違いのせいで、別の方法で問題を解決しました –

答えて

1

2つの方程式があるので、3つではなく2つの変数についてのみ解くことができます。 とw=0が表示されます。これはuwの解決策ですが、vには含まれていません。

私にとってx = solve([eq1,eq],u,w)の作品では、とx.w=0となります。

+0

本当のことだと思われますが、もっと大きな実際の例を解決しようとすると間違えたかもしれません... –

関連する問題