MATLAB 显示输出数据的三种方式

 

MATLAB 显示输出数据的三种方式

1.改变数据格式

当数据重复再命令行窗口时,整数以整形形式显示,其余值将以默认格式显示。MATLAB的默认格式是精确到小数点后4位。若是一个数太大或过小,那么将会以科学记数法的形式显示。好比:程序员

>> x=100.11

x = 100.1100 >> y=1001.1 y = 1.0011e+03 >> z=0.00010011 z = 1.0011e-04
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

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

format 命令 结果 例子
format short 保留小数点后4位(默认格式) 12.3456
format long 保留小数点后14位 12.345678901234500
format short e 带有5位有效数字科学记数法 1.2346e+100
format short g 总共有5个数字,能够用科学记数法,也可不用 12.346
format long e 带有15位有效数字科学记数法 1.234567890123457e+001
format long g 总共有15个数字,能够用科学记数法,也可不用 12.3456789012346
format bank 美圆格式 12.35
format hex 用16进制标识 4028b0fcd32f6f3b
format rat 两个小整数的比 2233/100
format compact 隐藏多于的换行符  
format loose 使用多余的换行符  
format + 只显示这个数的正负 +
 

其中美圆格式是指按美圆精确到美分的格式记数,隐藏/使用多余的换行符这个我也试出来有什么卵用。markdown

2.disp函数

另外一种显示数据的方法是用disp函数。disp须要一个数组参数,它将值显示在命令行窗口。若是这个数组是字符型,那么包含在这个数组中的字符串将会打印在命令行窗口。 
此函数可联合num2str(将一个数转化为字符串)和int2str(讲一个整数转化为字符串)来产生新的信息,显示在命令行窗口中。例如,下面的语句将“the value of pi=3.1416”显示在命令行窗口中。第一句建立了一个字符型数组,第二句用于显示这个数组。app

>> str=['the value of pi=' num2str(pi)]; >> disp(str); the value of pi=3.1416
  • 1
  • 2
  • 3

3.用fprintf函数格式化输出数据

用fprintf函数显示数据是一种十分简便方法。fprintf函数显示带有相关文本的一个或多个值,容许程序员控制显示数据的方式。它在命令行窗口打印一个数据的通常格式以下:函数

fprintf(format,data)
  • 1

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

>> fprintf('the value of pi is%6.2f\n',pi) the value of pi is 3.14
  • 1
  • 2

打印的结果为the value of pi is 3.14,后面带有一个换行符。转义序列%6.2f表明在本函数中的第一个数据项将占有6个字符宽度,小数点后有2位小数。 
fprintf函数又一个重大的局限性,只能显示复数的实部。当咱们的计算结果是复数时,这个局限性将会产生错误。在这种状况下,最好用disp显示数据。ui

format 命令 结果
%d 把值做为整数来处理
%e 用科学记数法来显示数据
%f 用于格式化浮点数,并显示这个数
%g 用科学记数格式,或浮点数格式,根据长度最短的显示
%n 换行符

例如spa

>> i ans = 0.0000 + 1.0000i >> disp([i]) 0.0000 + 1.0000i >> fprintf('i is%8.4f\n',i) i is 0.0000
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

注意fprintf忽略了虚部.net

4.对比总结

  • 改变数据的默认格式可让数据以你想要的形式展示,包括精确到哪一位、多少进制显示、只显示正负等;
  • 使用disp函数来打印能够打印全部的内容,包括负数,但要注意的是disp函数须要的是数组参数,而且只会打印数组内的字符串,因此若是是一个数字你须要使用int2str或num2str转化成字符串,可是若是是一个矩阵,你能够直接打印(至于为何能够直接打印数字格式的矩阵,我也不明白);
  • 使用fprintf函数能够以任何的数据格式打印数据,并且能够带有一个或多个值,可是要使用正确的特殊字符,但值得注意的是fprintf函数只能复数的实部,因此在有复数参加或产生的计算中,可能产生错误的结果;

总的来讲,使用fprintf最为灵活方便,能够输出任何格式,并且能够有多个数据项,但fprintf须要定义数据项的字符宽度和数据格式,因此上手感受有点繁琐。命令行

相关文章
相关标签/搜索