问题描述:我想输入小数点后8为的复数,但他只显示小数点后4位,请问该如何改变啊
回答:转贴: 针对数据的显示形式控制,matlab中有专用命令 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(a),或str2num(a).
但是无论Matlab中采取什么样的输出格式,在系统内核中的变量的精度总是保持精确的(尽可能)。除非你人为的改变它的计算精度。我们可以用一个简单的例子来说明这个问题:如a=1/3 显示为0.33333333 a=a*3 得到 1 (不是0.99999999) 在很多其它的程序设计语言中是不可能得到1的。这就说明了Matlab在计算的过程中不会损失用户的计算信息(包括中间结果)。 |
|