Matlab怎么修改显示数值格式/精度/小数位数

举报
墨理学AI 发表于 2022/01/14 01:04:51 2022/01/14
【摘要】 问题描述如下: matlab命令窗口中显示的数值默认只是4位小数,最后一位采用四舍五入。 在计算中精度要求可能会更高,如果要修改显示的小数位数,需要操作一下,matlab2013以前的版本请看 度娘...

问题描述如下: matlab命令窗口中显示的数值默认只是4位小数,最后一位采用四舍五入。
在计算中精度要求可能会更高,如果要修改显示的小数位数,需要操作一下,matlab2013以前的版本请看
度娘Matlab链接


format short :控制输出结果为5位精度,即小数点后4位。matlab提供了format命令,
用于控制输出结果的显示精度,而不会影响变量的存储和运算精度。其中常用的format命令有:

format short:显示5个字长的数字(小数点后4位)

format long:双精度数显示15位精度,单精度数显示7位精度

format rat:分数形式表示

format short e :将数值都用科学计数法表示,保留五位有效数字
matlab里面输入以上命令即可,像这样:
>>format long
若想改回来就是:
>>format short

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

matlab代码在调试的过程中,鼠标悬浮到变量上即可看到变量的值。
类似矩阵和数组,可以像C++那样打印出来。
使用disp 函数来 打印变量的值

  fprintf('最终的输出结果,到此程序结束\n')
  disp(msgstnr)

  
 
  • 1
  • 2

Matlab输出变量到文本:
原文链接:matlab 文件输出到text文件总结

  % 新增代码输出 dn 到文件查看
  % dn 是一个  10000 * 1 的数组,或者说矩阵
  % 执行 format long 之后 , dn 的实际可见精度位为 16位
  %disp(dn)
  fid = fopen('H:\noise\weveRead\dn.txt','wt');
  fprintf(fid,'%g\n',dn);   
  fclose(fid);

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

【matlab】round函数的用法

round函数用于舍入到最接近的整数。语法形式只有1种:Y = round(X),这里的X可以是数,向量,矩阵,输出对应。

举例:

1、round(2.1) = 2; round(2.5) = 3; round(2.8) = 3

2、round(-2.1) = -2; round(-2.5) =  -3; round(-2.8) = -3

3、 >> A = [2.3 4.7 -2.3 -4.7]
  A = 2.3000    4.7000   -2.3000   -4.7000
   >> round(A)
          ans =  2     5    -2    -5

4、>> A = [2.1 4.7 8.9; 3.4 5.6 7.1; -9.8 -3.4 -2.5]
  A =
   2.1000    4.7000    8.9000
   3.4000    5.6000    7.1000
  -9.8000   -3.4000   -2.5000
   >> round(A)
  ans =
                  2     5     9
                  3     6     7
                -10    -3    -3

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

下面写一点最近实习心得:

leader给的任务是把 一个小工具 matlab 代码移植到 C++ ( 因为 matlab 太慢了,没办法配合其他步骤 部署到服务器中运行)
接到任务第一反应:我经历了什么,matlab 根本没写过代码呀,C++已经是3年前上课时候学习的东西了,请原谅无知的我被蒙蔽了双眼,根本不知道这个任务该如何完成,更不知道这个任务对我成长而言有什么意义。
经历了几天内心的抗拒和针对目前工作状况等一系列因素的权衡,觉得leader把这个任务交给我自然会有leader的考虑,还是要认真做下去的。
于是开始着手调试程序,刚开始正向看代码,发现看不懂的地方太多了,后来醒悟。
根据最终输出结果自下而上的寻找与结果相关的变量和方法,以此类推,渐渐的对代码的计算方法才有了整体的认识,知道了这些代码是这样的一个过程,相当于从结果出发梳理了matlab代码关键的变量和方法,里面有很多对于我的需求无效的代码就给排除掉了,因为这些正向看的时候很难看出来和我最终结果有没有关系。
所以针对这种代码量较大,一头雾水的代码,很多时候从最终结果出发,反向路由,更容易理清解决思路,然后再针对相关变量和方法 一 一 理解并复写C++的方法进行移植。


文章来源: positive.blog.csdn.net,作者:墨理学AI,版权归原作者所有,如需转载,请联系作者。

原文链接:positive.blog.csdn.net/article/details/83094346

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200