方法一:利用插值法
function C = maximal2(A)
%查找数组的极大值
D = [-inf,A,-inf]
E = find(diff(sign(diff(D)))== -2 );
F = A(find(diff(sign(diff(D)))== -2));
C = [E;F]
end
方法二:条件讨论法
function B = maximal(A)
%查找数组的极大值
B=[;];
N=1;
while N <=numel(A)
if numel(A)==1
B(1,1)=1;
B(2,1)=A(1);
elseif N==1&&A(1)>A(2)
B(1,1)=1;
B(2,1)=A(1);
elseif N>=2&&N<=numel(A)-1&&A(N)>A(N-1) && A(N)>A(N+1)
B(1,end+1)=N;
B(2,end)=A(N);
elseif N==numel(A)&&A(N)>A(N-1)
B(1,end+1) = N;
B(2,end) = A(N);
end
N =N+1;
disp (B)
end