美化Matlab的输出,也就是输出的人类可读形式?

时间:2013-03-28 15:14:49

标签: matlab math output symbolic-math

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}]的结果。工作区窗口然后变量编辑器向我显示this但我仍然看不到存储在那里的实际值。

如何以人类可读的形式(也称为美化形式)看到Matlab的输出?

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

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

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

ans =

  4
 -2


ans =

  3
 -3


ans =

 9
 9

如果你想识别实际的变量名,我想你需要编写一个自定义例程来打印它们你希望它们出现的方式。