matlab微积分基本运算
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
matlab 微积分基本运算
§1 解方程和方程组解
1. 线性方程组求解
对于方程 AX = B ,其中 A 是( m ×n )的矩阵有三种情形:
1)当n=m 且A 非奇异时,此方程为“恰定”方程组。
2)当 n > m 时,此方程为“超定”方程组。
3)当n 下面就三种情形的求解分别作一说明: (1) MATLAB 解恰定方程 A* X = B 的方法 1)采用求逆运算解方程 x=inv(A)*B 2)采用左除运算解方程 x=A\B 例1 “求逆”法和“左除”法求下列方程组的解 ⎪⎪⎪⎩⎪⎪⎪⎨⎧=+=++=++=++=+150650650651655 45 434 323 212 1x x x x x x x x x x x x x 在Matlab 编辑器中建立M 文件fanex1.m : A=[5 6 0 0 0 1 5 6 0 0 0 1 5 6 0 0 0 1 5 6 0 0 0 1 5]; B=[1 0 0 0 1]'; R_A=rank(A) %求秩 X1=A\B %用"左除"法解恰定方程所得的解 X2=inv(A)*B %用"求逆"法解恰定方程所得的解 运行后结果如下 R_A = 5 X1 = 2.2662 -1.7218 1.0571 -0.5940 0.3188 X2 = 2.2662 -1.7218 1.0571 -0.5940 0.3188 两种方法所求方程组的解相同。 (2)MATLAB 解超定方程AX=B 的方法 对于方程 AX = B ,其中 A 是( m ×n )的矩阵, n > m ,如果A 列满秩,则此方程是没有精确解的。然而在实际工程应用中,求得其最小二乘解也是有意义的。基本解法有: 1)采用求伪逆运算解方程 x=pinv(A)*B 说明:此解为最小二乘解x=inv(A ’*A)*A*B,这里pinv(A) =inv(A ’*A)*A. 2)采用左除运算解方程 x=A\B 例2 “求伪逆”法和“左除”法求下列方程组的解 ⎪⎩⎪⎨⎧=+=+=+1221421221 2121x x x x x x 命令如下: >> a=[1 2;2 4;2 2]; >> b=[1,1,1]'; >> xc=a\b %用左除运算解方程 运行得结果: xc = 0.4000 0.1000 >> xd=pinv(a)*b %用求伪逆运算解方程 运行得结果: xd = 0.4000 0.1000 >> a*xc-b %xc 是否满足方程ax=b 运行得结果: ans = -0.4000 0.2000 0.0000 可见xc 并不是方程的精确解。 (3) MATLAB 解欠定方程AX=B 的方法 欠定方程从理论上说是有无穷多个解的,如果利用求“伪逆”法和“左除”法来求解,只能得到其中一个解。基本方法: 1)采用求伪逆运算解方程 x=pinv(A)*B 2)采用左除运算解方程 x=A\B 例3 求方程组 ⎪⎩⎪⎨⎧=--+=+--=--+08954433134321 43214321x x x x x x x x x x x x 的一个特解 解:在Matlab 编辑器中建立M 文件:fanex2.m A=[1 1 -3 -1;3 -1 -3 4;1 5 -9 -8]; B=[1 4 0]'; X=A\B X = -0.5333 0.6000 (4) MATLAB 求线性齐次方程组的通解 在Matlab 中,函数null 用来求解零空间,即满足AX=0的解空间,实际上是求出解空间的一组基(基础解系)。基本格式: 1)格式:z = null(A) 说明: z 的列向量为方程组的正交规范基,满足I Z Z =⨯' 2)格式:z = null(A ,’r ’) 说明: z 的列向量是方程AX=0的有理基. 例4 求解方程组的通解: ⎪⎩⎪⎨⎧=---=--+=+++03402220224321 43214321x x x x x x x x x x x x 解:在Matlab 编辑器中建立M 文件:fanexm A=[1 2 2 1;2 1 -2 -2;1 -1 -4 -3]; format rat %指定有理式格式输出 B=null(A,'r') %求解空间的有理基 运行后显示结果如下: B = 2 5/3 -2 -4/3 1 0 0 1 写出通解: syms k1 k2 X=k1*B(:,1)+k2*B(:,2) %写出方程组的通解 pretty(X) %让通解表达式更加精美 运行后结果如下: X = [ 2*k1+5/3*k2] [ -2*k1-4/3*k2]