Matlab 获取数组极值的横纵坐标

function [x,y] = findpolarpoint(a)%FINDPOLARPOINT 此处显示有关此函数的摘要% a:输入数组% x
function [x,y] = findpolarpoint(a)
%FINDPOLARPOINT 此处显示有关此函数的摘要
%   a:输入数组
%   x:返回极值点的横坐标
%   y:返回极值点的纵坐标b = [a(2:end),0];c = a-b;c_ = [c(2:end),0];d = c .* c_;e = find(d<0);x = [];y = [];for i = 1:length(e)d = e(i);x = [x,d+1];y = [y,a(d+1)];end
end

使用方法

% in
a = [1,2,3,4,5,6,7,4,2,7,9];
[x,y] = findpolarpoint(a)
% out
x =7     9    11
y =7     2     9