近似微分与差分
diff(X): 向量X在相邻二元素之间的差分,如果X是矩阵,则它返回一个矩阵,他的每一列是原来列元素的差分。
diff(X,n):n是n次差分的意思
diff(X,n,dim):沿着所指定的维数进行差分
>> X=1:6
X =
1 2 3 4 5 6
>> y1=diff(X,2)
y1 =
0 0 0 0
>> y2=diff(X)
y2 =
1 1 1 1 1
>> diff(y2)
ans =
0 0 0 0
>> A=1:2:10
A =
1 3 5 7 9
>> A=[1 3 5 8 9]
A =
1 3 5 8 9
>> a=diff(A)
a =
2 2 3 1
>> diff(a)
ans =
0 1 -2
>> diff(A,2)
ans =
0 1 -2
>> B=magic(4)
B =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
>> x1=diff(B)
x1 =
-11 9 7 -5
4 -4 -4 4
-5 7 9 -11
>> x2=diff(B,1,2) %沿行求一阶差分向量
x2 =
-14 1 10
6 -1 -2
-2 -1 6
10 1 -14
>>
例题1.
>> 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
>> Z=X^2
错误使用 ^
输入必须为标量和方阵。
要按元素进行 POWER 计算,请改用 POWER (.^)。
例题2
>> t=1:10
t =
1 2 3 4 5 6 7 8 9 10
>> s=[2 6 12 20 30 42 56 72 90 110]
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)
错误使用 ./
矩阵维度必须一致。
>> a=diff(v)./diff(t(1:9))
a =
2 2 2 2 2 2 2 2
>>
微分运算
diff(S) 求微商,微商就是导数
diff(S,‘v’) 对符号变量v求微商
diff(S,‘v’,n) 对S中符号变量v求n阶微商
>> syms x
>> y=x*sin(x)+15;
>> diff(y)
ans =
sin(x) + x*cos(x) %算出的符号变量表达式,当变量由数值大夫后,尚需要用转换函数eval将微分表达式转成数值
>> x=pi/4
x =
0.7854
>> eval(ans)
ans =
1.2625
>> syms t
>> z=t^6
z =
t^6
>> diff(z,'t',6)
ans =
720
>> syms a t
>> x=a*cos(t)^3
x =
a*cos(t)^3
>> y=a*sin(t)^3
y =
a*sin(t)^3
>> x1=diff(x,'t')
x1 =
-3*a*cos(t)^2*sin(t)
>> y1=diff(y,'t')
y1 =
3*a*cos(t)*sin(t)^2
>> yx=x1/y1
yx =
-cos(t)/sin(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
>> syms x
>> y10=diff(sin(x)*sin(2*x)*sin(3*x),10)
y10 =
15378432*cos(2*x)*cos(3*x)*sin(x) + 14854144*cos(2*x)*sin(3*x)*cos(x) + 14854656*cos(3*x)*sin(2*x)*cos(x) - 15378944*sin(2*x)*sin(3*x)*sin(x)
>> y10=simple(y10)
警告: Function 'simple' will be removed in a future release. Use 'simplify' instead.
> In sym.simple at 41
y10 =
15116544*sin(6*x) - 262144*sin(4*x) - 256*sin(2*x)
>> factor(15116544)
ans =
2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3
>> factor(262144)
ans =
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
>> factor(256)
ans =
2 2 2 2 2 2 2 2
不定积分与定积分的计算
int(S)
int(S,v)
int(S,a,b)
int(S,v,a,b)
v为指定的积分变量,a,b指定积分的下限和上限。
多重积分,可以对被积函数采用累次单变量积分来实现。若S是x,y的函数,积分限为[xa,xb]、[ya,yb],则被积函数的二重积分R=int(int(S,x,xa,xb),y,ya,yb),该式先对自变量x求积分,积分后的表达式含有变量y,随后再对变量y求积分
>> syms x
>> y=1/(1+x^2);
>> R=int(y)
R =
atan(x)
>>
>> sym x
ans =
x
>> int((1-sin(2*x))^(1/2),0,pi/2)
ans =
2*2^(1/2) - 2
>> eval(ans)
ans =
0.8284