Re: [問題] MATLAB好用在那?已回收

看板MATLAB作者時間16年前 (2009/01/28 10:50), 編輯推噓2(203)
留言5則, 3人參與, 最新討論串4/7 (看更多)
※ 引述《Jihader (聖戰者)》之銘言: : 這邊只討論寫計算,繪圖不討論 : 我用C /fortran寫程式 發現Matlab可做到的事 C/fortran都可做到 : 當然C/fortran可做的事 Matlab也可以 : 但重點為,Matlab實在太不結構化,看code實在有夠痛苦 : 再言向量式語言,做迴圈實在有夠慢 : 但很多又非得用迴圈(ex:疊代,好比求解U(i)=(U(i+1)+U(i-1))/2.0 ) : Matlab做法是額外多開兩條array並且上下平移 : 再用 U = (U_u + U_b)/2.0 : 這樣搞會比較直覺??? -.- : 說Matlab語言直覺,除了開array比C好外 : 和fortran比實在不相上下 : Lib強大? 去用MKL或土一點用lapack/fft還不是一樣? : 簡單易學這點,Matlab與fortran差不多 : 會出bug就是會出,什麼語言都不能阻止使用者犯錯 : 那請問版上為何要用Matlab? 早年, Matlab的好處在於他的矩陣運算~~ 他是原生支援矩陣運算的軟體 不像C/C++那樣, 做矩陣運算勢必複雜許多 (動態取得記憶體, 初始化... 一堆雜七雜八的事情) 另外, Matlab的語言是結構化語言, 如果你的code不結構化, 那是跟你的前輩有關係 Matlab發展至今, 另外一個最大的好處就是他的程式庫/toolbox太多太豐富了 目前沒有其他一套工具/程式庫可以取代matlab的地位 C/C++/Java/C#/Fortran的資源很多, 但這些都是很雜很分散的, 而且彼此互不支援 Programmer必須把這些東西改寫或是寫一些中介轉換的東西才能互相搭配使用 這些相對於matlab而言, 一定是較為不方便的 Matlab速度上較慢是他最大的問題, 特別是你寫迴圈一定會慢到爆 這個問題在於他是直譯式語言, 但也不是沒有辦法讓他變快 解法有兩個, 第一個是跟程式寫法有關, 第二個是將他編譯成執行檔 matlab絕對不是要跟你拼速度的, 但論開發小程式/功能驗證/演算法驗證來說 Matlab的地位絕對無可取代, 他絕對是最多工程師會的語言 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.117.161.126

01/28 15:15, , 1F
推.. 確實如此
01/28 15:15, 1F

01/29 14:46, , 2F
fortran 不是也有imsl嗎??
01/29 14:46, 2F

01/30 12:44, , 3F
IMSL和CNL, 都非原生支援矩陣, 使用上絕對不如Matlab方便
01/30 12:44, 3F

01/30 12:45, , 4F
至於程式庫的廣度和深度也不如Matlab的toolbox
01/30 12:45, 4F

01/30 12:45, , 5F
Matlab幾乎是包山包海了, 訊號分析,人工智慧,音訊處理,圖形
01/30 12:45, 5F
文章代碼(AID): #19VyVZiF (MATLAB)
文章代碼(AID): #19VyVZiF (MATLAB)