楼主: xhjhxy
16692 2

[程序分享] matlab输出的数值型矩阵中如何控制小数位数,以及对齐方式? [推广有奖]

  • 0关注
  • 0粉丝

高中生

52%

还不是VIP/贵宾

-

威望
0
论坛币
491 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
539 点
帖子
10
精华
0
在线时间
50 小时
注册时间
2008-11-26
最后登录
2012-3-7

楼主
xhjhxy 发表于 2011-4-1 15:00:26 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
如题。谢谢各位热心的人士了!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:MATLAB atlab matla Mat Atl MATLAB 矩阵 位数 小数 数值

沙发
qibbxxt 发表于 2011-4-1 15:33:38
大致的观察,可以用format
如果需要输出文件,具体的格式
可以参看fprintf的帮助文档

藤椅
matlab-007 发表于 2014-12-2 19:15:11
用命令 format
但该命令不影响数据的储存形式和计算精度


format 默认格式
format short 5字长定点数
format long 15字长定点数
format short e 5字长浮点数
format long e 15字长浮点数
format short g
format long g
format hex 16进制
format bank 定点货币形式
format rat 小数分数表示
format + +,-,空格
format compact 压缩空格
format loose 包括空格和空行
format long 15字长定点数
format short e 5字长浮点数
format long e 15字长浮点数
format short g
format long g
format hex 16进制
format bank 定点货币形式
format rat 小数分数表示
format + +,-,空格
format compact 压缩空格
format loose 包括空格和空行

当然也可以不用format 命令,可以修改系统的默认设置格式,File->Preferences->Command Window->Text Display.
如果想得到分数可以用rats()函数
如果想得到根号,只有用符号表示了,当然用符号表示是万能的。
例如:
a=1/3 得到 0.33333
rats(a) 得到 1/3
a='sqrt(3)' 得到 sqrt(3) 不过这是字符型,要转换成数值型可以用eval_r(a),或str2num(a).
但是无论Matlab中采取什么样的输出格式,在系统内核中的变量的精度总是保持精确的(尽可能)。除非你人为的改变它的计算精度。
我们可以用一个简单的例子来说明这个问题:如a=1/3 显示为0.33333333a=a*3 得到 1 (不是0.99999999)
在很多其它的程序设计语言中是不可能得到1的。这就说明了Matlab在计算的过程中不会损失用户的计算信息(包括中间结果)。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-25 10:00