從MATLAB回憶出的往事和感想 |
送交者: 萬湖小舟1 2020年06月15日18:38:04 於 [新 大 陸] 發送悄悄話 |
從MATLAB回憶出的往事和感想 萬湖小舟 最近看報導中國有十三所高校被美國禁用軟件MATLAB,還說或導致數年停滯。我想停滯不至於,但給教學和科研工作帶來不便到可能是真的。 談到MATLAB就讓我的思緒回到在德國留學的那些年月。正是MATLAB為我添補了家用,也使我成為一名全職的德國研究工程師。 九十年代初我在德國高校時就看到MATLAB在廣泛使用。由此也開始學習和使用它。當時使用的軟件還有Simulink。它是以MATLAB為基礎的圖形編程開發環境,用做控制系統建模,仿真和分析等。 當時為了保證全家人的生活質量,周末或者傍晚就利用工余時間到S市一個機械高級製造技術研究所去給人家用MATLAB編程,有點額外收入。記得當時合同是80小時/月,每小時25馬克。是大學專門給做博士學位的學生提供的業餘"科研助理" 職位。 在德國持學生簽證是允許做假期工的,比如到汽車公司的流水線上工作等。但持Promotion的簽證(做博士簽證)是不允許做大學生這種類型的假期工的。只可以在大學研究所內做一些研究性的業餘工作,比如科助這樣的工作。德國教育系統和英美不同。在德國做博士學位的人其實都不再視為學生(只需學生註冊一年就可以了)。做博士都是有工資的,研究所要麼付給你全職工資或半職工資,或讓你擁有獎學金。擁有獎學金的人大多是外國學生。由於學生註冊在月票,住房上等都有一些優惠。所以我們外國學生基本上每年都註冊。 除了在做博士的那個研究所正常工作外,我在那個製造技術研究所業餘時間當科助,工作了三年左右的時間。由於這個經歷,當我一完成論文,甚至還在等候答辯期間,大學內一家金屬成形研究所就給了我一個全職研究工程師的職位。因為我在做業餘科助的工作期間,幫金屬成形所解決了應力應變圖形分析的算法和軟件。他們希望我繼續這個科研項目,那是德國AUDI汽車公司資助的課題。在那裡又工作了幾年。在這個職位上有一段時間身兼三職,過去做博士的研究所希望我給一個同事的課題幫忙,編程一個數控系統,我答應業餘時間來做,原來作科助的研究所還希望我能把承接的那個用MATLAB編程的工作做完,當然也是業餘時間去完成;再就是全職的研究工程師的工作。現在回想起來那段時間真辛苦。感謝家人的支持,我們一起度過了那段忙碌又充實的歲月。 這些經歷讓我當時對MATLAB比較熟悉。我覺得MATLAB適合於研究所,科研等場所,但不一定適合於工業界。比如一個工業應用系統軟件要運用曲線擬和,要用有限數據做多項式的插入計算,解高階線性或非線性方程等,這些計算MATLAB都有。但你不能把MATLAB整合到你的應用軟件中去。這涉及到MATLAB的使用許可,應用系統的內存是否允許,軟件編程和使用是否方便等等。最簡單的就是在這些應用軟件中根據數值方法的原理,自己編程形成各個功能的子程序,然後把這些子程序嵌入到應用軟件里。這樣這個應用軟件就不涉及MATLAB的授權許可問題,可以直接服務於工業界。同時應用軟件所占內存也不大,運行快,可靠性好。我一般接工業課題時,如果涉及到數值方法的某些應用,都自己編程。 因此當我在高校教授數值方法時(Numerical Method),我一般更願意使用普通的編程語言,如Visual C++, Visual Basic 和Excel 或Micro of Excel而不使用MATLAB。我常給學生講數值方法這門課是告訴你MATLAB背後發生的故事,而不是MATLAB的使用。因為MATLAB功能強大,一個指令就可以做很多事。但這不是了解數值方法原理的好途經。因為很多細節都反應在普通語言的編程中。另外學生學到用普通語言編程數值方法的各種算法後,可以很容易開發工業應用軟件。當然這只是我個人見解。目前很多高校教授數值方法時,不少教授也願意使用MATLAB。 另一方面在非數學的一些課程中,比如電工學中求解交流電路時,如果採用相量(phasor)方法,用MATLAB來求解就很容易,讓MATLAB去做繁瑣的複數運算,學生可以集中精歷在電工學的原理和電路分析上。 使用MATLAB必須付費。學校買有許可證,學生可以免費到計算機實驗室使用。如果想要安裝到自己的個人電腦上就必須購買使用許可。目前在網上MathWorks公司給學生提供一個月的MATLAB免費使用的學生版。一個月後如想繼續使用就需付大約50~100加元。 回到中國一些高校被禁用MATLAB的話題。我想MATLAB背後的基礎編程並不難,為什麼這麼多年過去了,中國並沒有開發出自己的類似於MATLAB的數學和控制仿真軟件? 我個人體會中國缺乏一種融匯多學科的技術人才。 在數值方法方面,中國出版過很多書籍,有些書還被評為優秀書刊,內容寫得好。那是理論部分。當要把這些理論轉變成數學應用軟件時,寫書的教授不一定會軟件開發,或不很精通軟件研製;會編程的軟件開發人員不懂數學理論。協同工作常常"雞同鴨講"。軟件人員不懂數學理論很難開發好數學應用軟件。最好的辦法就是培養多學科的技術人才。我常給學生講,一個現代的機械工程師,不能只掌握機械設計的原理和技術,還必須掌握電工,電子技術,控制技術,軟件技術等多學科的知識。 一方面得到信息幾十年來中國技術進步巨大,我深信這一點。另一方面都說中國人數學能力高,同等年齡的中國中學生比美國的中學生數學能力強,我也相信。可是為何像MATLAB這樣的軟件又沒有中國自己的版本呢? 前段時間有人寫文章說華為的巨大進步靠的不都是中國人,有很多外國人參與。任正非先生也提及曾有一位俄羅斯年輕數學家幫華為研發了一種算法解決了2G,3G的機站運行難題,讓華為領先了其它競爭者。所以為華為工作的有很多外國人。任正非先生說華為採取的策略是:在有鳳的地方築巢,而不是築巢引鳳。也就是說不把外國人才引入中國,而是在當地招聘外國人才為華為工作。 那麼美國商用數學軟件MATLAB的開發和研製是不是也有來自世界各地的多學科的人才呢? |
|
|
|
實用資訊 | |
|
|
一周點擊熱帖 | 更多>> |
|
|
一周回復熱帖 |
|
|
歷史上的今天:回復熱帖 |
2017: | 郭文貴是當政者及其捻行制度的必然產物 | |
2017: | 央視蘇曉輝像解臭裹腳帶一樣不厭其煩給 | |
2016: | 從夭夭的屁多說開去 | |
2016: | 跟着美西旅遊團 一起捕捉鯨魚的曼妙身 | |
2015: | 人說山西好風光/綿山/介子推 | |
2015: | 山林客:下馬觀花游台灣(3) | |