为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

相容方程组

2017-11-24 6页 doc 60KB 46阅读

用户头像

is_321635

暂无简介

举报
相容方程组相容方程组 相容方程组: 1调用函数solve来求解代数方程或代数方程组。其调用格式为: ,变量1,变量2,„„,变量M,,solve(‘方程,’,‘方程2’,„„‘方程N’)其中方程为以符号表达式表示的代数方程,如果是N个方程组成的方程组,则将所有的 N个方程全部供稿以求得方程组的解,即满足方程组的M个变量的值。 2通过矩阵除法来求解。n元线性方程组bAx nBRARA是nbAinvx 除法求解:bAx\都可得到解向量x,但使用矩阵除法求解的精度与运算埋单都优于用逆阵方法求解,两种方法的比较将会后面的论述中给出;...
相容方程组
相容方程组 相容方程组: 1调用数solve来求解代数方程或代数方程组。其调用格式为: ,变量1,变量2,„„,变量M,,solve(‘方程,’,‘方程2’,„„‘方程N’)其中方程为以符号表达式表示的代数方程,如果是N个方程组成的方程组,则将所有的 N个方程全部供稿以求得方程组的解,即满足方程组的M个变量的值。 2通过矩阵除法来求解。n元线性方程组bAx nBRARA是nbAinvx 除法求解:bAx\都可得到解向量x,但使用矩阵除法求解的精度与运算埋单都优于用逆阵方法求解,两种方法的比较将会后面的论述中给出;若A不是n阶方阵,,则用A的广义逆矩阵求解,MATLAB中,AApinvbApinvxx。?利用MATLAB提供的化矩阵为行阶梯形形式求解线性方程组。其函数为rref,调用格式为rref(矩阵)。将构成方程组的系数矩阵作为参数,可以求得其行阶梯形式。 矛盾方程组: 用最小二乘法求解,其实最小二乘法求解问题可以化为求解一个相容方程组的问题。对于方程的最小二乘解可以用除法运算求解,或用广义逆来求解,求出解x后,需要计 矩阵是一个二维数组,MATLAB数组无需预先定义维数,直接输入数组的元素,用中括号“[ ]”表示,一个数组,同行元素间用空格或逗号分隔,不同行间用分号或回车分隔。如 在MATLAB中采用命令pinv就可以求解矩阵的广义逆,并且得到的矩阵的广义逆 T,,,,AA,AA矩阵满足。 1调用函数solve求解线性方程组 当方程Ax=b 这两种情况都可用调用函数解出。下面通过一些例子来说明: 1 利用矩阵除法求线性方程组的特解(或一个解) 方程:AX=b,解法:X=A\b,(注意此处’\’不是’/’) 例 1-1 求方程组 的解。 方程组的非负最小二乘解 在某些条件下,所求的线性方程组的解出现负数是没有意义的。虽然方程组可以得到精确解,但却不能取负值解。在这种情况下,其非负最小二乘解比方程的精确解更有意义。在MATLAB中,求非负最小二乘解常用函数nnls,其调用格式为: (1)X=nnls(A,b)返回方程Ax=b的最小二乘解,方程的求解过程被限制在x 的条件下; (2)X=nnls(A,b,TOL)指定误差TOL来求解,TOL的默认值为TOL=max(size(A))*norm(A,1)*eps,矩阵的,1范数越大,求解的误差越大; (3)[X,W]=nnls(A,b) 当x(i)=0时,w(i)<0;当下x(i)>0时,w(i)0,同时返回一个双向量w。 【例9】求方程组的非负最小二乘解 A=[3.4336 -0.5238 0.6710 -0.5238 3.2833 -0.7302 0.6710 -0.7302 4.0261]; b=[-1.000 1.5000 2.5000]; [X,W]=nnls(A,b) X= 0 0.6563 0.6998 W= -3.6820 -0.0000 -0.0000 x1=A\b x1= -0.3569 0.5744 0.7846 A*X-b ans= 1.1258 0.1437 -0.1616 A*x1-b ans= 1.0e-0.15 -0.2220 0.4441 0 x5x1 x5x6x0 x5x6x0 x5x6x0 5x6x1 45 345 234 123 12 解: A = ; = ;b=(1,0,0,0,1)’ 0,0,0,1,5 0,0,1,5,6 0,1,5,6,0 1,5,6,0,0 5,6,0,0,0 A 0,0,0,1,5,1 0,0,1,5,6,0 0,1,5,6,0,0 1,5,6,0,0,0 5,6,0,0,0,1 由于>>rank(A)=5,rank( )=5 %求秩,此为 R(A)=R( )>=n 的情形, A A有 唯 一 解 。 >>X= A\b % 求 解 X =(2.2662, -1.7218, 1.0571,-0.5940, 0.3188)’ 或用函数 rref 求解,>>sv=rref(A:b);所得 sv 的最后一列即为所要求的解。 %M函数zero1.m syms x1 x2 x3 x4 eq1=sym('x1-2*x2+3*x3-4*x4=4') eq2=sym('x2-x3+x4=-3') eq3=sym('x1+3*x2+x4=1') eq4=sym('-7*x2+3*x3+x4=-3') [x1 x2 x3 x4]=solve(eq1,eq2,eq3,eq4) 在MATLAB指令窗口执行相应指令,并得出运行结果如下: >> zero1 eq1 = x1-2*x2+3*x3-4*x4=4 eq2 = x2-x3+x4=-3 eq3 = x1+3*x2+x4=1 eq4 = -7*x2+3*x3+x4=-3 x1 = -8 x2 = 3 x3 = 6 x4 = 0 即得原方程组的解为:0,6,3,84321 ,M函数zero2.m syms x1 x2 x3 x4 x5 eq1=sym('x1+3*x2+5*x3-4*x4=1') eq2=sym('x1+3*x2+2*x3-2*x4+x5=-1') eq3=sym('x1-2*x2+x3-x4-x5=3') eq4=sym('x1-4*x2+x3 +x4-x5=3') eq5=sym('x1+2*x2+x3-x4+x5=-1') [x1 x2 x3 x4 x5]=solve(eq1,eq2,eq3,eq4,eq5) 在MATLAB指令窗口执行相应指令,并得出运行结果如下: >> zero2 eq1 = x1+3*x2+5*x3-4*x4=1 eq2 = x1+3*x2+2*x3-2*x4+x5=-1 eq3 = x1-2*x2+x3-x4-x5=3 eq4 = x1-4*x2+x3+x4-x5=3 eq5 = x1+2*x2+x3-x4+x5=-1 x1 = 1+x4 x2 = x4 x3 = 0 x4 = x4 x5 = -2-2*x4
/
本文档为【相容方程组】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索