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

,转载 https://blog.csdn.net/qq_35318838/article/details/78780412

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

MATLAB 显示输出数据的三种方式的更多相关文章

  1. Linux就这个范儿 第15章 七种武器 linux 同步IO: sync、fsync与fdatasync Linux中的内存大页面huge page/large page David Cutler Linux读写内存数据的三种方式

    Linux就这个范儿 第15章 七种武器  linux 同步IO: sync.fsync与fdatasync   Linux中的内存大页面huge page/large page  David Cut ...

  2. ios网络学习------4 UIWebView的加载本地数据的三种方式

    ios网络学习------4 UIWebView的加载本地数据的三种方式 分类: IOS2014-06-27 12:56 959人阅读 评论(0) 收藏 举报 UIWebView是IOS内置的浏览器, ...

  3. Linux就这个范儿 第18章 这里也是鼓乐笙箫 Linux读写内存数据的三种方式

    Linux就这个范儿 第18章  这里也是鼓乐笙箫  Linux读写内存数据的三种方式 P703 Linux读写内存数据的三种方式 1.read  ,write方式会在用户空间和内核空间不断拷贝数据, ...

  4. ajax数据提交数据的三种方式和jquery的事件委托

    ajax数据提交数据的三种方式 1.只是字符串或数字 $.ajax({ url: 'http//www.baidu.com', type: 'GET/POST', data: {'k1':'v1'}, ...

  5. Struts2(四.注册时检查用户名是否存在及Action获取数据的三种方式)

    一.功能 1.用户注册页面 <%@ page language="java" contentType="text/html; charset=UTF-8" ...

  6. iOS --- UIWebView的加载本地数据的三种方式

    UIWebView是IOS内置的浏览器,可以浏览网页,打开文档  html/htm  pdf   docx  txt等格式的文件.  safari浏览器就是通过UIWebView做的. 服务器将MIM ...

  7. android sqlite使用之模糊查询数据库数据的三种方式

    android应用开发中常常需要记录一下数据,而在查询的时候如何实现模糊查询呢?很少有文章来做这样的介绍,所以这里简单的介绍下三种sqlite的模糊查询方式,直接上代码把: package com.e ...

  8. jQuery中通过JSONP来跨域获取数据的三种方式

    第一种方法是在ajax函数中设置dataType为'jsonp' $.ajax({ dataType: 'jsonp', url: 'http://www.a.com/user?id=123', su ...

  9. Entity Framework加载数据的三种方式。

    MSDN文章Loading Related Entities 有 Eagerly Loading Lazy Loading Explicitly Loading 三种方式. 而看到查询中包含Inclu ...

随机推荐

  1. Centos ATI 显卡安装,“LCD 信号超出范围” 解决方法

    centso ATI 显卡驱动安装 centos 版本 32位 6.4 Final ATI 显卡版本:Radeon HD 7400 Series 之前由于很久自己安装了centos显卡,分辨率很低不能 ...

  2. 潭州课堂25班:Ph201805201 django 项目 第三十六课 后台文章管理(课堂笔记)

    get 请求, 1,获取文章标签 , 2,拿到前台传来的值, 3,根据前台传来的值在数据库中查询 4.,返回数据到前台,渲染, 分页算法 : 在 utils 下创建  paginator_script ...

  3. 执行npm run build之后显示空白页面

    最近在学习使用webpack,在项目最后打包过程,执行npm run build之后得到的dist目录放到服务器上打开,显示空白页面,但是标题能正常显示,查看控制台发现是数据位置请求报错,查阅资料后知 ...

  4. Dada_WenJian

    import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.FileWr ...

  5. JQ04

    1.JQ插件 使用插件扩展jq的功能 1)插入插件的步骤: 引入JQ文件,引入插件,若有用到css,需要引入css.使用插件. 2)jquery.color.js <!DOCTYPE html& ...

  6. poj1182 食物链(并查集 好题)

    https://vjudge.net/problem/POJ-1182 并查集经典题 对于每只动物创建3个元素,x, x+N, x+2*N(分别表示x属于A类,B类和C类). 把两个元素放在一个组代表 ...

  7. 【springboot】【redis】springboot+redis实现发布订阅功能,实现redis的消息队列的功能

    springboot+redis实现发布订阅功能,实现redis的消息队列的功能 参考:https://www.cnblogs.com/cx987514451/p/9529611.html 思考一个问 ...

  8. Python3 与 C# 并发编程之~ Net篇

    NetCore并发编程 示例代码:https://github.com/lotapp/BaseCode/tree/master/netcore/4_Concurrency 先简单说下概念(其实之前也有 ...

  9. Shader、Draw Call和渲染管线(Rendering Pipeline)

    翻阅了很多资料,也做了不少笔记,决定还是对渲染进行一个总结,以巩固所学的东西. <Real-Time Rendering, Third Edition>   (PDF的配图链接)将一个渲染 ...

  10. Jquery如何获取某个元素前(后)的文本内容?

    <span> text here... <a id="target_element">百万创想</a></span> 如何获得a标签 ...