微分与积分
一、差分与近似积分
差分函数 diff(x) 用来计算向量x在相邻二元素间差分,它的书写格式为:
式中X、Y为向量或矩阵,n、dim为标量。当X为向量,则它返回一个X的相邻元素的差分向量,它比X少一个元素。
当X为一个矩阵,则它返回一个矩阵,它的每一列是原来列元素的差分。
例8-1
已知X=[1 2 3 4 5 6],求其一次差分向量y1及二次差分向量y2。
>> X=1:6
X =
1 2 3 4 5 6
>> y1=diff(X)
y1 =
1 1 1 1 1
>> y2=diff(X,2)
y2 =
0 0 0 0
例8-2
已知X为4阶魔方阵,求其一次沿列的差分向量y1和一次沿行的差分向量y2。
>> X=magic(4)
X =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
>> y1=diff(X)
y1 =
-11 9 7 -5
4 -4 -4 4
-5 7 9 -11
>> y2=diff(X,1,2)
y2 =
-14 1 10
6 -1 -2
-2 -1 6
10 1 -14
例8-3
已知X=[1 2 3 4 5 6]、Y=[1 4 9 16 25 36],求向量Y,X的近似微商之商delta Y。
>> X=1:6
X =
1 2 3 4 5 6
>> Y=X.^2
Y =
1 4 9 16 25 36
>> deltaY=diff(Y)./diff(X)
deltaY =
3 5 7 9 11
例8-4
已知时间向量t=1:10,距离向量s=[2 6 12 20 30 42 56 72 90 110],求加速度向量a。
>> t=1:10;
>> s=[2 6 12 20 30 42 56 72 90 110];
>> v=diff(s)./diff(t)
v =
4 6 8 10 12 14 16 18 20
>> a=diff(v)./diff(t(1:9)) %a与v同维,t的项数减一
a =
2 2 2 2 2 2 2 2
二、微分计算
例8-5
已知函数y=xsinx+15,求其微分表达式。并求x=π/4时微商的值。
>> syms x
>> y=sin(x)*x+15;
>> diff(y)
ans =
sin(x) + x*cos(x)
>> x=pi/4;
>> eval(ans)
ans =
1.2625
例8-6
求y=t6的六阶微商。
>> syms t
>> y=t^6;
>> diff(y,6)
ans =
720
例8-7
已知函数y=exp(-t)sin(xt),分别求y对t的偏微商和对x的偏微商。
>> syms x t
>> y=exp(-t)*sin(x*t);
>> yt=diff(y,'t')
yt =
x*exp(-t)*cos(t*x) - exp(-t)*sin(t*x)
>> yx=diff(y,'x')
yx =
t*exp(-t)*cos(t*x)
例8-8
已知参数方程x=acos3t, y=asin3t,求导数dy/dx。
>> syms a t
>> x=a*cos(t)^3;
>> y=a*sin(t)^3;
>> x1=diff(x)
x1 =
-3*a*cos(t)^2*sin(t)
>> y1=diff(y)
y1 =
3*a*cos(t)*sin(t)^2
>> yx=y1/x1
yx =
-sin(t)/cos(t)
例8-9
求隐函数x2+2xy-y2=2x的导数。
>> syms x y
>> z=x^2+2*x*y-y^2-2*x;
>> zx=diff(z,'x')
zx =
2*x + 2*y - 2
>> zy=diff(z,'y')
zy =
2*x - 2*y
>> yx=-zx/zy
yx =
-(2*x + 2*y - 2)/(2*x - 2*y)
>> yx=simplify(yx) %经化简后的隐函数导数
yx =
-(x + y - 1)/(x - y)
例8-13
已知y=exp(t)(sint+cost),t=log(x),求dy/dx。
>> syms x t
>> y=exp(t)*(sin(t)+cos(t));
>> y1=diff(y)
y1 =
exp(t)*(cos(t) + sin(t)) + exp(t)*(cos(t) - sin(t))
>> t=log(x)
t =
log(x)
>> t1=diff(t)
t1 =
1/x
>> yx=y1*t1 %dy/dx=dy/dt*dt/dx
yx =
(exp(t)*(cos(t) + sin(t)) + exp(t)*(cos(t) - sin(t)))/x
>> yx=simplify(yx)
yx =
(2*exp(t)*cos(t))/x
三、不定积分与定积分的计算
例8-14
已知S=1/(1+x2)求积分表达式R。
>> syms x
>> y=1/(1+x^2);
>> R=int(y)
R =
atan(x)
例8-15
已知三角函数y=cosxcos(2x)cos(3x),求积分表达式R1。
>> syms x
>> y=cos(x)*cos(2*x)*cos(3*x);
>> R1=int(y)
R1 =
x/4 + sin(2*x)/8 + sin(4*x)/16 + sin(6*x)/24
例8-16
已知带参变量a、b的被积表达式y=exp(ax)sin(bx),求积分表达式R1。
>> syms a b x
>> y=exp(a*x)*sin(b*x);
>> R=int(y)
R =
-(exp(a*x)*(b*cos(b*x) - a*sin(b*x)))/(a^2 + b^2)
例8-17
>> syms x y
>> y=sqrt(1-sin(2*x));
>> R=int(y,0,pi/2)
R =
2*2^(1/2) - 2
>> eval(R)
ans =
0.8284
例8-18
已知椭圆参数方程为x=acost,y=bsint,求椭圆面积A。
>> syms t a b
>> S=-a*b*(sin(t))^2;
>> A=int(S,2*pi,0) %为什么是2π到0???
A =
pi*a*b
四、数值积分
例8-20
已知Y=[0 1 4 9 16 25 36],步长为1,求梯形积分。
>> Y=[0 1 4 9 16 25 36];
>> z=trapz(Y)
z =
73
>> cumtrapz(Y) %使用累加求梯形积分
ans =
0 0.5000 3.0000 9.5000 22.0000 42.5000 73.0000
例8-21
>> x=0:pi/100:pi;
>> y1=sin(x).^2;
>> delta=pi/100;
>> z=(1/pi*delta*trapz(y1))^(1/2)
z =
0.7071
例8-22
>> syms x y
>> V=int(int(6-x.^2/4-y.^2/9,y,-4,4),x,-4,4)
V =
7040/27
>> eval(V)
ans =
260.7407
>> [X,Y]=meshgrid(-4:0.2:4);
>> Z=6-(X/2).^2-(Y/3).^2;
>> surfc(X,Y,Z)
例8-23