Matlab的美化又名人类可读的形式输出的输出?(Beautifying the output of

2019-11-01 22:04发布

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

ans = 

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

现在我想看到的结果等的Mathematica输出{{x->-2,y->-3,z->9},{x->4,y->3,z->9}}Solve[{x == y + 1, y^2 == z, z == 9}, {x, y, z}] 。 工作区窗口,然后变量编辑器显示我这个 ,但我仍然无法看到存储在那里的实际值。

我怎样才能看到Matlab在人类可读的形式又名美化输出形式?

Answer 1:

的文档solve状态:

当求解方程系统中,使用一个输出参数在一个结构阵列的形式返回的解决方案

返回的结果为一个结构,这样你就可以访问每场看到它的价值。 文档带来了如何做到这一点的例子:

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


Answer 2:

它并不简单,以查看在MATLAB结构类型的内容。 一个快速的方法是做这样的事情:

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

ans =

  4
 -2


ans =

  3
 -3


ans =

 9
 9

如果你想找出实际的变量名,我认为你需要编写自定义例程来打印他们你想如何他们出现。



文章来源: Beautifying the output of Matlab aka human-readable form for output?