Re: [心得] fortran 與 matlab 的簡易心得

看板Fortran作者 (哈哈哈)時間15年前 (2009/02/28 15:01), 編輯推噓0(004)
留言4則, 4人參與, 最新討論串2/2 (看更多)
※ 引述《kobenein (哈哈哈)》之銘言: 本來用fortran寫了一個超音波的成像程式 在第一個csae要跑約16分鐘 但是第二個case很複雜 程式也要改寫 但是可能矩陣開太多 遇到一些記憶體的問題 導致我程式寫不出來 (大概是沒有用類似matlab裡面clear的動作吧) 於是心一橫 把fortran的程式改成沒學過的matlab來寫 結果第一個csae從本來要跑16分鐘 (跑完還要用surfer做圖才看的到結果) 變成只要兩分半! 對迴圈向量化還不熟 不然我想還可以更快一點 第二個case的問題也解決了了! ======比較====== fortran優點:程式碼看起來架構漂亮、變數宣告嚴謹(implicit none) 矩陣可以開負數,例如: real::x(-6,6) matlab優點:函式庫有夠大的! 矩陣運算快!可以直接產生圖檔 缺點:不能開索引值是負的或0的矩陣 -- -好管弦事- A place about cello and music.... http://fnt72.blogspot.com/ ※ 編輯: kobenein 來自: 140.123.67.47 (02/27 15:16)

02/27 17:04,
我的經驗FORTRAN理論上不會比較慢的 應該是程式寫的問題?
02/27 17:04

02/27 19:51,
我自己也是覺得Fortran比較快...
02/27 19:51

02/27 20:54,
Fortran絕對比較快 是寫法的問題 函式庫都是最佳化過的
02/27 20:54

02/28 01:22,
Fortran在計算array時,有先後處理的差別,f(i,j)要先跑i再跑j
02/28 01:22
沒錯 我從fortran轉matlab時 有改過一點點算法 但是matlab遇到瓶頸後我又回來試試fortran 把轉到matlab時改的算法也套用到fortran 的確超快的 16分鐘 稍微改一點 2.5分鐘 不到一分鐘 算法 fortran ───────→ matlab ───────→ fortran 因此有點想回歸fortran 問一下fortran有沒有 跟matlab裡面clear一樣的指令? 謝謝! -- -好管弦事- A place about cello and music.... http://fnt72.blogspot.com/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.67.47

03/01 00:56, , 1F
Matlab的clear是什麼功用呢? 我只懂Fortran...
03/01 00:56, 1F

03/01 01:10, , 2F
關鍵字:allocate
03/01 01:10, 2F

03/01 02:08, , 3F
不懂MATLAB的指令+1或許描述一下可以幫你解答
03/01 02:08, 3F

03/01 03:42, , 4F
matlab的clear是清除已宣告的變數名稱或函式
03/01 03:42, 4F
文章代碼(AID): #19gE4_b5 (Fortran)
文章代碼(AID): #19gE4_b5 (Fortran)