Programming 板


LINE

大家好,小弟有一些imsl使用上的問題 在程式裡,小弟的目的是想先用程式裡寫好的方程式算出所要的初值 再把算好的初值放到xguess裡去給程式收歛 但是debug完後,程式說 Error: This symbol must be a defined parameter or an argument of an inquiry fun ction that evaluates to a compile-time constant. Error: This is not a valid initialization expression. 結果只能事先先算好,再把算好的值(數字)放到xguess裡讓程式收歛 這樣程式才會跑出結果 也就是說程式只收歛常數(數字)而已 後來又試過以下方法 1.試過先用副程式算好,再call到主程式裡 2.用READ去讀檔裡的數字 但結果也是出現debug那兩行 不知道有沒有什麼方式可以在同一程式裡算好 再自動代入xguess裡去算 要不然要一組一組輸入很沒效率(因為小弟有上千組數據等著收) 下面是我的程式碼,先謝過大家了 PROGRAM MAIN USE IMSL IMPLICIT NONE INTEGER, PARAMETER :: ITMAX=100 INTEGER, PARAMETER :: NROOT=1 REAL, PARAMETER :: EPS=1.E-6 REAL, PARAMETER :: ERRABS=1.E-6 REAL, PARAMETER :: ERRREL=1.E-6 REAL, PARAMETER :: ETA=1.E-6 INTEGER INFO(NROOT) REAL, EXTERNAL :: FS,FR REAL :: XS(NROOT) REAL :: XR(NROOT) real :: VR=1./10. REAL :: XGUESS1(NROOT)=(/vr/) REAL :: XGUESS2(NROOT)=(/0.09/) REAL Z,ZSIM,ZREF CALL ZREAL (FS,ERRABS,ERRREL,EPS,ETA,NROOT,ITMAX,XGUESS1,XS,INFO) CALL ZREAL (FR,ERRABS,ERRREL,EPS,ETA,NROOT,ITMAX,XGUESS2,XR,INFO) WRITE(*,"('VR(0)=',F20.18)") XS WRITE(*,"('VR(r)=',F20.18)") XR STOP END REAL FUNCTION FS(XS) IMPLICIT NONE REAL:: XS REAL ,PARAMETER :: BE1=0.65392 REAL ,PARAMETER :: GA1=0.060167 REAL GB,GC,GD,TR,PR,TEMP,T,P INTEGER, PARAMETER :: H=4 REAL :: W1(H),Y1(H),Z1(H),Z REAL, PARAMETER :: TC= 190.56 REAL, PARAMETER :: PC= 45.99 T=100. P=20. W1(1)=0.1181193 W1(2)=0.265728 W1(3)=0.15479 W1(4)=0.030323 Y1(1)=0.0236744 Y1(2)=0.0186984 Y1(3)=0.0 Y1(4)=0.042724 Z1(1)=0.0000155488 Z1(2)=0.0000623689 TR=T/TC PR=P/PC GB=W1(1)-W1(2)/TR-W1(3)/TR**2-W1(4)/TR**3 GC=Y1(1)-Y1(2)/TR+Y1(3)/TR**3 GD=Z1(1)+Z1(2)/TR FS=TR/PR*(1/XS+GB/XS**2+GC/XS**3+GD/XS**6+Y1(4)/TR**3/XS**3*(BE1+GA1/XS**2)*E XP(-GA1/XS**2))-1 RETURN END FUNCTION REAL FUNCTION FR(XR) IMPLICIT NONE REAL:: XR REAL ,PARAMETER :: BE2=1.226 REAL ,PARAMETER :: GA2=0.03754 REAL GB,GC,GD,TR,PR,TEMP,T,P INTEGER, PARAMETER :: H=4 REAL :: W2(H),Y2(H),Z2(H),Z REAL, PARAMETER :: TC= 190.56 REAL, PARAMETER :: PC= 45.99 T=100. P=20. W2(1)=0.2026579 W2(2)=0.331511 W2(3)=0.027655 W2(4)=0.203488 Y2(1)=0.0313385 Y2(2)=0.0503618 Y2(3)=0.016901 Y2(4)=0.041577 Z2(1)=0.000048736 Z2(2)=0.00000740336 TR=T/TC PR=P/PC GB=W2(1)-W2(2)/TR-W2(3)/TR**2-W2(4)/TR**3 GC=Y2(1)-Y2(2)/TR+Y2(3)/TR**3 GD=Z2(1)+Z2(2)/TR FR=TR/PR*(1/XR+GB/XR**2+GC/XR**3+GD/XR**6+Y2(4)/TR**3/XR**3*(BE2+GA2/XR**2)*E XP(-GA2/XR**2))-1 RETURN END FUNCTION --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.124.50.204 ※ 編輯: m710387 來自: 140.124.50.204 (09/19 14:32)







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BuyTogether站內搜尋

TOP