我是MATLAB的新手。如果我的问题是基本的,我很抱歉。我使用“printmat”函数在命令控制台中显示一些矩阵。例如,printmat(A)和printmat(B),其中A = 2.79和B = 0.45e-7是标量(为简单起见)。
如何将精度任意提高到七位小数?例如:我的输出看起来像2.7943234,B = 0.00000004563432。
如何将货币(比如美元)数字添加到printmat的输出中?
如何将百分比数字(%)添加到printmat的输出中?
注意:我使用printmat的原因是我可以命名我的行和列。如果你知道一个更好的功能可以做到以上所有,我很高兴知道。
答案 0 :(得分:1)
关心玛丽亚姆。根据我的理解,您希望显示数字并显示其完整精度。我也是新手,如果我可以贡献,你可以使用sprintf
函数将数字数据转换为字符串数据(用于显示目的)。
我使用变量A=2.7943234
作为示例。此值不会显示完整精度,而是显示2.7943
。要显示所有小数点尾部,您可以先通过
a = sprintf('%0.8f',A);
它会将值a
设置为字符串'2.79432340'
。 %0.8f
表示您希望它显示8个十进制尾部。对于此示例,%0.7f
当然就足够了。
另一个例子:A=0.00000004563432
,使用%0.14f
。
A=0.00000004563432;
a=sprintf('%0.14f $ or %%',A);
输出应为:'0.00000004563432 $ or %'
。
您可以在https://www.mathworks.com/help/matlab/ref/sprintf.html
中进一步分析你可以先试试这个。如果这无法达到您的目标,我会感谢一些投入。感谢。
答案 1 :(得分:0)
printmat
功能现在非常 obsolete。我认为table
objects是其预期的后继者(以及诸如array2table
之类的函数,用于将矩阵转换为数据表)。表允许您添加行名和列名,并以不同方式格式化列。我不认为可以为每个号码添加$
或%
,但可以 specify the units of each column。
通常,您还可以使用format
格式化显示精度。这样的事情可能就是你想要的:
format long