>> disp('pi=',pi)

??? Error using ==> disp

Too many input

arguments.

>> disp(sprintf('圓周率pi= %8.5f',pi))

圓周率pi=  3.14159

想把字符串pi=和變量pi的值顯示在一行上,試用disp(′pi=′,pi),回答這是非法的.這時應該用sprintf函數,它可把數據按要求的格式轉換為字符串,再把它與需要顯示的字符串組裝成一個長字符串,使顯示格式非常靈活,人機界面更為友好.如鍵入

st=sprintf(′ 圓周率pi= %8.5f′,pi);

disp(st)

結果為

圓周率pi=3.14159

其中,%為數據格式符,f表示十進制浮點,8.5表示數字的長度為8位,小數點后5位.從%到f之間的字符都是不顯示的,它只指出顯示數據pi的格式,跟C的printf很相似。

字 符 串 轉 換

abs

字符串到ASCII轉換

dec2hex

十進制數到十六進制字符串轉換

fprintf

把格式化的文本寫到文件中或顯示屏上

hex2dec

十六進制字符串轉換成十進制數

hex2num

十六進制字符串轉換成IEEE浮點數

int2str

整數轉換成字符串

lower

字符串轉換成小寫

num2str

數字轉換成字符串

setstr

ASCII轉換成字符串

sprintf

用格式控制,數字轉換成字符串

sscanf

用格式控制,字符串轉換成數字

str2mat

字符串轉換成一個文本矩陣

str2num

字符串轉換成數字

upper

字符串轉換成大寫

在許多情況下,希望把一個數值嵌入到字符串中。幾個字符串轉換可完成這個任務。

» rad=2.5; area=pi*rad^2;

» t=[' A circle of radius ' num2str(rad) ' has an area of ' num2str(area) ' . ' ] ;

» disp(t)

A circle of radius 2.5 has an area of 19.63.

這里函數num2str用來把數值轉換成字符串,字符串連接用來把所轉換的數嵌人到一個字符串句子中。按類似方式,int2str把整數轉換成字符串。無論是num2str還是int2str都調用函數sprintf,它用類似C語言語法把數值轉換成字符串。

函數fprintf經常是函數disp的一個有用替換,由於它提供了對結果更多的控制。當准備把格式化的數據寫到一個文件中去時,按缺省它在命令窗口顯示結果。例如,

» fprintf(' See what this does ')

See what this does»

» fprintf(' See what this does\n ')

See what this does

在上面第一個例子里,fprintf顯示字符串,然后立即給出MATLAB提示符。相反,在第二個例子里,\n插入一個新行字符,在MATLAB提示符出現之前創建一個新行。

無論fprintf還是sprintf以同樣方式處理輸入參量,但fprintf把輸出送到顯示屏或文件中,而sprintf把輸出返回到一個字符串中。例如,上面的例子用num2str可重寫為

» t=sprintf(' A circle of radius %.4g has an area of %.4g. ', rad, area);

» disp(t)

A circle of radius 2.5 has an area of 19.63.

» fprintf(' A circle of radius %.4g has an area of %.4g.\n ' , rad, area)

A circle of radius 2.5 has an area of 19.63.

這里%.4g是用在函數num2str中的數據格式。%.4g就是用指數或定點標記,不管哪一種更短些,只顯示至4位數字。除了g格式,還可用e (指數)和f (定點)轉換。表6.2表明在各種不同轉換下,如何顯示pi結果。

表6.2

數 值 格 式 轉 換 例 子

命令

結果

fprintf(' %.0e\n ',pi)

3e+00

fprintf(' %.1e\n ',pi)

3.1e+00

fprintf(' %.3e\n ',pi)

3.142e+00

fprintf(' %.5e\n ',pi)

3.14159e+00

fprintf(' %.10e\n ',pi)

3.1415926536e+00

fprintf(' %.0f\n ',pi)

3

fprintf(' %.1f\n ',pi)

3.1

fprintf(' %.3f\n ',pi)

3.142

fprintf(' %.5f\n ',pi)

3.14159

fprintf(' %.10f\n ',pi)

3.1415926536

fprintf(' %.0g\n ',pi)

3

fprintf(' %.1g\n ',pi)

3

fprintf(' %.3g\n ',pi)

3.14

fprintf(' %.5g\n ',pi)

3.1416

fprintf(' %.10g\n ',pi)

3.141592654

fprintf(' %.8.0g\n ',pi)

3

fprintf(' %.8.1g\n ',pi)

3

fprintf(' %.8.3g\n ',pi)

3.14

fprintf(' %.8.5g\n ',pi)

3.1416

fprintf(' %.8.10g\n ',pi)

3.141592654

注意,對e 和f 格式,小數點右邊的十進制數就是小數點右邊要顯示的多少位數字。相反,在g的格式里,小數點右邊的十進制數指定了顯示數字的總位數。另外,注意最后的五行,其結果指定為8個字符長度,且是右對齊。在最后一行,8被忽略,因為指定超過了8位。

概括起來,當需要比缺省函數disp,num2str和int2str所提供的更多的控制時,fprintf和sprintf是有用的。

函數str2mat把一列的幾個字符串轉換成一個字符串矩陣。例如,

» a=' one ' ; b= ' two ' ; c= ' three ' ;

» disp(str2mat(a, b, c, ' four '))

one

two

three

four

從上面看不明顯,上面的每行有同樣數目的元素。較短行用空格補齊,使結果形成一個有效的矩陣

在逆方向轉換中,有時是很方便的。

» s= ' [1 2; pi 4] ' % a string of a MATLAB matrix

s =

[1 2; pi 4]

» str2num(s)

ans =

1.0000 2.0000

3.1416 4.0000

» s=' 123e+5 ' % a string containing a simple number

s =

123e+5

» str2num(s)

ans =

12300000

函數str2num不能接受用戶定義的變量,也不能執行轉換過程的算術運算。

pcolor(X,Y,C)函數的用法: X,Y是用來定位的,C是用來填充顏色的。

當X,Y是向量時,X與C的列對應,Y與C的行對應,因此向量X和Y的維數必須要求與C的列與行統一。所以使用時注意檢查X,Y,C的大小和維數。

其后面最好用上函數:shading interp;

matlab fprintf和disp,matlab中 fprintf 和disp的用法相关推荐

  1. matlab norm函数使用_matlab中norm与svd函数用法

    格式:n=norm(A,p) 功能:norm函数可计算几种不同类型的矩阵范数,根据p的不同可得到不同的范数 以下是Matlab中help norm 的解释: NORM Matrix or vector ...

  2. matlab中fprintf函数的具体使用方法

    matlab中fprintf函数的具体使用方法实例如下: fprintf函数可以将数据按指定格式写入到文本文件中.其调用格式为: 数据的格式化输出:fprintf(fid, format, varia ...

  3. 怎么把dll库写成MATLAB接口,如何在Matlab中应用动态连接库接口技术

    1 引言 Matlab是当前应用最为广泛的数学软件,具有强大的数值计算.数据分析处理.系统 分析.图形显示甚至符号运算等功能.利用这一完整的数学平台,用户可以快速实现十分 复杂的功能,极大地提高工程分 ...

  4. matlab子函数调用变量,matlab中,怎么样用function自定义函数调用另一个函数名为输入?...

    点击查看matlab中,怎么样用function自定义函数调用另一个函数名为输入?具体信息 答:test定义两个参数,一个是函数,一个是函数的变量. function [z]=test11(funna ...

  5. matlab .m 返回值,MATLAB一个M文件的function返回值怎么在另一个M文件中的函数调用这个返回值?...

    答:1.首先要在笔记本电脑上安装好指定版本的matlab软件并双击打开. 2.然后双击matlab图标打开其主页面,可以看到这个软件的按钮都是全英文单词的. 3.那么创建m文件的方法就是鼠标移动到Ne ...

  6. matlab保存所有图,Matlab中图片保存的5种方法

    matlab的绘图和可视化能力是不用多说的,可以说在业内是家喻户晓的. Matlab提供了丰富的绘图函数,比如ez**系类的简易绘图函数,surf.mesh系类的数值绘图函数等几十个.另外其他专业工具 ...

  7. 使用Matlab提取ADC采样数据中的噪声

    正常波形与噪声波形的区别 正常方波信号的特征:一个周期内的数据按时间单调变化,则仅有2种情况:① 数据在上升或下降边沿时,其两边的数据则是一边大一边小(如下图中C和D点):② 数据处于平稳时,则两边大 ...

  8. matlab stem函数坐标轴_MATLAB中stem函数用法

    stem(Y) 将数据序列Y从x轴到数据值按照茎状形式画出,以圆圈终止.如果Y是一个矩阵,则将其每一列按照分隔方式画出. stem(X,Y)在X的指定点处画出数据序列Y.  stem(...,'fil ...

  9. matlab 脚本是什么意思,MATLAB提示不能在脚本中定义函数,是什么意思?

    点击查看MATLAB提示不能在脚本中定义函数,是什么意思?具体信息 答:你试图在命令窗口定义函数,这种做法是错误的. 你需要建立一个.m文件,文件名是Chebyshev.m,然后在里面输入源程序. 答 ...

  10. matlab 圆角,rectangle函数MATLAB matlab中rectangle画圆角矩形

    MATLAB如何画长方形,怎么用rectangle函数 rectangle函数用于绘制矩形图形.例如>>rectangle('Position',[0 0 2 4],'Curvature' ...

最新文章

  1. 图像形态学(opencv),运行后通过在屏幕上输入对应指令完成相对应的形态学方法。
  2. EXSI中Linux安装tools
  3. InstallShield 2011正式发布
  4. 不良事件总结怎么写_护理不良事件总结分析.doc
  5. JavaScript 基本类型的装箱与拆箱
  6. JQuery访问json、js等文件
  7. 数字图像处理与机器视觉,机器视觉算法与应用 pdf电子版
  8. 关于Delphi7中日期函数StrtoDate的正确用法 win7报错
  9. C语言测量平差课程设计,测量平差课程设计-20210419024415.docx-原创力文档
  10. 关于面试总结6-SQL经典面试题
  11. MySQL Error 1048 奇遇记
  12. mysql弱口令加强,Mysql弱口令取得系统权限(续)
  13. pythontrun什么意思_python新手笔记一
  14. 关于使用群晖系统创建音乐外链的研究
  15. 算法每日一题——第六天——干草堆(差分)
  16. error in ./node_modules/swagger-ui-react/swagger-ui.js
  17. ABAP SY标签一览表
  18. 2022长安杯的网站重构及部分题解
  19. vista下3dsmax 9 DxDDS.bmi 未能初始化的修复方法
  20. 免费下载:超棒的用户界面PSD设计

热门文章

  1. python实现归结演绎推理_归结演绎推理
  2. 人工智能 —— 自然演绎推理
  3. element-ui + 腾讯地图
  4. 轨迹优化 | Minimum-jerk
  5. 煤炭及煤化工加工会产生什么危废_煤化工固体废物的清洁处置
  6. AutoCAD中添加块和块参照(转载)
  7. 英文论文如何进行润色?
  8. 统计学考研笔记:季度指数
  9. 报错 Tensorflow 2.0 Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
  10. Canvas 自由落体