我无法弄清楚如何在静态文本框中打印单元格数组。 我试图检查数组中的三个数值。如果值是< 3然后我将字符串存储到名为warning的单元格数组中。我想将单元数组'warning'的所有值显示在matlab gui中的静态文本框中。我在最后几行遇到了麻烦。不知道发生了什么事。任何帮助表示赞赏。我是初级水平;请一些我能理解的东西。
arr=[mathtotal englishtotal sciencetotal] %three numerical values
warning={}; % storing the message that corresponds to the values.
for x=arr
if x<3.0
warning={warning 'warning your total is less than 3'};
else
warning={warning ''} % do nothing if the value is not less than 3.
end
end
% done gathering the messages. now trying to print. having trouble here.
for x=1:3
str=sprintf('%s ', warning{x}) % trying to iterate into a variable
end
set(handles.text8, 'String', str) % trying to print the warning but not working......
答案 0 :(得分:0)
“不工作”是一个不太有用的错误说明。
猜猜......
在
的每次迭代中for x=1:3
str=sprintf('%s ', warning{x}) % trying to iterate into a variable
end
你正在替换str
的值 - 所以最后它只包含最后一次迭代的值。
你可以使用:
str = sprintf('%s ', warning{:});
sprintf重复格式字符串,直到消耗掉所有输入参数。