数学建模社区-数学中国

标题: Matlab中显示数据的方法 [打印本页]

作者: 森之张卫东    时间: 2015-8-29 22:32
标题: Matlab中显示数据的方法

2.6.1 改变默认格式
当数据重复在命令窗口(The Command Windows)时,整数以整形形式显示,其他值将以默认格式显示。MATLAB的默认格式是精确到小数点后四位。如果一个数太大或太小,那么将会以科学记数法的形式显示。比如,语句

x=100.11
y=1001.1
z=0.00010011


它的输入格式为

x =
100.1100
y =
1.0011e+003
z =
1.0011e-004


  改变默认输出格式要用到format命令,可根据表2.3改变数据的输出格式

                                   
                                   表
2.3输出显示格式

        
format命令
      
结果
   
例子
  
      
format short
   
保留小数点后4位(默认格式)
  
12.3457

     
format long
   
保留小数点后14
  
12.345678901234567

     
format short e
   
带有5位有效数字科学记数法
  
1.2346e+00

     
format short g
   
总共有5个数字,可以用科学记数法,也可不用
  
12.346

     
format long e
   
带有15位有效数字科学记数法
  
1.234567890123457e+001

     
format long g
   
总共有5个数字,可以用科学记数法,也可不用
  
12.3456789012346

     
format bank
   
美元格式
  
12.35

     
format hex
   
16进制表示
  
4028b0fcd32f707a

     
format rat
   
两个小整数的比
  
1000/81

     
format compact
   
隐藏多余的换行符
  

     
format loose
   
使用多余的换行符
  

     
format +
   
只显示这个数的正负
  
+

所有例子都以12345678901234567为例子默认的格式可以改变格式以显示更多的有效数字,用科学计数法来显示,精确到小数点后两位,显示或隐藏多余的换行符。

2.6.2 disp函数
另一种显示数据的方法是用disp函数。disp需要一个数组参数,它将值将显示在命令窗口(The Command Windows)中。如果这个数组是字符型(char),那么包含在这个数组中的字符串将会打印在命令窗口(The CommandWindows)中。

此函数可联合num2str(将一个数转化为字符串)int2str(将一个整数转化为字符串)来产生新的信息,显示在命令窗口(The Command Windows)中。例如,下面的语句将“the value of pi=3.1416显示在命令窗口(The Command Windows)中。第一句创建了一个字符型数组,第二句用于显示这个数组。

str=['the value of pi='     num2str(pi)];
disp(str);



2.6.3 fprintf函数格式化输出数据
fprintf函数显示数据是一种十分简便方法。fprintf函数显示带有相关文本的一个或多个值,允许程序员控制显示数据的方式。它在命令窗口打印一个数据的一般格式如下:

fprint(format,data)

其中format用于代表一个描述打印数据方式的子符串,data代表要打印的一个或多个标量或数组。format包括两方面的内容,一方面是打印内容的文本的提示;另一方面是打印的格式。例如,函数

fprintf('The value of pi is %6.2f \n',pi)


将会打印出'The value of pi is   3.14',后面带有一个换行符。转义序列%6.2代表在本函数中的第一个数据项将占有6个字符宽度,小数点后有2位小数。

fprintf函数有一个重大的局限性,只能显示复数的实部。当我们的计算结果是复数时,这个局限性将会产生错误。在这种情况下,最好用disp显示数据。

               
   
                      表2.4fprintf函数format字符中的特殊字符

  
format string
  
结果
  
%d
  
把值作为整数来处理
  
%e
  
用科学记数法来显示数据
  
%f
  
用于格式化浮点数,并显示这个数
  
%g
  
用科学记数格式,或浮点数格式,根据那个短,并显示之
  
\n
  
转到新的一行


例如,下列语句计算复数x的值,分别用fprintfdisp显示

x=2*(1-2*i)^3;
str=['disp: x = ' num2str(x)];
disp(str);
fprintf('fprintf: x = %8.4f\n',x);


打印的结果如下

disp: x = -22+4i
fprintf: x = -22.0000


注意frpintf忽略了虚部。


常见编程错误

fprintf函数只能复数的实部,所以在有复数参加或产生的计算中,可能产生错误的结果。







欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5