matlab 特殊字符中输入字符与输出不符是怎么回事

Matlab 输入输出函数整理_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Matlab 输入输出函数整理
上传于||文档简介
&&M​a​t​l​a​b​ ​输​入​输​出​函​数​整​理​,​比​较​全​,​方​便​大​家​查​阅
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩1页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢查看: 7665|回复: 5|关注: 0
fprintf,怎么输出字符串啊?
<h1 style="color:# 麦片财富积分
新手, 积分 10, 距离下一级还需 40 积分
控制仪器仪表用:
我要输出类似格式的命令:
fprintf(obj,'Money: ''10'' yuan');
fprintf(obj,'Good:''news'' to you');
我的想法:
var_1 = 10;
temp_1 = strcat('Money:',num2str(var_1),' yuan');
temp_2 = strcat('Good:',var_2,'to you');
fprintf(obj,'temp_1');
fprintf(obj,'temp_2');
问题一:其实实际想一想,这是无法实现的,因为到最后调用的时候,temp_1和temp_2不再是变量,而是变成了本身所代表的字符串
问题二:10、news这些字符串我希望能在是用的时候加上双引号‘’‘’,而整个字符串的外面我需要加上单引号‘’,但这也没法实现
帖子最佳答案
关注者: 434
你说了这么多,不清楚你要实现的是不是这样子:
var_1 = 10;
var_2 = 'news';
fprintf('Money: &%d& yuan \n', var_1);
fprintf('Good: &%s & to you\n', var_2);
<h1 style="color:# 麦片财富积分
本帖最后由 duguyun 于
00:47 编辑
你说了这么多,不清楚你要实现的是不是这样子:
var_1 = 10;
你的效果和我用strcat差不多,实现不了
因为你把它当做一种文本字符处理了,而没有遵守仪器命令固定的格式
帖子最佳答案
关注者: 434
你的效果和我用strcat差不多,实现不了
因为你把它当做一种文本字符处理了,而没有遵守仪器命令固定的格式 ...
“仪器命令固定的格式”, 我在你的问题里没有找到关于这的描述
那你需要什么效果你应该描述清楚
<h1 style="color:# 麦片财富积分
“仪器命令固定的格式”, 我在你的问题里没有找到关于这的描述
那你需要什么效果你应该描述清楚 ...
这个问题已经解决了,谢谢
但出现了新的问题
我用GUI中edit控件,但调用下列语句时总是报错:
???Attempt to reference field of non-structure array
Error in ==&SP_verify&pushbutton1_Callback_at_152
xx = get(handles.edit5,'string')
试过N多种办法,这个问题有时能解决,有时重启以后,问题又出来了,不知道问题的根源到底在哪?
<h1 style="color:#1 麦片财富积分
关注者: 3
使用sprintf
站长推荐 /2
Powered by【图文】04.MATLAB数据输入输出_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
04.MATLAB数据输入输出
上传于||暂无简介
大小:255.00KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢查看: 2736|回复: 0
在线时间9 小时最后登录注册时间听众数收听数能力0 分体力250 点威望0 点阅读权限150积分105相册日志记录帖子主题精华0分享好友
TA的每日心情衰 15:36签到天数: 17 天[LV.4]偶尔看看III自我介绍认真
填写您的邮件地址
通过对于建模思路和方法的讲解,突破建模关键十次课的集训,提升获奖率真正的面授培训,数学中国讲师团封闭密训在学习中获得突破和提高帮助学生在美赛中取得理想成绩。
字符串和它的ASCII表示之间转换外,MATLAB还提供了大量的其它的有用的字符串转换函数。它们包括:
字&&符&&串&&转&&换
字符串到ASCII转换
十进制数到十六进制字符串转换
把格式化的文本写到文件中或显示屏上
十六进制字符串转换成十进制数
十六进制字符串转换成IEEE浮点数
整数转换成字符串
字符串转换成小写
数字转换成字符串
ASCII转换成字符串
用格式控制,数字转换成字符串
用格式控制,字符串转换成数字
字符串转换成一个文本矩阵
字符串转换成数字
字符串转换成大写
& & 在许多情况下,希望把一个数值嵌入到字符串中。几个字符串转换可完成这个任务。
& && && & &#187; rad=2.5;&&area=pi*rad^2;
& && && & &#187; t=[' A circle of radius '&&num2str(rad)&&' has an area of ' num2str(area)&&' . ' ] ;
& && && & &#187; disp(t)
& && && & A circle of radius 2.5&&has an area of&&19.63.
& & 这里函数num2str用来把数值转换成字符串,字符串连接用来把所转换的数嵌人到一个字符串句子中。按类似方式,int2str把整数转换成字符串。无论是num2str还是int2str都调用函数sprintf,它用类似C语言语法把数值转换成字符串。
& & 函数fprintf经常是函数disp的一个有用替换,由于它提供了对结果更多的控制。当准备把格式化的数据写到一个文件中去时,按缺省它在命令窗口显示结果。例如,
& && && && && && && && && &&&&#187; fprintf(' See what this does ')
& && && && && && && && && &&&See what this does&#187;
& && && && && && && && && &&&&#187; fprintf(' See what this does\n ')
& && && && && && && && && &&&See what this does
& & 在上面第一个例子里,fprintf显示字符串,然后立即给出MATLAB提示符。相反,在第二个例子里,\n 插入一个新行字符,在MATLAB提示符出现之前创建一个新行。
& & 无论fprintf还是sprintf以同样方式处理输入参量,但fprintf把输出送到显示屏或文件中,而sprintf把输出返回到一个字符串中。例如,上面的例子用num2str可重写为
& && && & &#187; t=sprintf(' A circle of radius %.4g has an area of %.4g. ', rad, area);
& && && & &#187; disp(t)
& && && & A circle of radius 2.5 has an area of 19.63.
& && && & &#187; 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结果。
数&&值&&格&&式&&转&&换&&例&&子
fprintf(' %.0e\n ',pi)
fprintf(' %.1e\n ',pi)
fprintf(' %.3e\n ',pi)
fprintf(' %.5e\n ',pi)
3.14159e+00
fprintf(' %.10e\n ',pi)
fprintf(' %.0f\n ',pi)
fprintf(' %.1f\n ',pi)
fprintf(' %.3f\n ',pi)
fprintf(' %.5f\n ',pi)
fprintf(' %.10f\n ',pi)
fprintf(' %.0g\n ',pi)
fprintf(' %.1g\n ',pi)
fprintf(' %.3g\n ',pi)
fprintf(' %.5g\n ',pi)
fprintf(' %.10g\n ',pi)
fprintf(' %.8.0g\n ',pi)
fprintf(' %.8.1g\n ',pi)
fprintf(' %.8.3g\n ',pi)
fprintf(' %.8.5g\n ',pi)
fprintf(' %.8.10g\n ',pi)
& & 注意,对e 和f 格式,小数点右边的十进制数就是小数点右边要显示的多少位数字。相反,在g 的格式里,小数点右边的十进制数指定了显示数字的总位数。另外,注意最后的五行,其结果指定为8个字符长度,且是右对齐。在最后一行,8被忽略,因为指定超过了8位。
& & 概括起来,当需要比缺省函数disp,num2str和int2str所提供的更多的控制时,fprintf和sprintf是有用的。
& & 函数str2mat把一列的几个字符串转换成一个字符串矩阵。例如,
& && && && && && && && && &&&&#187; a=' one ' ; b= ' two ' ; c= ' three ' ;
& && && && && && && && && &&&&#187; disp(str2mat(a, b, c, ' four '))
& && && && && && && && && &&&one&&
& && && && && && && && && &&&two&&
& && && && && && && && && &&&three
& && && && && && && && && &&&four
从上面看不明显,上面的每行有同样数目的元素。较短行用空格补齐,使结果形成一个有效的矩阵
& & 在逆方向转换中,有时是很方便的。
& && && && && && & &#187; s= ' [1&&2; pi&&4] '& &&&%&&a string of a MATLAB matrix
& && && && && && & s =
& && && && && && & [1&&2; pi&&4]
& && && && && && & &#187; str2num(s)
& && && && && && & ans =
& && && && && && && & 1.0000& & 2.0000
& && && && && && && &&&3.1416& & 4.0000
& && && && && && & &#187; s=' 123e+5 '& && &%&&a string containing a simple number
& && && && && && & s =
& && && && && && & 123e+5
& && && && && && & &#187; str2num(s)
& && && && && && & ans =
& && && && && && && &&&
& & 函数str2num不能接受用户定义的变量,也不能执行转换过程的算术运算。
踩过的脚印
啦啦啦~~~我是默认签名(*^__^*)
大家赶快报名吧,美赛之前最重要的练习赛,今年有三名美籍评审参与最终阅卷!
Powered by
& &论坛法律顾问:王兆丰

我要回帖

更多关于 matlab 特殊字符 的文章

 

随机推荐