泰勒级数
关于泰勒级数的概念和工程意义在这不再叙述,此文章只是用matlab把图形拟合出来,让读者形象地感受随着项数的增加,函数拟合效果逐渐逼近。
常见的函数泰勒展开:
指数函数
三项拟合效果:
x=0:0.01:5;
y1=exp(x);
y2=1+x+1/factorial(2)*power(x,2)+1/factorial(3)*power(x,3);
plot(x,y1,x,y2);
xlabel('x')
ylabel('y')
五项拟合效果:
x=0:0.01:5;
y1=exp(x);
y2=1+x+1/factorial(2)*power(x,2)+1/factorial(3)*power(x,3)+1/factorial(4)*power(x,4)+1/factorial(5)*power(x,5);
plot(x,y1,x,y2);
xlabel('x')
ylabel('y')
十项拟合效果:
x=0:0.01:5;
y1=exp(x);
y2=1+x+1/factorial(2)*power(x,2)+1/factorial(3)*power(x,3)+1/factorial(4)*power(x,4)+1/factorial(5)*power(x,5)+1/factorial(6)*power(x,6)+1/factorial(7)*power(x,7)+1/factorial(8)*power(x,8)+1/factorial(9)*power(x,9)+1/factorial(10)*power(x,10);
plot(x,y1,x,y2);
xlabel('x')
ylabel('y')
以上分析,当有十项时,在(0,5)区间上已经深度拟合了,但是随着区间的增加,必须要增加项数才能“跟得上”原函数的变化。
例如区间增大到10:
x=0:0.01:10;
y1=exp(x);
y2=1+x+1/factorial(2)*power(x,2)+1/factorial(3)*power(x,3)+1/factorial(4)*power(x,4)+1/factorial(5)*power(x,5)+1/factorial(6)*power(x,6)+1/factorial(7)*power(x,7)+1/factorial(8)*power(x,8)+1/factorial(9)*power(x,9)+1/factorial(10)*power(x,10);
plot(x,y1,x,y2);
xlabel('x')
ylabel('y')
三角函数
二项拟合:
x=-pi:0.01:pi;
y1=sin(x);
y2=x-power(x,3)/factorial(3);
plot(x,y1,x,y2);
xlabel('x')
ylabel('y')
三项拟合:
x=-pi:0.01:pi;
y1=sin(x);
y2=x-power(x,3)/factorial(3)+power(x,5)/factorial(5);
plot(x,y1,x,y2);
xlabel('x')
ylabel('y')
四项拟合:
x=-pi:0.01:pi;
y1=sin(x);
y2=x-power(x,3)/factorial(3)+power(x,5)/factorial(5)-power(x,7)/factorial(7);
plot(x,y1,x,y2);
xlabel('x')
ylabel('y')
以上分析,当有四项时,在(-pi,pi)区间上已经深度拟合了,但是随着区间的增加,必须要增加项数才能“跟得上”原函数的变化。
例如区间增大到(-4,4):
x=-4:0.01:4;
y1=sin(x);
y2=x-power(x,3)/factorial(3)+power(x,5)/factorial(5)-power(x,7)/factorial(7);
plot(x,y1,x,y2);
xlabel('x')
ylabel('y')
总结
数学是如此的奇妙!
版权声明:本文为FORWARDGOOD原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。