首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

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

  • 25-03-03 23:02
  • 3475
  • 11512
blog.csdn.net

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\n',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\n',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需要定义数据项的字符宽度和数据格式,所以上手感觉有点繁琐。

注:本文转载自blog.csdn.net的飞羽喂马的文章"https://blog.csdn.net/qq_35318838/article/details/78780412"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2491) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top