chenbinok 发表于 2010-10-20 14:52:09

分数计算问题

假如m=(s2^4-s1*s3)*(3.14/64) 在计算这个式子得出的是 m=(157/200)*(s2^4-s1*s3);
现在我想把式子中的的(157/200)算出用小数表示,请教如何实现呢???

Walker0728 发表于 2010-10-20 15:31:52

matlab中默认的形式就应该是小数啊,如果你想是以分数的形式显示则输入format rat如果你是想以小数的形式显示则可以输入format short或是format long等
matlab中常用的数值转换命令:
命令                结果
fprintf(‘%.0e\n’,pi)        3e+00
fprintf(‘%.1e\n’,pi)        3.1e+00
fprintf(‘%.3e\n’,pi)        3.142e+00
fprintf(‘%.0f\n’,pi)        3
fprintf(‘%.1f\n’,pi)        3.1
fprintf(‘%.3f\n’,pi)        3.142
fprintf(‘%.0g\n’,pi)        3
fprintf(‘%.1g\n’,pi)        3
fprintf(‘%.3g\n’,pi)        3.14
fprintf(‘%.8.0g\n’,pi)        3
fprintf(‘%.8.1g\n’,pi)        3
fprintf(‘%.8.5g\n’,pi)        3.1416
fprintf(‘%.8.10g\n’,pi)        3.141592654
对于格式e和f,小数点右边的十进制数就是小数点右边要显示的位数字。而在g格式中,小数点右边的十进制数是显示数字的总位数。另外,注意最后一行,其结果指定的是8个字符长度,且右对齐,但是8被忽略了,是因为指定超过了8位。

chenbinok 发表于 2010-10-20 20:33:26

2# Walker0728
谢谢
页: [1]
查看完整版本: 分数计算问题