matlab 舍去小数,为什么MATLAB删除了我的小数?

MATLAB在默认情况下使用科学记数法显示大数字,这可能导致看似丢失了小数。实际上,小数并未丢失,只是不显示。通过设置format,如format long或format longG,可以强制MATLAB显示更多小数。使用fprintf或disp(sprintf)可以精确控制小数位数。此外,format compact可以去除多余空行,使输出更紧凑。不同格式如shortG和longG在处理不同数量级数字时尤其有用。
摘要由CSDN通过智能技术生成

科学记数法,或为什么你没有丢失任何小数

你没有丢失任何小数,这只是MATLAB显示大数字的方式. MATLAB使用科学计数法将命令窗口和变量编辑器中数字的显示四舍五入到点之前的一位数和之后的四位数.科学记数法是Xe y表示法,其中X是某个数字,y是整数.这意味着X乘以y的幂乘以10,这可以被视为“将点向右移动y个位置”(或者如果y为负则向左移动).

强制MATLAB显示所有小数

既然我们知道MATLAB的作用,我们可以强迫它向我们展示我们的数字吗?当然,有几种选择,最简单的是设置更长的format.最常用于显示长数字的格式是长格式和格式longG,当我们使用它们时它们的区别很明显:

format long

A

A =

8.1472368639e+04

format longG

A

A =

81472.368639

format long使用科学记数法显示所有小数(最多16个),格式longG尝试显示没有科学记数法但最多可用小数的数字:再次:在点之前和之后有多达16位数,总共.

如果您想在点之前,点之后或两者之间使用精确的小数位数,则使用disp(sprintf())或fprintf这是一个更奇特的解决方案:

fprintf('A = %5.3f\n',A) % \n is just to force a line break

A = 81472.369

disp(sprintf('A = %5.2f\n',A))

A = 81472.37

最后,还记得变量编辑器吗?我们如何才能完全显示变量?简单:单击包含数字的单元格:

<

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值