当前位置:文档之家› 代数方程的求解

代数方程的求解


x 2 5 y 3z 3 15 2 5. 求代数方程组: 4 x y z 10 ; x y z 15
MATLAB 命令及相应的结果如下: >> syms x y z >> [x,y,z] = solve('x^2+5*y-3*z^3=15','4*x+y^2-z=10','x+y+z=15') x= 4.7227311648148859415297821017854*i + 10.217253727895446083582447731953 11.183481663794727000635376340336*i + 11.560291920108418818149999909102 16.889121018662801764934219025612 - 4.2177563835168647657970523110679*i 11.560291920108418818149999909102 - 11.183481663794727000635376340336*i
R= 5.0990 0 0 0 0 6.8641 3.8581 0 0 0 1.1767 6.9784 3.4521 0 0 0 1.5552 6.9949 3.2639 0 0 0 1.7380 6.9985 3.0001
>> x = R\(Q\b) x= 2.2662 -1.7218 1.0571 -0.5940 0.3188
4. 求解代数方程: ax bx c 0 ,其中 a, b, c 是常数;
2
x 2 5 y 3z 3 15 2 5. 求代数方程组: 4 x y z 10 ; x y z 15 x 3 y 3 2 z 2 1/ 2 2 3 6. 求解代数方程组: x 3 y z 2 x3 2 z 2 y 2 2 / 4
0 0 0 1 >> x = A\b x= 2.2662 -1.7218 1.0571 -0.5940 0.3188 (2)LU 分解; >> [L,U] = lu(A) L= 1.0000 0.2000 0 0 0 0 1.0000 0.2632 0 0 0 0 1.0000 0.2923 0 0 0 0 1.0000 0.3081 0 0 0 0 1.0000
B= 1 3 2 >> rank(A) ans = 2 >> rank(B) ans = 3 系数矩阵的秩与增广矩阵的秩不相等,所以无解。 4. 求解代数方程: ax bx c 0 ,其中 a, b, c 是常数;
-1 -3 -2
1 2 3
MATLAB 命令及相应的结果如下: >> syms a b c x >> f=a*x^2+b*x+c f= a*x^2 + b*x + c >> solve(f,x) ans = -(b + (b^2 - 4*a*c)^(1/2))/(2*a) -(b - (b^2 - 4*a*c)^(1/2))/(2*a)
接求解, (2)LU 分解; (3)QR 分解;进行求解。
x1 2 x2 2 x3 x4 0 2. 求解齐次线性方程组的通解: 2 x1 x2 2 x3 2 x4 0 x x 4 x 3x 0 3 4 1 2 x1 2 x2 3 x3 x4 1 3. 求解线性方程组: 3 x1 x2 5 x3 3 x4 2 2 x x 2 x 2 x 3 3 4 1 2
2 系数矩阵的秩为 2,小于变量个数,所以齐次线性方程组有无穷多组解;先求基础解系: >> 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) X= 2*k1 + (5*k2)/3 - 2*k1 - (4*k2)/3 k1 k2
接求解, (2)LU 分解; (3)QR 分解;进行求解。 1. 先生成系数矩阵以及增广矩阵: >> 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]
A= 5 1 0 0 0 6 5 1 0 0 0 6 5 1 0 0 0 6 5 1 0 0 0 6 5
四、实验过程原始记录(数据,图表,计算等)
5 x1 6 x2 1 x 5x 6 x 0 1 2 3 1. 已知线性方程组 x2 5 x3 6 x4 0 ,试判断该线性方程组是否有解,若有解则分别用(1)直 x 5x 6 x 0 4 5 3 x4 5 x5 1
>> [Q,R] = qr(A) Q= 0.9806 0.1961 0 0 0 -0.1894 0.9471 0.2592 0 0 0.0487 -0.0140 0.0045 -0.2433 0.0701 -0.0226 0.9244 -0.2663 0.0857 0.2897 0.9111 -0.2932 0 0.3064 0.9519
5 x1 6 x2 1 x 5x 6 x 0 1 2 3 1. 已知线性方程组 x2 5 x3 6 x4 0 ,试判断该线性方程组是否有解,若有解则分别用(1)直 x 5x 6 x 0 4 5 3 x 5 x 1 5 4
U= 5.0000 0 0 0 0 >> x = U\(L\b) x= 2.2662 -1.7218 1.0571 -0.5940 0.3188 (3)QR 分解;进行求解。 6.0000 3.8000 0 0 0 0 6.0000 3.4211 0 0 0 0 6.0000 3.2462 0 0 0 0 6.0000 3.1517
>> B=[A,[1;0;0;0;1]] B= 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 2. 求 A,B 的秩以及 A 的行列式: >> rank(A) ans = 5 >> rank(B) ans = 5 >> det(A) ans = 665 因为系数矩阵的秩与增广矩阵的秩相同,且系数矩阵的行列式不为 0,故该线性方程组有唯一解, 可用 MATLAB 求解如下: (1)直接求解; >> b = B(:,end) b= 1 1 0 0 0 1
x1 2 x2 2 x3 x4 0 2. 求解齐次线性方程组的通解: 2 x1 x2 2 x3 2 x4 0 x x 4 x 3x 0 3 4 1 2
MATLAB 命令及相应的结果如下: >> A=[1 2 2 1;2 1 -2 -2;1 -1 -4 -3] A= 1 2 1 >> rank(A) ans = 2 1 -1 2 -2 -4 1 -2 -3
x1 2 x2 3 x3 x4 1 3. 求解线性方程组: 3 x1 x2 5 x3 3 x4 2 2 x x 2 x 2 x 3 3 4 1 2
MATLAB 命令及相应的结果如下: >> A=[1 -2 3 -1;3 -1 5 -3;2 1 2 -2] A= 1 3 2 >> b=[1;2;3] b= 1 2 3 >> B = [A b] -2 -1 1 3 5 2 -1 -3 -2
第三步:求 AX=0 的通解; 第四步:AX=b 的通解 = AX=0 的通解 + AX=b 的一个特解。 4. 符号代数方程求解 在 MATLAB 中,求解用符号表达式表示的代数方程可由函数 solve 实现,其调格式为: solve(s):求解符号表达式 s 的代数方程,求解变量为默认变量 solve(s,v):求解符号表达式 s 的代数方程,求解变量为 v solve(s1,s2,…,sn,v1,v2,…,vn):求解符号表达式 s1,s2,…,sn 组成的代数方程组,求解变量为 v1,v2,…,vn 三、实验内容
桂林电子科技大学 数学与计算科学学院实验报告
实验室: 院(系) 数学与计算科学 课程 名称 数学应用软件实验 学号 实验项目 名 称 代数方程的求解 姓名 实验日期: 年 成绩 指导教师 覃义 月 日
一、实验目的 1. 掌握求解线性方程组的命令和方法; 2. 掌握求解代数方程的命令和方法; 3. 通过实例学习用线性代数方程解决简化的实际问题。 二、实验原理 线性方程的求解可以分成两类:求方程组的唯一解或求特解和求线性方程组的通解。可以通过系 数矩阵来判断解的情况: 若系数矩阵的秩 r=n(n 为方程组中示知变量的个数) ,则有唯一解 若系数矩阵的秩 r<n,则可能有无穷个解 线性方程组的无穷解 = 对应的齐次方程组的通解 + 非齐次方程组的一个特解; 1. 求线性方程组的唯一解或特解:直接法或迭代法。 (1)利用矩阵除法求线性方程组的特解。 方程:AX=b 求解:X=A\b (2)利用 LU、QR 和 cholesky 分解求方程组的解。 LU 分解:LU 分解又称 Gauss 消去分解,可以把任意方阵分解为下三角矩阵的基本变换 形式 (行交换) 和上三解矩阵的乘积。 即 A = LU, L 为下三角阵, U 为上三角阵, 则 AX=b 变成 LUX=b,所以 X=U\(L\b),这样可以提高运算速度。相应的命令为:[L,U] = lu(A) Cholesky 分解:若 A 是对称正定矩阵,则 Cholesky 分解可以将矩阵 A 分解成上三角矩阵 和其转置的乘积,即 A=R’*R,其中 R 是上三角阵。此时方程 A*X=b 变成 R’*R*X=b, 所以 X=R\(R’\b),其相应的命令为:R=chol(A) QR 分解:对于任何长方形矩阵 A,都可以进行 QR 分解,其中 Q 为正交矩阵,R 为上三 角矩阵的初等变换形式,即 A=QR,方程 AX=b 变成 QRX=b,所以 X=R\(Q\b),相应的 命令为:[Q,R]=qr(A) 2. 求线性齐次方程组的通解 在 MATLAB 中,函数 null 用来求解零空间,即满足 AX=0 的解空间,实际上是求出解空 间的一组基(基础解系) 格式:z=null % z 的列向量为方程组的正交基,满足 Z’*Z=I z=null(A,’r ’) %z 的列向量为方程 AX=0 的有理基 3. 求非齐次线性方程组的通解 非齐次线性方程组需要先判断方程组是否有解,若有解,再去求通解。其步骤为: 第一步:判断 AX=b 是否有解,若有解则进行第二步; 第二步:求 AX=b 的一个特解;
相关主题