zoukankan      html  css  js  c++  java
  • 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 + 只显示这个数的正负 +
     

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

    2.disp函数

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

    >> 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包括两方面的内容,一方面是打印文本内容;另一方面是打印内容中的数据格式。例如

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

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

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

    例如

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

    注意fprintf忽略了虚部

    4.对比总结

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

    总的来说,使用fprintf最为灵活方便,可以输出任何格式,而且可以有多个数据项,但fprintf需要定义数据项的字符宽度和数据格式,所以上手感觉有点繁琐。

  • 相关阅读:
    Hibernate框架学习(二)——api详解
    Hibernate框架学习(一)——入门
    事务(二)——事务的特性和隔离级别
    事务(一)
    MySQL ------ 使用正则表达式进行搜索 regexp (八)
    MySQL ---- 过滤数据 通配符 like (七)
    Java --------- I/O(七) 序列化
    MySQL ------ 过滤数据 and、or、in、not(七)
    MySQL ------ 过滤数据 where 子句(六)
    MySQL ------ 排序检索(五)
  • 原文地址:https://www.cnblogs.com/adong7639/p/10330387.html
Copyright © 2011-2022 走看看