Fortran 板


LINE

最近在把fortran90改成C 但本身不是學f90,網路上資料能找到的也有限... 最近碰到一個奇怪的問題, CALL GATEOPEN(QU, HO, INGT(IST2, 1), GT(1, 1, IST2), MDC_GT); 這邊的GT應該是一個三維陣列中取出來的REAL值 但是在GATEOPEN這個subroutine中 SUBROUTINE GATEOPEN( T,F,N,FT,MAXD ) ..... INTEGER, INTENT(IN) :: N,MAXD REAL(SP), INTENT(IN) :: T,FT(MAXD,2) ... 我實在是看不懂為何這邊會變成FT(MAXD,2) 後面使用也是變成二維陣列的形式 DO I = 1, N IF( T <= FT(I,1) ) THEN F = FT(I,2) RETURN END IF END DO 求解...懸賞1000P 感謝各位大神。 -- 我的意中人是個蓋世英雄,有一天他會踩著七色的雲彩來娶我 我猜中了前頭,可是我猜不著這結局。 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.124.44.60 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Fortran/M.1574677143.A.D89.html
1F:推 fragmentwing: 老實說我看不太懂你的程式碼 11/26 00:55
這是project在用的軟體的其中一部分,我的任務是轉成C 所以基本上這個Code應該是沒問題
2F:推 fragmentwing: 1不過我記得是有很奇耙的技巧 11/26 00:57
3F:→ fragmentwing: 會故意少輸入東西來跑 11/26 00:57
4F:推 fragmentwing: 但問題是 我記得那個案例是用項在順序上跑的差異 11/26 01:00
5F:→ fragmentwing: 來進行操作 而不是針對同一項內的陣列進行操作 11/26 01:00
6F:→ fragmentwing: 還有 你的N怎麼從陣列變成整數了 11/26 01:04
7F:→ fragmentwing: 這不是不會給過嗎? 11/26 01:04
8F:→ fragmentwing: 它不是對到INGT(IST2, 1)這一項嗎? 11/26 01:05
我的理解是INGT(IST2, 1) 應該等於C語言的INGT[IST2][0]吧 INGT是一個儲存int的二維陣列 已經在其他地方宣告過了@@ 所以進到副程式應該是整數沒錯啊 GT則是一個儲存real的三維陣列, GT(1, 1, IST2)取出來應該是一個real數,可是進到副程式他怎麼宣告成陣列
9F:推 fragmentwing: 阿哩 好像找到了 我拍一下 11/26 01:11
10F:推 fragmentwing: http://i.imgur.com/8oUs7kH.jpg 11/26 01:12
11F:→ fragmentwing: http://i.imgur.com/3lTyH84.jpg 11/26 01:13
12F:→ fragmentwing: http://i.imgur.com/6bhNAPF.jpg 11/26 01:14
13F:→ fragmentwing: 好像是這個?雖然書上說很常用,不過我沒用過,這樣 11/26 01:15
14F:→ fragmentwing: 交接起來會有麻煩吧w 11/26 01:15
15F:→ fragmentwing: 我都手動寫程式碼來降維的 11/26 01:21
感謝大大
16F:推 youlieme: fortran傳的只是reference 裡面的資料排列如果清楚 11/26 14:05
17F:→ youlieme: 陣列不需要一樣大 他會從GT(1,1,ist2)這個位址開始 11/26 14:05
18F:→ youlieme: 往後取MAXD*2的記憶體當作FT 11/26 14:05
19F:→ youlieme: 我不知道你的GT是什麼資料 但看起來會是成對或可能 11/26 14:05
20F:→ youlieme: 是兩兩一組 subroutine只判斷奇數值是否=>T而已 11/26 14:05
好的我研究一下,看起來可能是這個問題
21F:→ blc: fortran的陣列在記憶體中是連續的,所以可以從陣列第一個 11/26 15:15
22F:→ blc: 元素跟陣列大小得到整個陣列。就像C的指標那樣。 11/26 15:16
23F:→ blc: 優點是會快很多(以前),現在編譯器最佳化不知道 11/26 15:55
原來如此,感謝大大 ※ 編輯: silverair (220.141.70.95 臺灣), 11/26/2019 22:49:06
24F:推 fragmentwing: 收到推 11/30 14:44
25F:→ fragmentwing: 另外我果然還需要精進阿...... 11/30 14:44
26F:→ blc: 晚了,我也有收到,感謝。 12/01 22:57







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燈, 水草

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

TOP