matlab中fprintf和disp的用法 matlab disp fprintf

matlab中fprintf 和disp的用法

>> disp('pi=',pi)

??? Error using==> disp
Too many input
arguments.

>> disp(sprintf('圆周率pi= %8.5f',pi))
matlab中fprintf和disp的用法 matlab disp fprintf
圆周率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 ofradius ' num2str(rad) ' has an area of ' num2str(area) ' . ' ];

» disp(t)

A circle of radius 2.5has an area of 19.63.

这里函数num2str用来把数值转换成字符串,字符串连接用来把所转换的数嵌人到一个字符串句子中。按类似方式,int2str把整数转换成字符串。无论是num2str还是int2str都调用函数sprintf,它用类似C语言语法把数值转换成字符串。

函数fprintf经常是函数disp的一个有用替换,由于它提供了对结果更多的控制。当准备把格式化的数据写到一个文件中去时,按缺省它在命令窗口显示结果。例如,

» fprintf(' See whatthis does ')

See what this does»

» fprintf(' See whatthis doesn ')

See what this does

在上面第一个例子里,fprintf显示字符串,然后立即给出MATLAB提示符。相反,在第二个例子里,n插入一个新行字符,在MATLAB提示符出现之前创建一个新行。

无论fprintf还是sprintf以同样方式处理输入参量,但fprintf把输出送到显示屏或文件中,而sprintf把输出返回到一个字符串中。例如,上面的例子用num2str可重写为

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

» disp(t)

A circle of radius 2.5has an area of 19.63.

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

A circle of radius 2.5has an area of 19.63.

这里%.4g是用在函数num2str中的数据格式。%.4g就是用指数或定点标记,不管哪一种更短些,只显示至4位数字。除了g格式,还可用e(指数)和f(定点)转换。表6.2表明在各种不同转换下,如何显示pi结果。

表6.2

数 值 格 式 转 换 例 子

命令

结果

fprintf(' %.0en',pi)

3e+00

fprintf(' %.1en',pi)

3.1e+00

fprintf(' %.3en',pi)

3.142e+00

fprintf(' %.5en',pi)

3.14159e+00

fprintf(' %.10en',pi)

3.1415926536e+00

fprintf(' %.0fn',pi)

3

fprintf(' %.1fn',pi)

3.1

fprintf(' %.3fn',pi)

3.142

fprintf(' %.5fn',pi)

3.14159

fprintf(' %.10fn',pi)

3.1415926536

fprintf(' %.0gn',pi)

3

fprintf(' %.1gn',pi)

3

fprintf(' %.3gn',pi)

3.14

fprintf(' %.5gn',pi)

3.1416

fprintf(' %.10gn',pi)

3.141592654

fprintf(' %.8.0gn',pi)

3

fprintf(' %.8.1gn',pi)

3

fprintf(' %.8.3gn',pi)

3.14

fprintf(' %.8.5gn',pi)

3.1416

fprintf(' %.8.10gn',pi)

3.141592654

注意,对ef格式,小数点右边的十进制数就是小数点右边要显示的多少位数字。相反,在g的格式里,小数点右边的十进制数指定了显示数字的总位数。另外,注意最后的五行,其结果指定为8个字符长度,且是右对齐。在最后一行,8被忽略,因为指定超过了8位。

概括起来,当需要比缺省函数dispnum2strint2str所提供的更多的控制时,fprintfsprintf是有用的。

函数str2mat把一列的几个字符串转换成一个字符串矩阵。例如,

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

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

one

two

three

four

从上面看不明显,上面的每行有同样数目的元素。较短行用空格补齐,使结果形成一个有效的矩阵

在逆方向转换中,有时是很方便的。

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

s =

[1 2; pi 4]

» str2num(s)

ans =

1.0000 2.0000

3.1416 4.0000

» s=' 123e+5 ' % astring 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的大小和维数。

其后面最好用上函数:shadinginterp;

原文:http://www.cnblogs.com/jameskun77/p/3223931.html

  

爱华网本文地址 » http://www.413yy.cn/a/25101010/20856.html

更多阅读

RAM和ROM的区别 手机中ram和rom的区别

RAM和ROM的区别——简介RAM、ROM 一直是困扰不少用户的两个概念。很多手机用户不知道 RAM 和 ROM 到底有什么区别,总是一知半解,云雾缭绕。如今,小编为您解答,告诉您到底 RAM 和 ROM 有哪些区别。RAM和ROM的区别——RAM和ROM的区别RAM

cisco ios 升级方法和TFTP的用法 cisco ap ios升级

cisco ios 升级方法和TFTP的用法升级方法:现总结归纳出CISCO路由器IOS映像升级的几种方法,供广大网络爱好者或同仁参考。在介绍CISCO路由器IOS升级方法前,有必要对Cisco路由器的存

fairly和rather的用法比较 would rather的用法

fairly和rather的用法是高中阶段比较难掌握的用法,原因在于rather和fairly的区别很多,很细,但是在我们的日常交际中却不常见,09年的高考题也只涉及到2个单项【2009年天津卷】Itwas a nice house,

spend,take,cost和pay的用法区别 spend cost take

spend,cost,take和pay的区别是历年中考试题的必考内容之一,虽然它们都可以表示“花费”,但用法却不尽相同。pay 一般是人做主语,例:I pay an hour to do my homework.spend 一般是人做主语,例:I spend an hour to finish my homework.cost

声明:《matlab中fprintf和disp的用法 matlab disp fprintf》为网友浪推晚风分享!如侵犯到您的合法权益请联系我们删除