Matlab:latex命令输出4位有效数字或一定数量的小数?

时间:2014-01-29 17:06:00

标签: matlab latex symbolic-math

我想在Matlab中为结果生成一个表。我使用符号框的latex命令。如何指定有效数字的数量?

问题个人资料

>> results

results =

    0.0025    0.0024    0.0024

>> latex(vpa(sym(results),4))       #THIS SHOULD PRINT with 4 decimals, how?

ans =

\left(\begin{array}{ccc} 0.0025401858540021748922299593687057 & 0.0023686521873358401535369921475649 & 0.0023649304185866526495374273508787 \end{array}\right)

>> vpa(sym(results),4)

ans =

[ 0.00254, 0.002369, 0.002365]

2 个答案:

答案 0 :(得分:3)

我认为vpa的语法设定了有效数字的最小数量。您是否尝试过设置变精度精度?

d1 = digits(4); % records and sets accuracy
latex(vpa(sym(results)))
digits(d1); % restore previous accuracy

答案 1 :(得分:0)

谢谢!

我刚用这个创建了以下漂亮的函数(以乳胶格式直接输出传递函数):

function tf2latex(tf)

[num,den]=tfdata(tf);
syms s
d1 = digits(4); % records and sets accuracy
latex(vpa(poly2sym(cell2mat(num),s)/poly2sym(cell2mat(den),s)))
digits(d1); 

end