Fortran Coder

查看: 10440|回复: 6
打印 上一主题 下一主题

[线性代数] 求解线性方程组

[复制链接]

38

帖子

7

主题

0

精华

熟手

F 币
218 元
贡献
134 点

规矩勋章

跳转到指定楼层
楼主
发表于 2014-4-17 19:33:57 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
[Fortran] 纯文本查看 复制代码
SUBROUTINE SLBSI(A,B,D,N,MS,NX,MX)
DIMENSION A(NX,MX),B(NX),D(MX)
N1=N-1
DO K=1,N1
   C=A(K,1)
   K1=K+1
   IF((ABS(C)-0.000001).LE.0)THEN
   WRITE(6,2)K
2  FORMAT('*****SINGULARITY IN ROW',I5)
   STOP
   ELSE
   NI=K1+MS-2
   L=MIN(NI,N)
   DO J=2,MS
   D(J)=A(K,J)
   ENDDO
   DO J=K1,L
      K2=J-K+1
   A(K,K2)=A(K,K2)/C
   ENDDO
   B(K)=B(K)/C

   DO I=K1,L
   K2=I-K1+2
   C=D(K2)
   DO J=I,L
   K2=J-I+1
   K3=J-K+1
   A(I,K2)=A(I,K2)-C*A(K,K3)
   ENDDO
   B(I)=B(I)-C*B(K)
   ENDDO
ENDIF
ENDDO

IF((ABS(A(N,1))-0.000001).LE.0)THEN
WRITE(6,7)K
7     FORMAT('*****SINGULARITY IN ROW',I5)
STOP
ELSE
B(N)=B(N)/A(N,1)
DO I=1,N1
   K=N-I
   K1=K+1
   NI=K1+MS-2
   L=MIN(NI,N)
   DO J=K1,L
   K2=J-K+1
   B(K)=B(K)-A(K,K2)*B(J)
   ENDDO
ENDDO
ENDIF
RETURN
END




一个解线性方程组的程序,不知道有没有大神有空帮我看看,这是一个有限元的子程序,整个程序已经可以计算,但是结果就是不对,是一个 解二维等带宽矩阵的程序吧,数学学得不行


HJstatic.DAT

368 Bytes, 下载次数: 4

输入数据

HJstatic.f90

7.13 KB, 下载次数: 4

RESULT.TXT

2.87 KB, 下载次数: 0

输出数据,错的

分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

38

帖子

7

主题

0

精华

熟手

F 币
218 元
贡献
134 点

规矩勋章

沙发
 楼主| 发表于 2014-4-17 19:55:13 | 显示全部楼层
aliouying 发表于 2014-4-17 19:51
如果单纯给代码,咱们没法给您看,没有任何说明,没有任何算法原理

最好给出输入文件,别人才好测试你的程 ...

恩,第一次发帖问问题,见谅哦,整体的代码有几百行,发上来也没人愿意看吧,这个应该是一个单独的方程组,所以想单独拿出来,看来也不行,我把代码和输入文件发附件您帮看看行吗?

38

帖子

7

主题

0

精华

熟手

F 币
218 元
贡献
134 点

规矩勋章

板凳
 楼主| 发表于 2014-4-17 19:58:22 | 显示全部楼层
求解结果,位移,轴力,合力几乎都是错误的

38

帖子

7

主题

0

精华

熟手

F 币
218 元
贡献
134 点

规矩勋章

地板
 楼主| 发表于 2014-4-18 23:04:18 | 显示全部楼层
aliouying 发表于 2014-4-17 20:55
我说的输入文件的意思是指矩阵,不是其他,不要拿专业的东西,能碰到同一个专业且热心帮你解决的可能性很 ...

嗯,还是谢谢你了,那样的话我还得考虑下怎么描述
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-14 23:24

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表