我想在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]
答案 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