matlab 在曲线上画其切线的问题
拟合出各点的曲线后,用polyder函数求其导数,以在曲线上画出切线。但不知为什么画出的切线没有在曲线上,而且还不对。请大侠们赐教,谢谢!程序及图如下:y=log10(i...
拟合出各点的曲线后,用polyder函数求其导数,以在曲线上画出切线。但不知为什么画出的切线没有在曲线上,而且还不对。请大侠们赐教,谢谢!程序及图如下:
y=log10(i);coff=polyfit(t,y,2);plot(t,y,'*');hold onval=polyval(coff,t);%曲线拟合plot(t,val,'k','linewidth',2);hold onder=polyder(coff);val1=polyval(der,t);%切线拟合plot(t,val1,'k','linewidth',2);hold on 展开
y=log10(i);coff=polyfit(t,y,2);plot(t,y,'*');hold onval=polyval(coff,t);%曲线拟合plot(t,val,'k','linewidth',2);hold onder=polyder(coff);val1=polyval(der,t);%切线拟合plot(t,val1,'k','linewidth',2);hold on 展开
展开全部
clc;clear
x = (0:1:20)';
y = -10*(x).^1.2+x.^2+20*(rand(numel(x),1)-1);%我随便给出的xy值你可以改
plot(x,y,'r-')
p = polyfit(x,y,2);
ynew = polyval(p,x);
hold on
plot(x,ynew,'g-')
p1 = polyder(p);
% 求x0 y0处的切线
x0 = 10;
y0 = polyval(p,x0);
y01 = polyval(p1,x0);
y1 = y01*(x-x0)+y0;
plot(x,y1,'b-')
legend('原曲线','拟合曲线','切线')
box off
grid on
结果展示
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |