VB常用算法源代码.doc

VB常用算法源代码.doc

ID:59252193

大小:35.00 KB

页数:8页

时间:2020-09-08

VB常用算法源代码.doc_第1页
VB常用算法源代码.doc_第2页
VB常用算法源代码.doc_第3页
VB常用算法源代码.doc_第4页
VB常用算法源代码.doc_第5页
资源描述:

《VB常用算法源代码.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1.高斯函数GAUSSJSubGAUSSJ(A(),N,B())DimIPIV(50),INDXR(50),INDXC(50)ForJ=1ToNIPIV(J)=0NextJForI=1ToNBIG=0#ForJ=1ToNIfIPIV(J)<>1ThenForK=1ToNIfIPIV(K)=0ThenIfAbs(A(J,K))>=BIGThenBIG=Abs(A(J,K))IROW=JICOL=KEndIfElseIfIPIV(K)>1ThenPrint"Singularmatrix"EndIfNextK

2、EndIfNextJIPIV(ICOL)=IPIV(ICOL)+1IfIROW<>ICOLThenForL=1ToNDUM=A(IROW,L)A(IROW,L)=A(ICOL,L)A(ICOL,L)=DUMNextLDUM=B(IROW)B(IROW)=B(ICOL)B(ICOL)=DUMEndIfINDXR(I)=IROWINDXC(I)=ICOLIfA(ICOL,ICOL)=0#ThenPrint"Singularmatrix."PIVINV=1#/A(ICOL,ICOL)A(ICOL,ICOL)=

3、1#ForL=1ToNA(ICOL,L)=A(ICOL,L)*PIVINVNextLB(ICOL)=B(ICOL)*PIVINVForLL=1ToNIfLL<>ICOLThenDUM=A(LL,ICOL)A(LL,ICOL)=0#ForL=1ToNA(LL,L)=A(LL,L)-A(ICOL,L)*DUMNextLB(LL)=B(LL)-B(ICOL)*DUMEndIfNextLLNextIForL=NTo1Step-1IfINDXR(L)<>INDXC(L)ThenForK=1ToNDUM=A(K,I

4、NDXR(L))A(K,INDXR(L))=A(K,INDXC(L))A(K,INDXC(L))=DUMNextKEndIfNextLEndSub2.松弛迭代SubSSOR(A(),N,B(),X(),EPS,OM,II)IMAX=200ForI=1ToNR=1#/A(I,I)B(I)=B(I)*RForJ=1ToNA(I,J)=A(I,J)*RNextJNextIForII=1ToIMAXRX=0#ForI=1ToNR=B(I)ForJ=1ToNR=R-A(I,J)*X(J)NextJIfAbs(R)

5、>RXThenRX=Abs(R)X(I)=X(I)+OM*RNextIIfOM*RX<=EPSThenExitSubNextIIPrint"Toomanyiterations"EndSub3.SVDCMPSubSVDCMP(A(),M,N,W(),V())DimRV1(100)IfM

6、#IfI<=MThenForK=IToMSCALE1=SCALE1+Abs(A(K,I))NextKIfSCALE1<>0#ThenForK=IToMA(K,I)=A(K,I)/SCALE1S=S+A(K,I)*A(K,I)NextKF=A(I,I)G=-Sqr(S)*Sgn(F)H=F*G-SA(I,I)=F-GIfI<>NThenForJ=LToNS=0#ForK=IToMS=S+A(K,I)*A(K,J)NextKF=S/HForK=IToMA(K,J)=A(K,J)+F*A(K,I)NextKN

7、extJEndIfForK=IToMA(K,I)=SCALE1*A(K,I)NextKEndIfEndIfW(I)=SCALE1*GG=0#S=0#SCALE1=0#IfI<=MAndI<>NThenForK=LToNSCALE1=SCALE1+Abs(A(I,K))NextKIfSCALE1<>0#ThenForK=LToNA(I,K)=A(I,K)/SCALE1S=S+A(I,K)*A(I,K)NextKF=A(I,L)G=-Sqr(S)*Sgn(F)H=F*G-SA(I,L)=F-GForK=LT

8、oNRV1(K)=A(I,K)/HNextKIfI<>MThenForJ=LToMS=0#ForK=LToNS=S+A(J,K)*A(I,K)NextKForK=LToNA(J,K)=A(J,K)+S*RV1(K)NextKNextJEndIfForK=LToNA(I,K)=SCALE1*A(I,K)NextKEndIfEndIfIfANORM>Abs(W(I))+Abs(RV1(I))ThenANORM=ANORMElseANORM=Ab

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。