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
展开
 我来答
PeriShare
推荐于2018-04-08 · 分享PD理论最新研究成果和进展
PeriShare
采纳数:2408 获赞数:36827

向TA提问 私信TA
展开全部
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

结果展示

jimtien
2015-01-29 · TA获得超过7654个赞
知道大有可为答主
回答量:2146
采纳率:88%
帮助的人:1118万
展开全部
一条曲线可以画出无穷多条切线, 故画切线要指定切点,然后过该点画切线,此条切线的斜率由导函数求出
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式