怎么把MATLAB绘制出来的二维曲线图的所有波峰波谷找出来呢?要求标明清楚峰谷处的坐标.(绘制的原图像程序如下)>> syms a x;y=[];n=1;a=10;for x=-50:0.1:50y(n)=vpa((1/sqrt(a^2+(a+x)^2))+(1/sqrt(a^2+(a-x)^2
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/24 08:09:05
怎么把MATLAB绘制出来的二维曲线图的所有波峰波谷找出来呢?要求标明清楚峰谷处的坐标.(绘制的原图像程序如下)>> syms a x;y=[];n=1;a=10;for x=-50:0.1:50y(n)=vpa((1/sqrt(a^2+(a+x)^2))+(1/sqrt(a^2+(a-x)^2
怎么把MATLAB绘制出来的二维曲线图的所有波峰波谷找出来呢?要求标明清楚峰谷处的坐标.
(绘制的原图像程序如下)>> syms a x;
y=[];
n=1;
a=10;
for x=-50:0.1:50
y(n)=vpa((1/sqrt(a^2+(a+x)^2))+(1/sqrt(a^2+(a-x)^2)));
n=n+1;
end
x=-50:0.1:50;
plot(x,y)
set(gca,'XTick',[-50:5:50])
怎么把MATLAB绘制出来的二维曲线图的所有波峰波谷找出来呢?要求标明清楚峰谷处的坐标.(绘制的原图像程序如下)>> syms a x;y=[];n=1;a=10;for x=-50:0.1:50y(n)=vpa((1/sqrt(a^2+(a+x)^2))+(1/sqrt(a^2+(a-x)^2
a = 10;
x = -50:0.1:50;
y = 1./sqrt(a^2+(a+x).^2)+1./sqrt(a^2+(a-x).^2);
plot(x,y);
grid on;
yy = diff(y);
yy(yy<0) = -1;
yy(yy>0) = 1;
yyy = diff(yy);
mv = yyy(yyy~=0);
id = find(yyy~=0);
x0 = x(id);
y0 = y(id);
hold on;
for k = 1:length(id);
plot(x0(k),y0(k),'r.');
if mv(k)<0
s = '峰:';
else
s = '谷:';
end;
s = [s num2str(x0(k)) ',' num2str(y0(k))];
text(x0(k),y0(k),s);
end;
hold off;