为什么用追赶法和矩阵除法算的结果不一样

为什么用追赶法和矩阵除法算的结果不一样,第1张

点除与矩阵除法:

在书写程序的时候,点乘和矩阵乘法写错的时候再进行程序调适的

时候MATLAB会返回错误说明。

但是对于点除容易出现问题,下面以一个简单的例子说明这个问题:

比如我们要计算:

A = [1,1];

B = [2,1];

C = A/B;

上面的程序我们计算的是A与B的点除。但是由于疏忽而把点除“/”

!高斯消去法

subroutine agaus(a,b,n,x,l,js)

dimension a(n,n),x(n),b(n),js(n)

double precision a,b,x,t

l=1 !逻辑变量

do k=1,n-1

d=00

do i=k,n

do j=k,n

if (abs(a(i,j))>d) then

d=abs(a(i,j))

js(k)=j

is=i

end if

end do

end do !把行绝对值最大的元素换到主元位置

if (d+10==10) then

l=0

else !最大元素为0无解

if(js(k)/=k) then

do i=1,n

t=a(i,k)

a(i,k)=a(i,js(k))

a(i,js(k))=t

end do !最大元素不在K行,K行

end if

if(is/=k) then

do j=k,n

t=a(k,j)

a(k,j)=a(is,j)

a(is,j)=t !交换到K列

end do

t=b(k)

b(k)=b(is)

b(is)=t

end if !最大元素在主对角线上

end if !消去

if (l==0) then

write(,100)

return

end if

do j=k+1,n

a(k,j)=a(k,j)/a(k,k)

end do

b(k)=b(k)/a(k,k) !求三角矩阵

do i=k+1,n

do j=k+1,n

a(i,j)=a(i,j)-a(i,k)a(k,j)

end do

b(i)=b(i)-a(i,k)b(k)

end do

end do

if (abs(a(n,n))+10==10) then

l=0

write(,100)

return

end if

x(n)=b(n)/a(n,n)

do i=n-1,1,-1

t=00

do j=i+1,n

t=t+a(i,j)x(j)

end do

x(i)=b(i)-t

end do

100 format(1x,'fail')

js(n)=n

do k=n,1,-1

if (js(k)/=k) then

t=x(k)

x(k)=x(js(k))

x(js(k))=t

end if

end do

return

end

program main

dimension a(4,4),b(4),x(4),js(4)

double precision a,b,x

real m1,m2,j

open(1,file="laiyitxt")

read(1,)m1,m2,j

close(1)

n=4

print,m1,m2,j

a(1,1)=m1cos(314159j/180)

a(1,2)=-m1

a(1,3)=-sin(314159j/180)

a(1,4)=0

a(2,1)=m1sin(314159j/180)

a(2,2)=0

a(2,3)=cos(314159j/180)

a(2,4)=0

a(3,1)=0

a(3,2)=m2

a(3,3)=-sin(314159j/180)

a(3,4)=0

a(4,1)=0

a(4,2)=0

a(4,3)=-cos(314159j/180)

a(4,4)=1

b(1)=0

b(2)=m198

b(3)=0

b(4)=m298

call agaus(a,b,n,x,l,js)

if (l/=0) then

write(,)"a1=",x(1),"a2=",x(2) ,"n1=",x(3),"n2=",x(4)

end if

end

!逆矩阵求解

SUBROUTINE qiuni(A,N,L,IS,JS)

DIMENSION A(N,N),IS(N),JS(N)

DOUBLE PRECISION A,T,D

L=1

DO K=1,N

D=00

DO I=K,N

DO J=K,N

IF(ABS(A(I,J))GTD) THEN !把最大的元素给D

D=ABS(A(I,J))

IS(K)=I

JS(K)=J

END IF

END DO

END DO

IF (D+10EQ10)THEN

L=0

WRITE(,200)

RETURN

END IF

200 FORMAT(1X,'ERRNOT INV')

DO J=1,N

T=A(K,J)

A(K,J)=A(IS(K),J)

A(IS(K),J)=T

END DO

DO I=1,N

T=A(I,K)

A(I,K)=A(I,JS(K))

A(I,JS(K))=T

END DO

A(K,K)=1/A(K,K)

DO J=1,N

IF(JNEK)THEN

A(K,J)=A(K,J)A(K,K)

END IF

END DO

DO I=1,N

IF(INEK)THEN

DO J=1,N

IF(JNEK)THEN

A(I,J)=A(I,J)-A(I,K)A(K,J)

END IF

END DO

END IF

END DO

DO I=1,N

IF(INEK)THEN

A(I,K)=-A(I,K)A(K,K)

END IF

END DO

END DO

DO K=N,1,-1

DO J=1,N

T=A(K,J)

A(K,J)=A(JS(K),J)

A(JS(K),J)=T

END DO

DO I=1,N

T=A(I,K)

A(I,K)=A(I,IS(K))

A(I,IS(K))=T

END DO

END DO

RETURN

END

SUBROUTINE BRMUL(A,B,N,C)

DIMENSION A(N,N),B(N),C(N)

DOUBLE PRECISION A,B,C

DO I=1,N

DO J=1,N

C(I)=00

DO L=1,N

C(I)=C(I)+A(I,L)B(L)

END DO

END DO

END DO

RETURN

END

program main

DIMENSION A(4,4),B(4,1),C(4,1),IS(4),JS(4)

DOUBLE PRECISION A,B,C

REAL M1,M2,JD

OPEN(1,FILE='LAIYITXT')

READ(1,) M1,M2,JD

PRINT,M1,M2,JD

CLOSE(1)

A(1,1)=M1COS(314JD/180)

A(1,2)=-M1

A(1,3)=-SIN(314JD/180)

A(1,4)=0

A(2,1)=M1SIN(314JD/180)

A(2,2)=0

A(2,3)=COS(314JD/180)

A(2,4)=0

A(3,1)=0

A(3,2)=M2

A(3,3)=-SIN(314JD/180)

A(3,4)=0

A(4,1)=0

A(4,2)=0

A(4,3)=-COS(314JD/180)

A(4,4)=1

B(1,1)=0

B(2,1)=M198

B(3,1)=0

B(4,1)=M298

CALL QIUNI(A,4,L,IS,JS)

CALL BRMUL(A,B,4,C)

WRITE(,) (C(I,1),I=1,4)

END

画图

USE MSFLIB

INTEGER status

TYPE(xycoord) xy

status=SETCOLORRGB(#FFFFFF)

status1=SETCOLORRGB(#0000FF)

OPEN(1,FILE="GTXT")

READ(1,) G1,G2,G3,G4

OPEN(2,FILE="NTXT")

READ(2,) N1,N2,N3,N4

CALL MOVETO(INT(20),INT(20),xy)

status=LINETO(INT(40),INT(G1))

status=LINETO(INT(80),INT(G2))

status=LINETO(INT(120),INT(G3))

status=LINETO(INT(160),INT(G4))

CALL SETLINESTYLE(#FF00)

CALL MOVETO(INT(20),INT(20),xy)

status1=LINETO(INT(40),INT(N1))

status1=LINETO(INT(80),INT(N2))

status1=LINETO(INT(120),INT(N3))

status1=LINETO(INT(160),INT(N4))

READ(,)

END

化学分析工程师的报考条件分基础考试和专业考试:

一、基础考试

1、取得本专业或相近专业(过程装备与控制工程、环境工程、安全工程等)大学本科及以上学历或学位。

2、取得本专业或相近专业大学专科学历,累计从事化工工程设计工作满1年。

3、取得其他工科专业大学本科及以上学历或学位,累计从事化工工程设计工作满1年。

二、专业考试

1、取得本专业博士学位后,累计从事化工工程设计工作满2年;或取得相近专业博士学位后,累计从事化工工程设计工作满3年。

2、取得本专业硕士学位后,累计从事化工工程设计工作满3年;或取得相近专业硕士学位后,累计从事化工工程设计工作满4年。

3、取得含本专业在内的双学士学位或本专业研究生班毕业,累计从事化工工程设计工作满4年后;或取得相近专业双学士学位或研究生班毕业后,累计从事化工工程设计工作满5年。

扩展资料

考试时间及科目介绍:

注册化学分析工程师执业资格考试原则上每年举行一次。具体考试时间详见本网站公布的专业技术人员资格考试年度计划。

基础考试包括基础知识上和基础知识下两部分内容,每部分考试时间4小时,专业考试包括专业知识和专业案例两个科目,专业知识分为专业知识上和专业知识下两部分内容,每部分考试时间3个小时。专业案例分为专业案例上和专业案例下两部分内容,每部分考试时间3个小时。

报名办法:

注册化工工程师执业资格考试实行网上报名、现场资格审查、现场或网上缴费的方式,符合报考条件的人员需在规定时间内在指定网站填写并提交报名信息;

上传照片,并按有关规定进行资格审查,确认符合报考条件后,在规定时间内支付考试费用(报名具体安排详见各省(区、市)有关文件。

参考资料:

中国人事考试网-注册化工工程师考试

通过matlab仿真了Saleh-Valenzuela 信道模型,仿真图有四个子图,(a)和(b)分别示出的分布的群集抵达时间和射线到达时间,(c)表示S-V信道的脉冲响应,(d)图显示了信道功率分配

[MATLABprorar] - 该程序包包含大量的matlab程序,比如Euler解常微分方程、neville插值、newton插值、Taylor解微分方程、改进平方根法、追赶法!

郭志宏

(地矿部航空物探遥感中心,北京 100083)

我中心IBM4341计算机硬件设备及软件系统是1988年从美国引进的。这些年来,该套系统为我中心航空物探数据处理及成图完成了不少工作,起了很大作用,但同时也逐渐暴露了其缺点。首先是IBM4341机硬件设备及空调系统占地面积大、耗电量大,同时需要配备较多的维护人员。另外其所配备的静电绘图仪所用的绘图纸、墨等耗材一直依靠国外进口,从而使得在IBM4341机上进行航空物探数据处理及成图工作的成本居高不下。特别是近几年,随着IBM4341机硬件设备逐步老化等诸多问题的出现,使得我中心航空物探数据处理及成图工作受IBM4341机瓶颈限制的矛盾日益突出。所幸的是这几年微型计算机的迅猛发展已使微机的硬件设备基本能够满足中心航空物探数据处理及成图工作的要求,但是基于微机上的航空物探数据(解释)处理及成图的软件系统却很不完善,无法和IBM4341机上配套的软件系统相比。尤其是在数据网格化和成图方面,还不得不依赖IBM4341机的软件程序,这是近年来无法将IBM4341计算机完全淘汰的主要原因之一。为了挽救IBM4341机上这些有价值的软件程序,不使其随着IBM4341机的淘汰而消失,尽可能将其消化、吸收、移植或重新开发到微机上来,实现航空物探数据微机处理及成图一条龙,在1996年初设立了微机高精度航空物探解释处理及成图系统研制的课题。

一、IBM4341机网格化程序的消化与吸收简况

无论是航空物探数据(解释)处理还是成图,首先面临的是数据网格化问题。网格化方法软件的好坏不仅直接影响到网格化数据的质量、精度和可信程度,而且还将进一步影响到数据解释处理图件的质量、效果和可靠性。IBM4341机网格化程序是随IBM4341计算机引进的,程序是澳大利亚的ECS公司70年代基于小型计算机开发出来,其后经过在IBM4341机上多年的应用证明其数据网格化质量精度高、效果好,这是大家公认的。即使在国外同类程序中相比,IBM4341机网格化程序迄今也是较优秀的。因此,这几年有许多同志曾多次试图对IBM4341机网格化程序进行消化和剖析,但均未获结果。主要原因是IBM4341机网格化程序随机引进的FORTRAN源程序语句多达上万条,程序既长又乱,结构极其复杂,经常是子程序套用子程序,子程序多达几十个。这些子程序中有些源程序是由汇编语言编写而成,个别关键的子程序甚至还缺少源程序。出于技术保密等原因,当时随机引进的资料中没有网格化程序方法技术方面的资料,加上所给的源程序中的说明语句又很少,从而对其进行消化吸收和剖析工作无法进行。这些年来,IBM4341机网格化程序所采用的网格化方法技术始终是个难解之谜。

二、微机双三次样条内插网格化方法软件的研制开发

由于前面提到的原因,无法剖析和移植IBM4341机网格化程序,为解决微机高精度航空物探处理成图系统中的数据网格化问题,只有走自己重新研制和开发的路。通过收集和阅读大量资料文献,比较各种数据网格化方法,针对航空物探测线型数据的特点,我们最终选用三次样条函数作为插值函数,在微机上研制开发出三次样条内插网格化方法软件。

(—)三次样条插值函数

设函数f(D)在插值区间[D0,Dn]上的n+1个互异节点Di上的值为f(Di)=Fi,i=0,1,2,…,n,则函数f(D)对应在各子区间[Di-l,Di]上的三次样条插值函数为[1][2]

航空物探遥感论文集

其中,hi=Di-Di-l,D∈[Di-l,Di],i=1,2,…,n;M0,M1,M2,…,Mn为样条插值函数S(D)在n+1个互异节点上的二阶导数值Mi=S″(Di),i=0,1,2,…,n;它们满足下面的代数方程组

航空物探遥感论文集

其中

航空物探遥感论文集

令S″(D0)=M0=0及S″(Dn)=Mn=0作为边界插值条件,则可根据(1)式至(2)式用“追赶法”求得[D0,Dn]区间上分段三次样条插值函数。

(二)双三次样条内插网格化方法

双三次样条内插网格化方法的主要思想和过程如下。

1坐标转换

将实际测量航线的大地坐标转换到用户确定的网格坐标系中,以利于后面各步的计算工作。

2测线方向样条插值计算

根据(1)式至(2)式,沿各测量航线方向进行样条插值计算,从而获得各测线数据的三次样条插值函数,并将有关计算结果储存起来以备调用。需要指出的是,由于各测量航线实际是折线,因而在应用(1)式一元三次样条插值函数时,插值区间各节点上的Di值和D值应为折线段累加距离

航空物探遥感论文集

式中,D(X,Y)∈[Di-1,Di],X∈[Xi-1,Xi],Y∈[Yi-1,Yi],i=1,2,…,n。这样处理后,比较复杂的二元三次样条插值函数计算[3]仍可简化为较简单的一元三次样条插值计算问题,既能保证足够的插值精度,又不会引起前者计算可能产生的不稳定性问题。

3交叉点搜寻及求值

分别搜寻计算各网格线与各测线的交叉点位置,并根据各测线数据的三次样条插值函数求出各交叉点上的数据场值,见图1。

图1 双三次样条内插网格化示意

○为网格线与测线的交叉点

图2 原始网格区边部去假值示意

4网格线方向样条插值计算

根据各网格线与各测线的交叉点及场值,分别沿x和y网格线方向进行三次样条插值,从而得到各网格线上网格节场值。由于参与网格化计算的测线数据量一般均较大,并且为了计算时能够得到足够大的网格数据,3、4两步是分块计算重复进行的。将沿x和y网格线方向插值获得的网格节点上的两次插值结果平均,从而得到用户选择的原始网格化区域的网格数据结果。

5原始网格区网格数据边部去假值处理

将两次三次样条插值计算得到的原始网格区网格数据进行原始网格区边部去假值处理,得到有效网格区的原始网格数据,见图2。

6有效网格区网格数据圆滑处理

有效网格区原始网格数据进行加权平均圆滑处理,从而得到有效网格区圆滑网格数据,该网格数据就是双三次样条内插网格化程序的最终网格化结果。

图3是双三次样条内插网格化方法的程序流程。

三、双三次样条内插网格化方法实例计算

双三次样条内插网格化方法采用的“分段定义,光滑连接”的三次样条插值函数,属于自然样条函数类。当插值节点大于或等于4时,满足一定插值条件的三次自然样条是唯一存在的,并且在所有满足同一插值条件的函数中自然样条函数最为平滑、稳定,很少出现多余的拐点和畸变。另外三次样条函数由于在插值区间上二次连续可微,因而,即使对一些精度要求较高的工程问题,例如飞机外形的设计、船体放样、地球物理探矿等,其插值精度也足够了,所以双三次样条内插网格化方法计算得到的网格化数据应具有插值精度高、畸变小,插值数据平滑稳定、质量效果好等特点。这些特点已被新疆某地双三次样条内插网格化方法实例计算结果与IBM4341机网格化程序计算结果比较后所证实。图4和图5是新疆某地区分别采用双三次样条内插网格化方法程序和IBM4341机网格化程序计算获得的航磁网格化数据的绘制结果。比较图4和图5,可以看到两者吻合率达到95%以上,并且图4在精度细节和质量效果方面完全可以和图5相媲美,两者只是在数据圆滑程度和数据边部处理上略有差异。从图4和图5惊人的吻合情况,不难推断出IBM4341机网格化程序必定也是一种以样条插值为核心技术的网格化方法。困扰多年的IBM4341机网格化程序的方法技术难解之谜终于被揭晓。从新疆某地区的应用情况还看到,双三次样条内插网格化方法的结果除了在精度细节和质量效果方面已达到IBM4341机网格化程序的水平,其网格化计算速度也远比后者快,计算该区290×468网格数据,双三次样条内插网格化程序在486微机上仅需6minCPU时间,而IBM4341机网格化程序在IBM4341机上则需近20minCPU时间才能完成。

图3 双三次样条内插网格化方法程序流程图

四、结论

通过新疆阿克苏等工区的实际应用和比较,可得出以下几点结论。

图4 新疆某地区双三次样条内插网格化航磁△T网格数据

图5 新疆某地区IBM4341机网格化航磁△T网格数据

1计算精度高 双三次样条内插网格化方法在网格化精度细节和质量效果方面已基本完全达到IBM4341机网格化程序的水平。

2计算速度快 双三次样条内插网格化程序的计算速度远比IBM4341机网格化程序快。

3计算点数多 双三次样条内插网格化程序允许参与计算的每条测线的测点数可多达20000或更多,而IBM4341机网格化程序则限制每条测线的点数不能超过9000。

4计算网格大 双三次样条内插网格化程序能计算的数据网格远比IBM4341机网格化程序大,前者可达2000×2000或更大,而后者有效网格仅为512×512。

5网格化前预处理 双三次样条内插网格化程序增加了网格化前对剖面测线数据全区整体去水平基值及进行空间域非线性滤波圆滑处理等功能。

6边部无外延 双三次样条内插网格化程序计算的网格数据边部基本无外延,而IBM4341机网格化程序由于采用了逐步增生法计算的网格数据边部则略有外延。

双三次样条内插网格化方法软件的研制成功使得微机高精度航空物探解释处理及成图系统的建立成为可能,为该系统的研制成功奠定了坚实的基础。目前该系统其它方面的工作也已基本完成,一些成果已逐步投入使用,从新疆等工区的应用情况看,效果均较满意。微机高精度航空物探解释处理及成图系统的研制完成,不仅能使航空物探(解释)处理及成图工作完全摆脱IBM4341机的瓶颈束缚,并且还带来较大的经济效益。

参考文献

1徐萃薇计算方法引论北京:高等教育出版社,1985

2汪柄柱快速样条函数插值网格化方法物化探计算方法技术,1996,18(4)

THE DEVELOPMENT AND APPLICATION OF THE SOFTWARE OF THE DOUBLE CUBIC SPLINE INTERPOLATED GRIDDING TECHNIQUE

Guo Zhihong

(Aerogeophysical Survey and Remote-Sensing Center,Beijing 100083)

Abstract

Gridding is an important link in geophysical and geochemical data processingThe double cubic spline interpolated gridding technique suggested in this paper can relatively satisfactorily solve the gridding calculation problem of the aerogeophysical traverse type dataA calculation example for a certain area of Xinjiang proved this technique to be of high precision and calculation speedThe successful development of the software for the double cubic spline interpolated gridding technique has completely freed the aerogeophysi-cal data processing and mapping for Aerogeophysical Survey and Remote-Sensing Center from the restriction of the IBM 4341 computer,and laid a solid foundation for the high-precision aerogeophysical interpretation and processing on computer and the successful development of the mapping system

以上就是关于为什么用追赶法和矩阵除法算的结果不一样全部的内容,包括:为什么用追赶法和矩阵除法算的结果不一样、fortran:用高斯消去法,矩阵求逆法、三角分解法、追赶法中的两种解线性方程组、化学类分析师怎么考等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9306029.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存