討論區快速選單
知識庫快速選單
手把手帶你Android開發實務 討論區最近新進100則主題 傑米的攝影旅遊筆記
[ 回上頁 ] [ 討論區發言規則 ]
關於檔案數據內插
更改我的閱讀文章字型大小
作者 : okwep1001(okwep1001)
[ 貼文 4 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/1/28 下午 04:01:16
請教各位大大「這是輸出每個網格深度對應壓力水頭的數據檔,而我想內插出每個格點壓力水力=0所對應的深度,該如如寫出這個迴圈呢?


Z(高程) P(壓力水頭)
   1 23.1534(坡度)
 0.10000E-01 -0.87486
 0.30914 -0.62195
 0.60828 -0.36905
 0.90743 -0.11615
  1.2066 0.13675
  1.5057 0.38964
   2 33.8669(坡度)
 0.10000E-01 -0.35461
 0.22594 -0.20572
 0.44188 -0.56834E-01
 0.65782 0.92050E-01
 0.87376 0.24093
  1.0897 0.38982 . .
     . .
     . . . .
    121809 11.9548(坡度)
 0.10000E-01 -1.7343
 0.45376 -1.3096
 0.89752 -0.88484
  1.3413 -0.46011
  1.7850 -0.35382E-01
  2.2288 0.38934
作者 : okwep1001(okwep1001)
[ 貼文 4 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/1/29 上午 12:35:57
計算是可以,但是迴圈的部分有問題,首先整理資料如下

 0.10000E-01 -0.87486 .....第一筆資料
 0.30914 -0.62195
 0.60828 -0.36905
 0.90743 -0.11615
  1.2066 0.13675
  1.5057 0.38964
0.10000E-01 -0.35461 .....第二筆資料
 0.22594 -0.20572
 0.44188 -0.56834E-01
 0.65782 0.92050E-01
 0.87376 0.24093
  1.0897 0.38982
 0.10000E-01 -1.7343 ......第三筆資料
 0.45376 -1.3096
 0.89752 -0.88484
  1.3413 -0.46011
  1.7850 -0.35382E-01
  2.2288 0.38934

接著寫一個LEAST SQUARE,計算P=0時所對應的深度

PROGRAM LS

PARAMETER(NX=6,NY=3)
REAL::X(NX,NY) !X的資料
REAL::Y(NX,NY) !Y的資料

REAL::A !LEAST SQUARE中的A值
REAL::B !LEAST SQUARE中的B值



OPEN(10,FILE="DATA.TXT")
!讀資料
DO J=1,NY
 DO I=1,NX
  READ(10,*)Y(I,J),X(I,J)
  WRITE(*,*)Y(I,J),X(I,J)
 ENDDO



  DO I=1,NX
   SUM_X=SUM_X+X(I,J) !計算SUM_X、SUM_Y
   SUM_Y=SUM_Y+Y(I,J)
   SUM_XSQUARE=SUM_XSQUARE+X(I,J)**2 !計算SUM_XSQUARE、SUM_YSQUARE
   SUM_YSQUARE=SUM_YSQUARE+Y(I,J)**2
   SUM_XY=SUM_XY+X(I,J)*Y(I,J) !計算SUM_XY
  ENDDO



   WRITE(*,*)"SUM_X=",SUM_X
   WRITE(*,*)"SUM_Y=",SUM_Y
   WRITE(*,*)"SUM_XSQUARE=",SUM_XSQUARE
   WRITE(*,*)"SUM_XY=",SUM_XY

   A=(SUM_XSQUARE*SUM_Y-SUM_X*SUM_XY)/(NX*SUM_XSQUARE- SUM_X**2)
   B=(NX*SUM_XY-SUM_X*SUM_Y)/(NX*SUM_XSQUARE-SUM_X**2)
   WRITE(*,*)"A=",A," B=",B
ENDDO
 
   XX=0
   YI=A+B*XX
   WRITE(*,*)YI



END

第一筆資料Ok,但是第二、三筆資料就有問題了,想請教各位高手哪邊出了問題呢?
作者 : okwep1001(okwep1001)
[ 貼文 4 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/1/29 上午 12:36:05
計算是可以,但是迴圈的部分有問題,首先整理資料如下

 0.10000E-01 -0.87486 .....第一筆資料
 0.30914 -0.62195
 0.60828 -0.36905
 0.90743 -0.11615
  1.2066 0.13675
  1.5057 0.38964
0.10000E-01 -0.35461 .....第二筆資料
 0.22594 -0.20572
 0.44188 -0.56834E-01
 0.65782 0.92050E-01
 0.87376 0.24093
  1.0897 0.38982
 0.10000E-01 -1.7343 ......第三筆資料
 0.45376 -1.3096
 0.89752 -0.88484
  1.3413 -0.46011
  1.7850 -0.35382E-01
  2.2288 0.38934

接著寫一個LEAST SQUARE,計算P=0時所對應的深度

PROGRAM LS

PARAMETER(NX=6,NY=3)
REAL::X(NX,NY) !X的資料
REAL::Y(NX,NY) !Y的資料

REAL::A !LEAST SQUARE中的A值
REAL::B !LEAST SQUARE中的B值



OPEN(10,FILE="DATA.TXT")
!讀資料
DO J=1,NY
 DO I=1,NX
  READ(10,*)Y(I,J),X(I,J)
  WRITE(*,*)Y(I,J),X(I,J)
 ENDDO



  DO I=1,NX
   SUM_X=SUM_X+X(I,J) !計算SUM_X、SUM_Y
   SUM_Y=SUM_Y+Y(I,J)
   SUM_XSQUARE=SUM_XSQUARE+X(I,J)**2 !計算SUM_XSQUARE、SUM_YSQUARE
   SUM_YSQUARE=SUM_YSQUARE+Y(I,J)**2
   SUM_XY=SUM_XY+X(I,J)*Y(I,J) !計算SUM_XY
  ENDDO



   WRITE(*,*)"SUM_X=",SUM_X
   WRITE(*,*)"SUM_Y=",SUM_Y
   WRITE(*,*)"SUM_XSQUARE=",SUM_XSQUARE
   WRITE(*,*)"SUM_XY=",SUM_XY

   A=(SUM_XSQUARE*SUM_Y-SUM_X*SUM_XY)/(NX*SUM_XSQUARE- SUM_X**2)
   B=(NX*SUM_XY-SUM_X*SUM_Y)/(NX*SUM_XSQUARE-SUM_X**2)
   WRITE(*,*)"A=",A," B=",B
ENDDO
 
   XX=0
   YI=A+B*XX
   WRITE(*,*)YI



END

第一筆資料Ok,但是第二、三筆資料就有問題了,想請教各位高手哪邊出了問題呢?
作者 : okwep1001(okwep1001)
[ 貼文 4 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/1/29 上午 12:36:15
計算是可以,但是迴圈的部分有問題,首先整理資料如下

 0.10000E-01 -0.87486 .....第一筆資料
 0.30914 -0.62195
 0.60828 -0.36905
 0.90743 -0.11615
  1.2066 0.13675
  1.5057 0.38964
0.10000E-01 -0.35461 .....第二筆資料
 0.22594 -0.20572
 0.44188 -0.56834E-01
 0.65782 0.92050E-01
 0.87376 0.24093
  1.0897 0.38982
 0.10000E-01 -1.7343 ......第三筆資料
 0.45376 -1.3096
 0.89752 -0.88484
  1.3413 -0.46011
  1.7850 -0.35382E-01
  2.2288 0.38934

接著寫一個LEAST SQUARE,計算P=0時所對應的深度

PROGRAM LS

PARAMETER(NX=6,NY=3)
REAL::X(NX,NY) !X的資料
REAL::Y(NX,NY) !Y的資料

REAL::A !LEAST SQUARE中的A值
REAL::B !LEAST SQUARE中的B值



OPEN(10,FILE="DATA.TXT")
!讀資料
DO J=1,NY
 DO I=1,NX
  READ(10,*)Y(I,J),X(I,J)
  WRITE(*,*)Y(I,J),X(I,J)
 ENDDO



  DO I=1,NX
   SUM_X=SUM_X+X(I,J) !計算SUM_X、SUM_Y
   SUM_Y=SUM_Y+Y(I,J)
   SUM_XSQUARE=SUM_XSQUARE+X(I,J)**2 !計算SUM_XSQUARE、SUM_YSQUARE
   SUM_YSQUARE=SUM_YSQUARE+Y(I,J)**2
   SUM_XY=SUM_XY+X(I,J)*Y(I,J) !計算SUM_XY
  ENDDO



   WRITE(*,*)"SUM_X=",SUM_X
   WRITE(*,*)"SUM_Y=",SUM_Y
   WRITE(*,*)"SUM_XSQUARE=",SUM_XSQUARE
   WRITE(*,*)"SUM_XY=",SUM_XY

   A=(SUM_XSQUARE*SUM_Y-SUM_X*SUM_XY)/(NX*SUM_XSQUARE- SUM_X**2)
   B=(NX*SUM_XY-SUM_X*SUM_Y)/(NX*SUM_XSQUARE-SUM_X**2)
   WRITE(*,*)"A=",A," B=",B
ENDDO
 
   XX=0
   YI=A+B*XX
   WRITE(*,*)YI



END

第一筆資料Ok,但是第二、三筆資料就有問題了,想請教各位高手哪邊出了問題呢?
作者 : f77f95(f77f95) Fortran頂尖高手貼文超過500則
[ 貼文 548 | 人氣 9 | 評價 3370 | 評價/貼文 6.15 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/2/6 上午 10:13:55
SUM_X SUM_Y SUM_XY SUM_XSquare SUM_Ysquare 這幾個變數在使用前必需歸零。
作者 : f77f95(f77f95) Fortran頂尖高手貼文超過500則
[ 貼文 548 | 人氣 9 | 評價 3370 | 評價/貼文 6.15 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/2/6 上午 10:14:05
SUM_X SUM_Y SUM_XY SUM_XSquare SUM_Ysquare 這幾個變數在使用前必需歸零。
 板主 : 徵求中
 > Fortran - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - Fortran - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
Fortran
1 f77f95 3300 
2 dennis 470 
3 cc 350 
4 smallpotato 320 
5 qq 290 
6 冼鏡光 230 
7 eraser 220 
8 小文 210 
9 iner 200 
10 wuda 160 
Fortran
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.046875