matlab精度总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在matlab中如何控制数据的输出格式?(完整总结)
2008-04-15 17:13:48| 分类:软件应用MATLAb|字号订阅
针对数据的显示形式控制,matlab中有专用命令format
但该命令不影响数据的储存形式和计算精度
format
缺省时为默认短格式方式与format short相同
format short
短格式方式,显示5位定点十进制数。
format long
长格式方式,显示15位定点十进制数。
format short g
当数据大于1000或小于1时便会以科学记数法显示(-e),若想坚持用整数部分加小数部分的格式来显示,就要再后边加g
format long g
format hex
十六进制格式方式。
format bank
银行格式。按元、角、分(小数点后具有两位)的固定格式。
format +
+格式,以+,—和空格分别表示中的正数,负数和零元素
format short e
短格式e方式,显示5位浮点十进制数
format long e
长格式e方式,显示15位浮点十进制数。
format rat
分数格式形式。用有理数逼近显示数据。如pi显示为355/113。
format loose
松散格式。数据之间有空行。
format compact
紧凑格式。数据之间无空行。
vpa(date,n)
将数据date以n位有效数字显示。
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(a),或str2num(a).
但是无论Matlab中采取什么样的输出格式,在系统内核中的变量的精度总是保持精确的(尽可能)。除非你人为的改变它的计算精度。我们可以用一个简单的例子来说明这个问题:如a=1/3 显示为0.33333333
a=a*3 得到1 (不是0.99999999)
在很多其它的程序设计语言中是不可能得到1的。这就说明了Matlab在计算的过程中不会损失用户的计算信息(包括中间结果)。
检测format的功能:证实format只是显示而已,实际上无本质区别,位数算起来还是一样的
>> a=0.23456
a =
0.234560000000000
>> format short
>> a
a =
0.2346
>> b=a*2
b =
0.4691
>> c=0.2346*2
c =
0.4692
>>