- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章方程的数值解法(附录)
PAGE
PAGE 18
MACROBUTTON MTEditEquationSection2 方程段 1 部分 1 SEQ MTEqn \r \h \* MERGEFORMAT SEQ MTSec \r 1 \h \* MERGEFORMAT SEQ MTChap \r 1 \h \* MERGEFORMAT 第2章 附录
2.1.1 高斯消去法
CCCCCCCgauss.forCCCCCCCCCC
SUBROUTINE GAUSS(N,A) ! Gauss elimination
INTEGER PV ! Pivoting index
DIMENSION A(10,11)
EPS=1.0 ! Machine epsilon is computed.
10 IF (1.0+EPS.GT.1.0) THEN
EPS=EPS/2.0
GOTO 10
END IF
EPS=EPS*2
PRINT *, MACHIN EPSILON= , EPS
EPS2=EPS*2
1005 DET= 1 ! Initialization of determinant
DO 1010 I=1,N-1
PV=I
DO J=I+1,N
IF (ABS(A(PV,I)) .LT. ABS(A(J,I))) PV=J
END DO
IF (PV.EQ.I) GOTO 1050
DO JC=1,N+1
TM=A(I,JC)
A(I,JC)=A(PV,JC)
A(PV,JC)=TM
END DO
1045 DET=-1*DET ! Each time pivointing is done, sign of DET changes.
1050 IF(A(I,I).EQ.0) GOTO 1200 ! Singular matrix if A(I,I)=0.
DO JR=I+1, N ! Elimination of below-diagonal.
IF(A(JR,I).NE.0) THEN
R=A(JR,I)/A(I,I)
DO KC=I+1,N+1
TEMP=A(JR,KC)
A(JR,KC)=A(JR,KC) -R*A(I,KC)
IF(ABS(A(JR,KC) ) . LT.EPS2*TEMP) A(JR,KC)=0.0
! If the result of subtraction is smaller than
! 2 times machine epsilon times the original
! value, it is set to zero.
END DO
END IF
1060 END DO
1010 CONTINUE
DO I=1,N
DET=DET*A(I,I) ! Determinant is calculated.
END DO
PRINT *
PRINT * , DETERMINANT = , DET
PRINT *
IF(A(N,N).EQ.0) GOTO 1200
A(N,N+1)=A(N,N+1)/A(N,N)
DO NV=N-1,1,-1 ! Backward substitution starts.
VA=A(NV,N+1)
DO K=NV+1,N
VA=VA-A(NV,K)*A(K,N+1)
END DO
A(NV,N+1)=VA/A(NV, NV)
END DO
RETURN
1200 PRINT *, MATRIX IS SINGULAR
STOP
END
CCCCCCCgauss.cCCCCCCCCCC
#include stdlib.h
#include math.h
#include stdio.h
int gauss(a,b,n)
int n;
double a[],
您可能关注的文档
最近下载
- Linux网络操作系统配置与管理 第四版 项目3 文件和目录的管理.ppt VIP
- 医学课件-肝功能衰竭.pptx VIP
- 《保教政策法规与职业道德》中职幼儿保育专业全套教学课件.pptx
- 肝功能衰竭医学科普.pptx
- 2024-2025学年广东省深圳中学九年级(上)开学数学试卷(含详解).pdf VIP
- 《肝功能衰竭》课件课件-2024鲜版.ppt VIP
- 通桥(2014)2132-Ⅳ(跨度31.5m) (附条文及目录 ).pdf VIP
- 儿科学麻疹病例分析,病例导入法.docx VIP
- 燃煤锅炉超低排放治理工程项目实施方案(参考).docx
- 24012NDS00 NDS试验测试标准.doc VIP
文档评论(0)