【问题标题】:Matlab: latex command to output with 4 significant digits or with certain amount of decimals?Matlab:latex命令输出4位有效数字或一定数量的小数?
【发布时间】:2014-01-29 17:06:00
【问题描述】:

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

【问题讨论】:

  • Jonas 提供了here 一种操作标准输出的方法,这是一个解决方案,但我仍然很高兴知道符号乳胶命令是否具有一些内置的字符串操作选项。因此留下了这个问题。

标签: matlab latex symbolic-math


【解决方案1】:

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

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

【讨论】:

  • @hhh 这个答案有什么用吗?您是否尝试设置可变精度精度?
【解决方案2】:

谢谢!

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多