我想在matlab中使用结构,但在第一次迭代中它运行正确,在其他迭代中给出该消息。
包含字段的1x2结构数组:
我的代码是:
for i=1:lenfd
currow=rees(i,:)
maxcn=max(currow)
if maxcn~=0
maxin=find(currow==maxcn)
ress(i).x =maxin
end
end
谢谢。
答案 0 :(得分:3)
该消息不是警告或错误。这只是MATLAB打印操作的输出。默认情况下,它会执行此操作,除非您通过在命令中附加分号来禁止它:
for ii = 1:lenfd
currow = rees(ii,:); % <=== NOTE: semicolons at the end
maxcn = max(currow);
if maxcn ~= 0
ress(ii).x = find(currow==maxcn);
end
end
注意max()
可能有2个输出,第二个输出是进入最大值的数组的第一个索引。如果您事先知道任何最大值只会出现一次,则可以跳过find()
的调用并使用max()
的第二个输出。