?? findmins.m
字號:
function [minVal,minIndex]=findmins(Y,count) %尋找曲線中的谷底點%參數要求:Y --- 是列向量;count --- 谷底的點個數
if count ==0 %錯誤,個數至少要為1
count=1;
end
[m,n]=size(Y);
%如果是行向量,那么轉置為列向量
if(m<n)
Y=Y';
end
Y=double(Y);
B=zeros(size(Y));
nCount=max(size(Y));
for i=3:(nCount-2)
if((Y(i,1)<Y(i+1,1))&(Y(i,1)<Y(i+2,1))&(Y(i,1)<=Y(i-1,1))&(Y(i,1)<Y(i-2,1)) )
B(i,1)=1;
end
end
index=find(B~=0);
if sum(index)==0 %如果沒有局部最小值,則返回
minVal = 0;
minIndex = 0;
return;
end
temp=Y(index,1);
A=sort(temp);
%如果A中的元素個數比count少,那么就為count賦值為A的元素個數。
if count > max(size(A))
count=max(size(A));
end
if count ==0
minVal=0;
minIndex=0;
return;
end
for i=1:count %防止有兩個相同的谷底
minVal(i,1)=A(i,1);
Y1=Y.*B;
tmpIndex=find(Y1==A(i,1));
minIndex(i,1)=tmpIndex(1,1);
B(tmpIndex(1,1),1)=0;
end
if m<n
minVal=minVal';
minIndex=minIndex';
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -