matlab数据循环中总是被覆盖

问题遇到的现象和发生背景
遇到的现象和发生背景,请写出第一个错误信息

img

matlab循环中,对数组求最大值,Index位置总是被新的循环数据覆盖,这最后只输出KK=3所对应的index,前面两个被覆盖掉了,不能形成矩阵,max-kesei是一个矩阵,请问这如何解决啊

因为您的 index 变量在每一次循环中都会被更新,而不是在每个内部循环结束后更新,因此最后只能得到 KK = 3 时的索引。

解决方法:在内部循环内部定义 index 变量。

代码:

for LL = 5:1:5
for kk = 1:1:3
for z = 1:1:1
[max_kesei{LL,kk},index]=max(kesei{LL,kk},[],1)
[ccmax]=cc{LL,kk}(index,1)
index = []; % 在每个内部循环结束后更新
end
end
end