在while循环中使用text作为条件

时间:2013-11-14 17:54:19

标签: matlab loops text while-loop

我在使用text作为while循环的条件时遇到了一些麻烦,目前基本的编码是:

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

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

正如你所看到的,我想做的就是在用户键入'yes'时保持循环。但那是我所遇到的一个问题;有没有办法摆脱写''的必要性(例如是,而不是'是')?其次,当我运行代码时,它给出了错误消息“Error using ==,Matrix dimension必须同意。”。我意识到这与“是”比“不”这个词有关,但我不知道如何修复它。虽然考虑到程序结束但这并不是一个问题,但我想摆脱它是一种烦恼。

1 个答案:

答案 0 :(得分:3)

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

strcmpi(result.val,'yes')

如果要在输入的开头搜索子字符串(例如只是'y'),请考虑strncmpistrncmpi(result.val,'y',1))或只检查第一个字符({{1 }})。