DATE: 2019-11-13


1、参考

MATLAB 显示输出数据的三种方式
Matlab之print,fprint,fscanf,disp函数

2、改变数据格式

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

>> x=100.11x =100.1100>> y=1001.1y =1.0011e+03>> z=0.00010011z =1.0011e-04

改变默认输出格式要用到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 + 只显示这个数的正负 +

3、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

4、用fprintf函数格式化输出数据

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

fprintf(format,data)

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

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

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

举个栗子:

>> i
ans =0.0000 + 1.0000i
>> disp([i])0.0000 + 1.0000i
>> fprintf('i is%8.4f\n',i)
i is  0.0000
format 命令 结果
%d 把值作为整数来处理
%e 用科学记数法来显示数据
%f 用于格式化浮点数,并显示这个数
%g 用科学记数格式,或浮点数格式,根据长度最短的显示
%n 换行符

5、print

print函数可以把函数图形保存成图片。

minbnd = -4*pi;
maxbnd = 4*pi;
t = minbnd:0.1*pi:maxbnd;
plot(t, sin(t), 'g', 'Linewidth', 2);
line([minbnd, maxbnd], [0, 0]);    %绘制x轴
axis([-10, 10, -2, 2])             %定义显示的坐标区间:x在(-10,10)之间,y在(-2,2)之间
grid on;
title('sin(x)');
xlabel('x');
ylabel('sin(x)');
print('-dpng','sin.png');          %保存为png图片,在Matlab当前的工作目录下

6、disp和fprintf两种输出方式的对比

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

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


THE END!

【Matlab系列】MATLAB中显示输出数据的四种方式相关推荐

  1. python读取图像数据流_浅谈TensorFlow中读取图像数据的三种方式

    本文面对三种常常遇到的情况,总结三种读取数据的方式,分别用于处理单张图片.大量图片,和TFRecorder读取方式.并且还补充了功能相近的tf函数. 1.处理单张图片 我们训练完模型之后,常常要用图片 ...

  2. html中获取modelandview中的json数据_从Bitmap中获取YUV数据的两种方式

    从Bitmap中我们能获取到的是RGB颜色分量,当需要获取YUV数据的时候,则需要先提取R,G,B分量的值,然后将RGB转化为YUV(根据具体的YUV的排列格式做相应的Y,U,V分量的排列) 所以这篇 ...

  3. 控制器中接收数据的四种方式

    控制器中接收数据的四种方式: (仅限于个别的方式(get/post)有效) 通过形参的方式接收表单提交的数据(可以接收post与get提交的数据): 注释: GetData自己定义的方法名里面存入形参 ...

  4. java解析与生成json数据的四种方式,比如将json字符串转为json对象或json对象转为json字符串

    文章目录 1. 详说json 1.1 何为json 1.2 json语法 2. Java解析与生成JSON的四种方式 2.1 传统方式 2.2 利用Jackson方式 2.3 利用Gson方式 2.4 ...

  5. JavaScript中字符串连接/拼接的四种方式

    JavaScript中连接字符串的方式有4种,分别是使用加号运算符连接.使用${}配合反引号连接.使用concat()函数连接.使用join()函数连接. 1. 使用加号运算符 示例代码如下: let ...

  6. Java中数组转List的四种方式

    第一种方式(未必最佳):使用ArrayList.asList(strArray) 使用Arrays工具类Arrays.asList(strArray)方式,转换完成后,只能对List数组进行查改,不能 ...

  7. python 后端接受前端传到后端的数据的四种方式

    python 后端接收前端传到后端的数据的4种方式 1,以查询字符串的方式传入 def test(request): #查询字符串方式传参的获取a = request.GET.get('a') #a为 ...

  8. SharePoint要在master page中动态显示List数据的几种方式

    我们都知道,在SharePoint中,Content page继承自Page layout,而Page layout又继承自Master page.Master page的作用大家都知道,它定义了站点 ...

  9. Spring MVC中返回JSON数据的几种方式

    我们都知道Spring MVC 的Controller方法中默认可以返回ModeAndView 和String 类型,返回的这两种类型数据是被DispatcherServlet拿来给到视图解析器进行继 ...

最新文章

  1. Thrust快速入门教程(二)——Vector的使用
  2. A humble heart2019-11-09
  3. Vue中import引入模块路径时的@符号
  4. 这个Nature推荐的代码海洋竟然有文章作者上传的所有可重现性脚本,涉及单细胞、微生物组、转录组分析、机器学习等相关
  5. [转]聚集索引和非聚集索引(sql server索引结构及其使用)
  6. js调用ajax案例2,使用ok
  7. win32以动态链接库导出类及其成员变量
  8. python去重计数_Python list去重及找出,统计重复项
  9. python共轭梯度法_Numerical Analysis: 共轭梯度法(1)--基本原理
  10. 网页加载CAD图纸的两个方案对比说明
  11. 深入理解java虚拟机——自动内存管理
  12. 【UVM实战】第二章:一个简单的UVM验证平台(4)UVM 的终极大作:sequence
  13. 2. 硬件基础知识学习
  14. Innodb中聚簇索引
  15. mouseover和mouseenter的异同
  16. 光学计算机PPT,光学课件
  17. IOS友盟 社会化分享 社会化iOS组件 分享集成
  18. C语言自制樱花树代码
  19. springboot2.0项目(课程管理系统,系统简单,技术含量高)
  20. 【大数据】政务大数据体系建设内容

热门文章

  1. Unity捕鱼达人5-----鱼群的生成
  2. 防范映像劫持(IFEO HIJACK)
  3. docker-compose 启动mysql、mongodb
  4. nacos2.X集群错误:com.alibaba.nacos.shaded.io.grpc.StatusRuntimeException: UNAVAILABLE: io exception
  5. ajax传递数组.net,ajax传递数组问题
  6. 为什么每次用计算机算数都不对,Excel算出来的数,和计算器结果对不上?
  7. synchronized 和 AQS
  8. ie自带css定位,CSS实现元素相对于浏览器窗口进行定位_css
  9. 鸡兔同笼35个头94只脚用 鸡多少只?兔有多少只? Js解答
  10. 在 JavaScript 中 0 与 1 和 true 与 false 的关系