如何用matlab在数组中提取波谷值

将矩阵中某一行提取出来用数组表示,并且求出波谷值。但程序运行出来一直显示“数组索引必须为正整数或逻辑值”。请问如何修正代码?

题目:假设提取出来的某行数组为331332331332123,现在需提取出波谷值并且确定该数值在数组中的位置。

之前在网上查找,说可以在语句前用clear清空工作区,但并不能解决我的问题。代码如下:

AA=imread('1.png');%全部数据
RR=AA(:,:,1);%红色
GG=AA(:,:,2);%绿色
BB=AA(:,:,3);%蓝色
AA2=uint8(zeros(size(AA)));
TT1=BB<180;%不够蓝的区域 去除
TT2=GG>150&BB>150&RR>150;%白色的文字 去除
TT=TT1|TT2;
BB(TT)=nan;
 [y,x]=find(BB==max(max(BB)));%求出基准线的图像坐标
n=mode(y);%众数
a=BB(n,:);%提取基准线所在行的每一列
m=a(:);
for i=1:length(a)
 variable=a(i);%这也是在网上看到的,不过这一行代码有什么意义吗?
  
if (a(i)<a(i-1)&&a(i)<a(i+1)) 
    b(i)=a(i);
   
end
end

已解决

已解决