在静态文本框matlab中打印单元格数组

时间:2013-11-12 04:18:24

标签: arrays matlab

我无法弄清楚如何在静态文本框中打印单元格数组。 我试图检查数组中的三个数值。如果值是< 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......

1 个答案:

答案 0 :(得分:0)

“不工作”是一个不太有用的错误说明。

猜猜......

的每次迭代中
for x=1:3
      str=sprintf('%s ', warning{x})  % trying to iterate into a variable
end

你正在替换str的值 - 所以最后它只包含最后一次迭代的值。 你可以使用:

str = sprintf('%s ', warning{:});

sprintf重复格式字符串,直到消耗掉所有输入参数。