一:多项式微积分
使用一个行向量表示一个多项式
行向量元素表示对应项的系数
n个元素表示n-1次多项式
如:f(x)=x^3-2x-5
p=[1 0 -2 -5]
1.多项式微分(polynomial differentiation)
- f=polyval(p,x的取值):求出多项式的值
a=[9,-5,3,7];%a=[9 -5 3 7]
x=-2:0.01:5;
f=polyval(a,x);
plot(x,f,'LineWidth',2);
xlabel('x');
ylabel('f(x)');
set(gca,'FontSize',14);
- polyder (poly):求多项式微分,返回结果多项式行向量,结果行向量维数为微分前维数减一(常数项微分为0)
练习:
conv(a,b)
计算出两个多项式相乘的结果系数向量
a=[20 -7 5 10];
b=[ 4 12 -3];
c=conv(a,b);
x=-2:0.01:1;
f=polyval(c,x);
f1=polyval(polyder(c),x);
plot(x,f,':b',x,f1,'-r');
legend('f(x)','f(x)的一阶导数');
- d
- d
- d
- d
- d
- d
- d
2.多项式积分(polynomial integration)
- polyint(p,k):对p定积分,k为自定义常数项,结果行向量维数为微分前维数加一(常数项)
二:数值微积分
1.数值微分(numerical differentiation)
两点之间的斜率:f(x2)-f(x1)/(x2-x1)
- diff(vector):算出vector相邻两元素的差(后—前),结果为vector
diff(y)./diff(x):所有点中,相邻两点,两两斜率
练习1:求出sin(pi/2)的近似斜率
>> y=[sin(pi/2) sin(pi/2+0.001)];
>> x=[pi/2 pi/2+0.001];
>> diff(y)./diff(x)
ans =
-5.0000e-04
>> y=[sin