matlab 在曲线上画其切线的问题
2个回答
展开全部
画曲线的切线matlab没有现成的函数。
一般要先求点的切线方向好橘,这根你具体的样本点连接情况有关州贺。需要根据具体情况分析。
最简单的方法:对于第k点,使用非常临近的k-1和k+1这两点以他们连线的斜率作为切线方向,
然后过该友迹团点,作所得方向的直线。
举个例子:
clear;
clc;
f
=
@(x)
x.^2;
x
=
0:0.1:10;
y
=
f(x);
plot(x,y);
hold
on;
x0
=
5;
y0
=
f(x0);
x1
=
x0+0.1;
y1
=
f(x1);
x2
=
x0-0.1;
y2
=
f(x2);
k
=
(y2-y1)/(x2-x1);
b
=
y0-k*x0;
ff
=
@(x)
k*x+b;
yy
=
ff(x);
plot(x,yy)
需要解释的话可以追问
一般要先求点的切线方向好橘,这根你具体的样本点连接情况有关州贺。需要根据具体情况分析。
最简单的方法:对于第k点,使用非常临近的k-1和k+1这两点以他们连线的斜率作为切线方向,
然后过该友迹团点,作所得方向的直线。
举个例子:
clear;
clc;
f
=
@(x)
x.^2;
x
=
0:0.1:10;
y
=
f(x);
plot(x,y);
hold
on;
x0
=
5;
y0
=
f(x0);
x1
=
x0+0.1;
y1
=
f(x1);
x2
=
x0-0.1;
y2
=
f(x2);
k
=
(y2-y1)/(x2-x1);
b
=
y0-k*x0;
ff
=
@(x)
k*x+b;
yy
=
ff(x);
plot(x,yy)
需要解释的话可以追问
展开全部
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结果展示销搜闭
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结果展示销搜闭
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询