标题:想看一下吗?一个编程题,我不太懂,朋友帮我下好吗
只看楼主
默契哥哥
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-9-28
 问题点数:0 回复次数:6 
想看一下吗?一个编程题,我不太懂,朋友帮我下好吗
<用Doolittle分解求方阵的逆>

  设A=LR,L为单位下三角阵,R为上三角阵,则A-1 =R-1 L-1,分别求出R-1和L-1,相乘即可得A-1。

  (使用说明)
输入参数:
N   方阵A(N,N)的阶数。
A(N,N)     N阶方阵,按行存放。

输出参数:
W   标志,W=0说明A非奇异,W=1表示A奇异,不存放A的逆。
D(N,N)     存放A的逆的元素。

中间工作单元:
C(N,N)   N阶方阵
                     
               (下面有VB的程序,麻烦帮我改改成PASCAL或者C好吗)
搜索更多相关主题的帖子: 方阵 朋友 三角 参数 Doolittle 
2005-09-28 18:52
默契哥哥
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-9-28
得分:0 
* 用Doolittle 分解求方阵的逆 * 30 '****************************************************** 50 Dim A(N, N), C(N, N), D(N, N) 60 Print Tan(3); "EG:"; Tab(8); "THE MATRIX A": Print 70 For I = 1 To N: For J = 1 To N 80 READ A(I, J): Print USING; "####.#"; A(I, J); 90 Next J: Print: Next I 100 Print: GoSub 300 110 Print Tab(5); "W="; W: Print 120 If W = 1 Then GoTo 190 130 Print Tab(15); "THE CONVERSE MATRIX OF A": Print 140 For I = 1 To N: For J = 1 To N 150 Print USING; "####.#####"; D(I, J);: Print " "; 160 Next J: Print: Next I 170 Data 1, 2, 3, 4, 1, 4, 9, 16, 1, 8, 27, 64, 1, 16, 81, 256 180 Data 190 End 300 '子程序' 310 '分解' 320 If A(1, 1) = 0 Then GoTo 890 330 For I = 2 To N: A(I, 1) = A(I, 1) / A(1, 1) 340 Next I 350 P = 0 360 For K = 2 To N: For J = K To N 370 For R = 1 To K - 1 380 P = P + A(K, R) * A(R, J) 390 Next R 400 A(K, J) = A(K, J) - P: P = 0 410 Next J 420 P = 0 430 For I = K + 1 To N: For R = 1 To K - 1 440 P = P + A(I, R) * A(R, K) 450 Next R 460 If A(K, K) = 0 Then GoTo 890 470 A(I, K) = (A(I, K) - P) / A(K, K): P = 0 480 Next I 490 Next K 500 For I = 1 To N: For J = 1 To I 510 If J = I Then C(I, I) = 1 520 If J <> I Then C(I, J) = A(I, J) 530 If J <> I Then A(I, J) = 0 540 Next J: Next I 550 '上三角求逆' 560 For K = N To 1 Step -1 570 If A(K, K) = 0 Then GoTo 890 580 A(K, K) = 1 / A(K, K) 590 For I = K - 1 To 1 Step -1 600 P = 0 610 For J = I + 1 To K 620 P = P - A(I, J) * A(J, K) 630 Next J 640 A(I, K) = P / A(I, I) 650 Next I 660 Next K 670 '下三角求逆' 680 For K = 1 To N: For I = K + 1 To N 690 P = 0 700 For J = I - 1 To K Step -1 710 P = P - C(I, J) * C(J, K) 720 Next J 730 C(I, K) = P / C(I, I) 740 Next I: Next K 750 '求A的逆' 760 For I = 1 To N: For J = I + 1 To N 770 C(I, J) = 0 780 Next J: Next I 790 For J = 1 To N: For I = J + 1 To N 800 A(I, J) = 0 810 Next I: Next J 820 For I = 1 To N: For J = 1 To N 830 D(I, J) = 0 840 For K = 1 To N 850 D(I, J) = D(I, J) + A(I, K) * C(K, J) 860 Next K 870 Next J: Next I 880 W = 0: Return 890 W = 1: Return
2005-09-28 18:53
lpx
Rank: 1
等 级:新手上路
帖 子:163
专家分:0
注 册:2005-4-24
得分:0 
看不懂

我还在编程路上转悠,偶而看到一两盏灯不是为我而亮
2005-09-29 13:52
zhangzujin
Rank: 1
等 级:新手上路
帖 子:276
专家分:0
注 册:2005-5-9
得分:0 
这个不是Delphi编的阿。

太极之道 qq:283421560 E-mail:zhangzujin360732@
2005-11-08 12:57
sislcb
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-12-1
得分:0 
晕,他都说是VB了.
2005-12-01 16:54
liuyjcel
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-9-20
得分:0 

他应该是走错房间了。。

2005-12-02 21:23
zhangzujin
Rank: 1
等 级:新手上路
帖 子:276
专家分:0
注 册:2005-5-9
得分:0 

太极之道 qq:283421560 E-mail:zhangzujin360732@
2005-12-04 11:02



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-28940-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.713143 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved