[转载]MATLAB中输⼊⽂本框的简单应⽤
原⽂地址:MATLAB中输⼊⽂本框的简单应⽤作者:海底消防员
如果程序需要从键盘接受数据或者通过键盘进⾏控制,那么输⼊对话框inputdlg是个不错的选择。现将程序段贴出来,便于⼤家理解。
prompt={'输⼊内容的提⽰'};
name=' 输⼊⽂本框的标题';
numlines=1;
defaultanswer={''};
answer=inputdlg(prompt,name,numlines,defaultanswer);
执⾏结果如下:
⾄于该段程序具体各句是什么意思以及如何实现,此处不作讲解,我们关注的是如何使⽤该程序段。
由程序段中的汉字部分结合上图不难理解程序段中位于字符串位置的汉字部分的作⽤:⼀般是⽤作标题或注释。当然,此处并不是只能⽤汉字,⼀般字符均可。
下⾯我们着重讨论该程序段的返回值及如何利⽤这些返回值。
这段程序的返回值就是answer,为了便于理解,我们通过⼀个输⼊的例⼦来说明。我们通过键盘输⼊字符串asdf1234!@#$,然后点击“OK”,回到命令窗⼝输⼊answer然后回车,可得answer =
'asdf1234!@#$'。通过class函数查看answer数据类型,为char型,即字符型。下⼀步是得到‘’⾥⾯的字符串。可⽤语句a1=answer{1}得到单引号内的字符串,显然a1也为字符串。⽤whos查看,可看出a1为12个字符,共24个字节,与程序结果相符。下⾯就是要如何利⽤这个字符串。
html内容文本框⼀般我们对数据进⾏处理,使⽤的数据是双精度的。那么我们就想如何把字符串转化为双精度数据以便进⾏运算处理及控制。对于字符串转换为双精度数据,我们可以使⽤str2num函数和double函数,但str2num函数仅能对阿拉伯数字字符串进⾏转换,灵活性不⾼。此处我们选择后者。double函数是将字符串转换为对应的ASCII码,转换后也是双精度类型的。我们可以使⽤for循环依次将每个字符转换为双精度数据,其中double函数格式为double('a'),a为字符。
下⾯结合我做过的设计,谈下如何控制程序运⾏。
M⽂件三:
prompt={'请输⼊歌曲简谱(例如:1234abcd):'};
name='Input for Peaks function';
numlines=1;
defaultanswer={''};
answer=inputdlg(prompt,name,numlines,defaultanswer);
M⽂件四:
a1=answer{1};              %抽取单引号内的字符串
for i=1:length(a1),
b(i)=double([a1(i)]);  %将每个字符转换为其ASCII码
end
M⽂件五:
for i=1:length(b),
switch b(i)
case 49          %对应输⼊字符的ASCII码
case 50
case 51
end
end
具体字符对应执⾏语句可加在case语句后即可。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。