fortran 一维和二维插值.docx
《fortran 一维和二维插值.docx》由会员分享,可在线阅读,更多相关《fortran 一维和二维插值.docx(6页珍藏版)》请在三一办公上搜索。
1、fortran 一维和二维插值 program Main c 声明变量 integer t character*32 nodes real Inv,Inv1,u,v real,allocatable:X(:,:,:),Y(:,:,:),Z(:,:,:),W(:,:,:), $X0(:,:,:),Y0(:,:,:),Z0(:,:,:),W0(:,:,:),x1(:),y1(:), $w1(:),z1(:,:) c 打开已有文件11读取数据行数 nodes=F1.DAT open(11,file=nodes,status=old,form=formatted) n=0 do while(.not.
2、eof(11) read(11,*,end=102) n=n+1 102 end do write(*,*) n c 返回首地址 rewind(11) c 判断三维数组大小 do i=1,(n/2) if(i*i*i.eq.n)then t=i end if end do c 调用定义的动态三维数组并读入值 allocate(x(1:t,1:t,1:t),y(1:t,1:t,1:t),z(1:t,1:t,1:t), $w(1:t,1:t,1:t),w0(1:(t-1),1:(t-1),1:(t-1), $x0(1:(t-1),1:(t-1),1:(t-1),y0(1:(t-1),1:(t-1)
3、,1:(t-1), $z0(1:(t-1),1:(t-1),1:(t-1) do 30 i=1,t,1 do 40 j=1,t,1 do 50 k=1,t,1 read(11,100) x(k,j,i),y(k,j,i),z(k,j,i),w(k,j,i) 50 continue 40 continue 30 continue rewind(11) close(11) c 计算flac 3d平均节点和坐标值 do 65 i=1,t-1,1 do 75 j=1,t-1,1 do 85 k=1,t-1,1 w0(k,j,i)=(w(i,j,k)+w(i,j,k+1)+w(i,j+1,k)+w(i,
4、j+1,k+1)+ $w(i+1,j,k)+w(i+1,j,k+1)+w(i+1,j+1,k)+w(i+1,j+1,k+1)/8 x0(k,j,i)=(x(i,j,k)+x(i,j,k+1)+x(i,j+1,k)+x(i,j+1,k+1)+ $x(i+1,j,k)+x(i+1,j,k+1)+x(i+1,j+1,k)+x(i+1,j+1,k+1)/8 y0(k,j,i)=(y(i,j,k)+y(i,j,k+1)+y(i,j+1,k)+y(i,j+1,k+1)+ $y(i+1,j,k)+y(i+1,j,k+1)+y(i+1,j+1,k)+y(i+1,j+1,k+1)/8 z0(k,j,i)=(z(
5、i,j,k)+z(i,j,k+1)+z(i,j+1,k)+z(i,j+1,k+1)+ $z(i+1,j,k)+z(i+1,j,k+1)+z(i+1,j+1,k)+z(i+1,j+1,k+1)/8 85 continue 75 continue 65 continue c 把求解的节点值输入到文件2 OPEN (UNIT=2,FILE=F2.DAT,STATUS=NEW,ACCESS=SEQUENTIAL, $FORM=FORMATTED) do 60 i=1,t-1,1 do 70 j=1,t-1,1 do 80 k=1,t-1,1 write(2,100) x0(k,j,i),y0(k,j,
6、i),z0(k,j,i),w0(k,j,i) 80 continue 70 continue 60 continue close(2) c 调用计算一维全区间插值并输出数据 open(11,file=nodes,status=old,form=formatted) allocate (x1(1:n),y1(1:n),w1(1:n) do i=1,n,1 read(11,100) x1(i),y1(i),w1(i) end do close(11) c 把数据输入到文件3 OPEN(UNIT=3,FILE=F3.DAT,STATUS=NEW,ACCESS=SEQUENTIAL, $FORM=FO
7、RMATTED) do i=1,n,1 call flac11(x1,y1,n,w1(i),InV) write(3,(e26.6) InV end do CLOSE(3) c 调用计算一维三点插值并输出数据 c 把数据输入到文件4 OPEN(UNIT=4,FILE=F4.DAT,STATUS=NEW,ACCESS=SEQUENTIAL, $FORM=FORMATTED) do i=1,n,1 call flac13(x1,y1,n,w1(i),InV1) write(4,300) x1(i),y1(i),Inv1 end do CLOSE(4) 100 format(e12.6,3e16.6
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- fortran 一维和二维插值 维和 二维
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-3060996.html