1.差分与近似微分
>> 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
>> 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
>> 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
>> 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 =
2 2 2 2 2 2 2 2
2.微分运算
>> syms x
>> y=x*sin(x)+15;
>> diff(y)
ans =
sin(x) + x*cos(x)
>> x=pi/4;
>> eval(ans)
ans =
1.2625
>> syms t
>> y=t^6;
>> diff(y,6)
ans =
720
>> 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)
>> 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)
>> 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)
>> syms x y a
>> z=x^(2/3)+y^(2/3)-a^(2/3);
>> zx = diff(z,'x')
zx =
2/(3*x^(1/3))
>> zy=diff(z,'y')
zy =
2/(3*y^(1/3))
>> yx=-zx/zy
yx =
-y^(1/3)/x^(1/3)
>> 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
yx =
(exp(t)*(cos(t) + sin(t)) + exp(t)*(cos(t) - sin(t)))/x
3.不定积分与定积分计算
>> syms x
>> y=1/(1+x^2);
>> R=int(y)
R =
atan(x)
>> syms x
>> y=1/(1+x^2);
>> R=int(y)
R =
atan(x)
>> 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
>> syms x
>> y=(1-sin(2*x))^(1/2);
>> R=int(y,0,pi/2)
R =
2*2^(1/2) - 2
>> syms a b t
>> S=-a*b*sin(t)^2;
>> A=int(S,2*pi,0)
A =
pi*a*b
>> syms x y
>> V=int(int(10-x.^2/4-y.^2/9,x,-4,4),y,-4,4)
V =
13952/27
>> eval(V)
ans =
516.7407
4.数值积分
>> 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
>> x=0:pi/100:pi;
>> y1=sin(x).^2;
>> delta=pi/100;
>> z=(1/pi*delta*trapz(y1))^(1/2)
z =
0.7071
%求体积方法与8-19类似
>> [X,Y]=meshgrid(-4:0.2:4);
>> Z=6-(X/2).^2-(Y/3).^2;
>> surfc(X,Y,Z)
>> x=0:pi/20:pi;
>> y=sin(x)./(x.^3+3*x+5);
>> z=trapz(x,y)
z =
0.1616
>> Q=quad('sin(x)./(x.^3+3*x+5)',0,pi)
Q =
0.1620
>> [Q1,fcnt]=quadl('sin(x)./(x.^3+3*x+5)',0,pi)
Q1 =
0.1620
fcnt =
48
function y = func(t)
y=(16*sin(t).^2+9*cos(t).^2).^(1/2);
end
>> t=0:pi/50:2*pi;
>> y=func(t);
>> z=trapz(t,y)
z =
22.1035
>> Q=quad(@func,0,2*pi)
Q =
22.1035
>> format long
>> fun=inline('1./(1+x.^2)')
fun =
内联函数:
fun(x) = 1./(1+x.^2)
>> s=quadl(fun,0,1,1e-8)
s =
0.785398163397452
>> pia=4*s
pia =
3.141592653589806
>> pi
ans =
3.141592653589793
>> fun=inline('y.*sin(x)+x.*cos(y)')
fun =
内联函数:
fun(x,y) = y.*sin(x)+x.*cos(y)
>> V=dblquad(fun,0,pi/2,0,pi)
V =
4.934802187352727
>> fun1=inline('y.*sin(x)+z.*cos(x)')
fun1 =
内联函数:
fun1(x,y,z) = y.*sin(x)+z.*cos(x)
>> V=triplequad(fun1,0,pi,0,1,-1,1)
V =
1.999999994362637