0
syms x y z;
solve(x==y+1, y^2==z,z==9) 

ans = 

x: [2x1 sym] 
y: [2x1 sym] 
z: [2x1 sym]

{{x->-2,y->-3,z->9},{x->4,y->3,z->9}}そして今、Mathematica outputting for のような結果を見たいと思っていますSolve[{x == y + 1, y^2 == z, z == 9}, {x, y, z}]。ワークスペース ウィンドウと変数エディターにこれが表示されますが、そこに格納されている実際の値はまだ表示されません。

Matlab の出力を人間が読める形式 (美化された形式) で表示するにはどうすればよいですか?

4

2 に答える 2

3

状態のドキュメントsolve:

連立方程式を解く場合、1 つの出力引数を使用して構造体配列の形式で解を返します。

結果は構造体として返されるため、各フィールドにアクセスしてその値を確認できます。ドキュメントには、その方法の例が示されています。

S = solve(x==y+1, y^2==z, z==9);
[S.x, S.y, S.z]

これにより、次のようになります。

ans =
     4     3     9
    -2    -3     9

または、複数の出力引数を指定することにより、解を個別の変数で返すことができます。

[solx, soly, solz] = solve(x==y+1, y^2==z, z==9)

これにより、次のようになります。

solx =
     4
    -2

soly =
     3
    -3

solz =
     9
    -9
于 2013-03-28T15:21:33.630 に答える
1

MATLAB で構造体型の内容を表示するのは簡単ではありません。簡単な方法の 1 つは、次のようにすることです。

r=struct2cell(solve(x==y+1, y^2==z,z==9));
r{:}

ans =

  4
 -2


ans =

  3
 -3


ans =

 9
 9

実際の変数名を特定したい場合は、カスタム ルーチンを作成して、それらをどのように表示したいかを出力する必要があると思います。

于 2013-03-28T15:19:42.583 に答える