matlab折线图怎么作一条连接极值的曲线已经做出了一条折线图,现在要用两根平滑的曲线画出点子上的上、下限;然后在其中间画出平均曲线,该怎么做
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/05 17:31:18
![matlab折线图怎么作一条连接极值的曲线已经做出了一条折线图,现在要用两根平滑的曲线画出点子上的上、下限;然后在其中间画出平均曲线,该怎么做](/uploads/image/z/3934745-17-5.jpg?t=matlab%E6%8A%98%E7%BA%BF%E5%9B%BE%E6%80%8E%E4%B9%88%E4%BD%9C%E4%B8%80%E6%9D%A1%E8%BF%9E%E6%8E%A5%E6%9E%81%E5%80%BC%E7%9A%84%E6%9B%B2%E7%BA%BF%E5%B7%B2%E7%BB%8F%E5%81%9A%E5%87%BA%E4%BA%86%E4%B8%80%E6%9D%A1%E6%8A%98%E7%BA%BF%E5%9B%BE%2C%E7%8E%B0%E5%9C%A8%E8%A6%81%E7%94%A8%E4%B8%A4%E6%A0%B9%E5%B9%B3%E6%BB%91%E7%9A%84%E6%9B%B2%E7%BA%BF%E7%94%BB%E5%87%BA%E7%82%B9%E5%AD%90%E4%B8%8A%E7%9A%84%E4%B8%8A%E3%80%81%E4%B8%8B%E9%99%90%EF%BC%9B%E7%84%B6%E5%90%8E%E5%9C%A8%E5%85%B6%E4%B8%AD%E9%97%B4%E7%94%BB%E5%87%BA%E5%B9%B3%E5%9D%87%E6%9B%B2%E7%BA%BF%2C%E8%AF%A5%E6%80%8E%E4%B9%88%E5%81%9A)
matlab折线图怎么作一条连接极值的曲线已经做出了一条折线图,现在要用两根平滑的曲线画出点子上的上、下限;然后在其中间画出平均曲线,该怎么做
matlab折线图怎么作一条连接极值的曲线
已经做出了一条折线图,现在要用两根平滑的曲线画出点子上的上、下限;然后在其中间画出平均曲线,该怎么做
matlab折线图怎么作一条连接极值的曲线已经做出了一条折线图,现在要用两根平滑的曲线画出点子上的上、下限;然后在其中间画出平均曲线,该怎么做
简单编了个程序,不过还是有点问题,如果一个峰有两个棱角,有可能包不进去.
如果都是一个尖就没问题.不知道合乎你要求不
n=20;
x=1:n;
y=rand(1,n); % 随机取的20个点,可以换成你自己的数据
plot(x,y)
hold on
xi=linspace(min(x),max(x),100);
indtop=find(diff(sign(diff(y)))==-2)+1; % 计算极大值点的位置
indtop=[x(1),indtop,x(end)]; % 加入第一点和最后一点
yitop=interp1(x(indtop),y(indtop),xi,'cubic'); % 上面的平滑曲线
plot(xi,yitop,'g')
indbottom=find(diff(sign(diff(y)))==2)+1; % 计算极小值点的位置
indbottom=[x(1),indbottom,x(end)]; % 加入第一点和最后一点
yibottom=interp1(x(indbottom),y(indbottom),xi,'cubic'); % 下面的平滑曲线
plot(xi,yibottom,'g')
plot(xi,(yitop+yibottom)/2,'r')
hold off