将矩阵中某一行提取出来用数组表示,并且求出波谷值。但程序运行出来一直显示“数组索引必须为正整数或逻辑值”。请问如何修正代码?
题目:假设提取出来的某行数组为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