matlab数值微积分
1、polyval() %多项式构造函数,参数为系数vector,自变量vector
f=[9,-5,3,7]; x=-2:0.01:5; %x的范围为-2到5
y=polyval(f,x); %x为自变量范围,f为多项式系数
plot(x,y, ’linewidth’,2);
xlabel(‘x’); ylabel(‘y’);
set(gca,’fontsize’,14);
2、polyder() %求导
p=[5 0 -2 1]; %5x^4-2x^2+x
polyder(p); %结果为20 0 -4 0
3、当x=7时,导数值
p=[5 0 -2 1]; %5x^4-2x^2+x
polyval(polyder(p),7);
4、conv() % 用于表示f(x)=(20x^3+7x^2)(x^3+4x)这种的多个因式
的乘积
y1=[20 7 0 0]; y2=[1 0 4 0];
f=conv(y1,y2);
5、polyint() %给不定积分一个确定的常数项k,...
f(x)=x+4; 对其积分得 1/2x^2+4x+k
p=[5 0 -2 0 1]; %f(x)
polyint(p,3); %给定积分后常数项k为3
polyval( polyint(p,3),7 ); %计算f(7)的积分
6、diff() %向量相邻元素的差异,用于计算斜率
x=[1 2]; y=[5 7]; %x1,x2 y1,y2
slope=diff(y) ./ diff(x); %计算的是点(1,5) (2,7)的斜率
7、计算整个定义域内的导数
h=0.5; x=0:h:2*pi;
y=sin(x); m=diff(y)./diff(x); %计算sin’(x)
8、计算二次微分,三次微分
x=-2:0.005:2; y=x.^3;
m=diff(y)./diff(x); %一阶导
m2=diff(m)./diff(x(1:end-1)); %m的维度比x少1 ,二阶导
plot(x,y,x(1:end-1),m,x(1:end-2),m2);
legend(\'f(x)\', \'f`(x)\', \'f``(x)\'); %做图像标注
9、计算定积分,利用微分长方形累加 计算4x^3 在区间[0,2]的积分
h=0.05; x=0:h:2;
midpoint=(x(1:end-1)+x(2:end))./2; %计算每个长方形的中点 (Xmid )
y=4*midpoint.^3; %结果为15.99
s=sum(h*y); %所有梯形的底乘高 总和
10、trapz() 计算定积分,利用梯形累加
h=0.05; x=0:h:2; y=4*x.^3; %h为梯形的高
s=h*trapz(y); %结果为16.01
11、integral2 二重积分 integral3三重积分
f=@(x,y) y.*sin(x)+8.*cos(y); %要积分的函数
integral2(f,pi,2*pi,0,pi); %参数为:函数,第一层积分区间,第二层积分区间
integral3(f,0,pi,0,1,-1,1);