请问如何用MATLAB解"久期方程"

RT

我知道的Matlab解矩阵方法有:
A=[1 6 9;6 5 2;8 3 4]
b=[2;4;7]
1)x=inv(A)*b 【就是你用的方法】
2)x=A\b
3)x=A^(-1)*b
4)C=[A,b]
rref(C)
试试吧,也许好使。
还有一个网址,下载一些经典程序,如:
gmres_m.rar-gmres算法的一个特殊形式,用来求解大型稀疏矩阵方程,matlab
GMres.rar-数值算法中另一个经典算法gmres算法,用来求解大型矩阵方程问题。,matlab
arnoldi.rar-数值分析中经典的arnoldi算法,用来求解大型矩阵方程组的求解,matlab
http://www.programsalon.com/sitemap/sitemap153_1450.htm

补充:
2.利用矩阵的LU、QR和cholesky分解求方程组的解
(1)LU分解:
LU分解又称Gauss消去分解,可把任意方阵分解为下三角矩阵的基本变换形式(行交换)和上三角矩阵的乘积。即A=LU,L为下三角阵,U为上三角阵。
则:A*X=b 变成L*U*X=b
所以X=U\(L\b) 这样可以大大提高运算速度。
命令 [L,U]=lu (A)
例1-78 求方程组 的一个特解。
解:

>>A=[4 2 -1;3 -1 2;11 3 0];
>>B=[2 10 8]';
>>D=det(A)
>>[L,U]=lu(A)
>>X=U\(L\B)
显示结果如下:
D =
0
L =
0.3636 -0.5000 1.0000
0.2727 1.0000 0
1.0000 0 0
U =
11.0000 3.0000 0
0 -1.8182 2.0000
0 0 0.0000
Warning: Matrix is close to singular or badly scaled.
Results may be inaccurate. RCOND = 2.018587e-017.
> In D:\Matlab\pujun\lx0720.m at line 4
X =
1.0e+016 *
-0.4053
1.4862
1.3511
说明 结果中的警告是由于系数行列式为零产生的。可以通过A*X验证其正确性。
(2)Cholesky分解
若A为对称正定矩阵,则Cholesky分解可将矩阵A分解成上三角矩阵和其转置的乘积,即: 其中R为上三角阵。
方程 A*X=b 变成
所以
(3)QR分解
对于任何长方矩阵A,都可以进行QR分解,其中Q为正交矩阵,R为上三角矩阵的初等变换形式,即:A=QR
方程 A*X=b 变形成 QRX=b
所以 X=R\(Q\b)
上例中 [Q, R]=qr(A)
X=R\(Q\B)
说明 这三种分解,在求解大型方程组时很有用。其优点是运算速度快、可以节省磁盘空间、节省内存。

也许这个能帮你点儿忙。

参考资料:《matlab6.0数学手册》
温馨提示:答案为网友推荐,仅供参考