extr.m
来自「该程序是MATLAB源程序」· M 代码 · 共 39 行
M
39 行
function [inmin,inmax,nzer]=extr(x)
nzer=1;nmin=1;nmax=1;
for g=2:(length(x)-1)
if (x(g-1)*x(g)<0)|(x(g)*x(g-1)==0)&(x(g)==0)
nzer=nzer+1;
elseif (x(g-1)*x(g)<0)|(x(g-1)*x(g)==0)&(x(g-1)==0)
nzer=nzer+1;
end
if (x(g-1)<x(g))&(x(g)<x(g+1))
continue;
elseif (x(g-1)>x(g))&(x(g)>x(g+1))
continue;
elseif (x(g-1)<x(g))&(x(g)>x(g+1))
inmax(nmax)=g;
nmax=nmax+1;
elseif (x(g-1)>x(g))&(x(g)<x(g+1))
inmin(nmin)=g;
nmin=nmin+1;
end
end
nzer
inmin
inmax
plot(1:length(x),x,'k')
hold on
plot(inmin,x(inmin),'g.')
hold on
plot(inmax,x(inmax),'r.')
hold on
envmin = interp1(inmin,x(inmin),1:length(x),'spline');
envmax = interp1(inmax,x(inmax),1:length(x),'spline');
plot(1:length(x),envmin,'y-')
hold on
plot(1:length(x),envmax,'c-')
hold on
plot(1:length(x),((envmax+envmin)/2),'m-')
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?