matlab - 在 while 循环中使用文本作为条件

标签 matlab loops text while-loop

我在使用文本作为 while 循环的条件时遇到一些问题,目前的基本编码是:

result=struct('val','yes');

while result.val=='yes'
result.val=input('more digits?');
end

正如您所见,我想做的是只要用户输入"is"就保持循环继续。但这就是我遇到的问题之一;有没有办法摆脱写“”的需要(例如,是而不是"is")?其次,当我运行代码时,它给我错误消息“使用 == 时出错,矩阵尺寸必须一致。”。我意识到这与"is"这个词比“否”更长有关,但我不知道如何解决它。尽管考虑到程序无论如何都会结束,这并不是一个真正的问题,但这是我想摆脱的烦恼。

最佳答案

要比较字符串,请使用 strcmp ,或 strcmpi 忽略大小写。它将处理不同长度字符串的比较。例如:

strcmpi(result.val,'yes')

如果您想在输入的开头搜索子字符串,例如“y”,请考虑 strncmpi (strncmpi(result.val,'y',1)) 或仅检查第一个字符 (result.val(1))。

关于matlab - 在 while 循环中使用文本作为条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19984833/

相关文章:

html - 我的 SVG 文件太大了,占据了整个网页

matlab - Matlab 命令窗口中的俄文字母

Matlab:将一个向量与许多其他向量进行卷积或相关

javascript - 在循环内使用条件

python - 计算字典键的总和

javascript - 使用对象 javascript 在对象数组中搜索

python - 如何将大写字母更改为小写字母并将空格更改为下划线

go - Golang中如何设置文本输入的初始值?

c - 从现有矩阵创建新矩阵

matlab - 如何在 MATLAB 中使用方程式填充矩阵?