謝邀,精通MATLAB與算法和數(shù)據(jù)結(jié)構(gòu),是兩個(gè)維度的話題。
MATLAB是一個(gè)數(shù)學(xué)軟件,主要用于數(shù)值分析計(jì)算,數(shù)據(jù)可視化展示,數(shù)據(jù)建模等場(chǎng)景。
而算法與數(shù)據(jù)結(jié)構(gòu)是指解決問題的方法與思維。
怎么理解呢,數(shù)據(jù)結(jié)構(gòu)是用于存儲(chǔ)數(shù)據(jù)的單元,在面對(duì)問題時(shí),它提供的是解題方案的載體。算法是解析思路,即通過運(yùn)用不同的載體,來高效的實(shí)現(xiàn)目的。
舉個(gè)例子來說,數(shù)據(jù)結(jié)構(gòu)是食材,算法就是烹飪方法,而編程語言呢,就是燒火的木材。
只要食材,烹飪方法正確,不管是桃木還是蘋果木,都能做出一桌好菜是吧。
那么我們說回來精通MATLAB。
什么算精通MATLAB呢,我認(rèn)為有兩種解讀。
精通MATLAB編程
善于使用MATLAB的矩陣等特點(diǎn),能夠快速將其他編程語言的邏輯移植到MATLAB語言上。這里確實(shí)涉及到數(shù)據(jù)結(jié)構(gòu),因?yàn)橐恍㎎ava自帶的數(shù)據(jù)結(jié)構(gòu),MATLAB并不支持,比如Stack,List等等,MATLAB支持的是矩陣數(shù)組,因此在這個(gè)場(chǎng)景,確實(shí)需要用戶了解不同數(shù)據(jù)結(jié)構(gòu)的特點(diǎn),才能很好的完成遷移。
精通MATLAB強(qiáng)大的畫圖與仿真功能
MATLAB最為人津津樂道的長(zhǎng)處是它能夠產(chǎn)出各種高大上的數(shù)據(jù)視圖,我們上研究生時(shí)候,要給IEEE會(huì)議論文投稿,稿子里對(duì)我們的算法性能對(duì)比,就是用的MATLAB的這個(gè)功能來實(shí)現(xiàn)的,這與編程能力的關(guān)系就沒有那么緊密了,更多的更像精通PS,精通AE這種描述。
綜上,如果是精通MATLAB的畫圖與仿真功能,不需要花太多功夫?qū)W習(xí)數(shù)據(jù)結(jié)構(gòu)與算法;如果是把MATLAB當(dāng)做一個(gè)編程語言,那么還是需要學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法,這兩項(xiàng)通用的編程知識(shí)的。
以上是我的淺見,歡迎大家在評(píng)論區(qū)與我溝通交流。
我是蘇蘇思量,來自bat的java開發(fā)工程師,每天分享科技類見聞,我,與我共同進(jìn)步。