最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Matlab:1、Matlab是什么?它重要嗎?2、Matlab的替代軟件

2021-11-12 15:46 作者:口算NavierStokes方程  | 我要投稿

一、Matlab被禁,美帝制裁出新招

二、Matlab是什么?它重要嗎?

三、那些可以替代Matlab的軟件

四、認(rèn)清當(dāng)前局勢,堅定決心破局

? ? 2020年6月初,傳出哈工大與哈工程被禁止使用美國MathWorks公司的科學(xué)計算工具軟件Matlab。對于這個事件,有人認(rèn)為美國對中國科技力量正在斷糧,對中國科技發(fā)展將造成重大阻礙。有人對我國工業(yè)軟件的現(xiàn)狀痛心疾首,呼吁加大投入扭轉(zhuǎn)局面。有人認(rèn)為國內(nèi)現(xiàn)有科研教育體制限制了創(chuàng)新的產(chǎn)生,導(dǎo)致我們產(chǎn)生不了有影響力的工業(yè)軟件……對這個事件我們該如何看待?我們?nèi)绾螒?yīng)對中美在高科技領(lǐng)域較量的新局面?我們?nèi)绾尾拍苷嬲龜[脫在工業(yè)軟件落后挨打的被動地位?經(jīng)過整理與思考后我寫了這個文章,共分為三篇:上篇是局與破局,分析在Matlab被禁后當(dāng)前所處的局勢,并提供快速破局的思路與辦法。中篇是勢與順勢,分析世界開源軟件發(fā)展的潮流與大勢,以及我國如何順應(yīng)大勢并借勢發(fā)展自己。下篇是道與法道,分析美國工業(yè)軟件優(yōu)勢地位是從何而來,什么是其創(chuàng)新與發(fā)展之道,以及我們應(yīng)該怎樣學(xué)習(xí)、吸收并超越。

一、Matlab被禁,美帝制裁出新招

  6月6日,榮登美國政府“實體清單”的哈爾濱工業(yè)大學(xué)與哈爾濱工程大學(xué)學(xué)生在使用正版Matlab軟件時,突然彈出了反激活通知,點擊之后當(dāng)天還能使用,僅僅一天之后,再次啟動MATLAB就已顯示授權(quán)許可無效。

  聯(lián)系軟件開發(fā)方MathWorks公司,對方表示這就是因為美國政府制裁導(dǎo)致的,作為一家“守法”的美國公司,他們也很無奈。很明顯,美國政府對中國的科技封鎖又出新花樣。

  要知道,這兩所大學(xué)已經(jīng)購買了正版軟件授權(quán),說不讓用就不讓用了,所謂的契約精神哪呢?是不是應(yīng)該先把購買軟件的費用退了并賠償損失誒?對此,MathWorks公司并沒有表示。不過,有一點是明確的,如果這兩所大學(xué)的師生以后使用Matlab軟件生成的結(jié)果發(fā)表論文,將被該公司視為侵權(quán),并將面臨被起訴的風(fēng)險!

  這個新聞一出,輿論又興起一波討論熱潮。有人擔(dān)心在美國持續(xù)出招之下,中國高科技力量是否能夠撐住。有人認(rèn)為Matlab這類工業(yè)軟件完全掐住了科研機構(gòu)的命脈,我們沒有多少機會擺脫被動局面。還有人認(rèn)為長期以來, 國內(nèi)對美國在科技領(lǐng)域的全面領(lǐng)先估計不足,沒有認(rèn)真準(zhǔn)備,導(dǎo)致落入陷阱反抗無力……對此,我的態(tài)度還是要冷靜,遇到煩事不要慌,先掏出手機發(fā)個朋友圈……不是,先分析當(dāng)前我們所處的局面是什么?再找到破局的辦法。


二、Matlab是什么?它重要嗎?

  Matlab是一種科學(xué)計算語言和交互式集成開發(fā)環(huán)境(IDE)軟件,由Matlab和Simulink兩大部分組成。具有科學(xué)計算、數(shù)學(xué)繪圖、系統(tǒng)仿真、數(shù)據(jù)分析、算法開發(fā)等強大功能。自1984年由美國Mathworks公司推向市場以來,歷經(jīng)三十幾年的競爭和發(fā)展,現(xiàn)已成為國際上應(yīng)用最廣泛的科技工具軟件,在學(xué)術(shù)研究與工業(yè)設(shè)計等領(lǐng)域占有近乎壟斷的市場地位。在國內(nèi)外大學(xué)的理工類專業(yè),Matlab已經(jīng)成為師生必須掌握的一項基本技能。目前世界上有180 多個國家的超過三百萬工程師和科學(xué)家在使用 Matlab。

  上面這段描述對于已經(jīng)領(lǐng)略Matlab魅力的人來說心領(lǐng)神會,但是對于沒有接觸過的人而言則有點不知所謂。如果對這個軟件都不了解,卻空談如何應(yīng)對,這就有點搞笑了。所以我先揀幾個基礎(chǔ)的功能說明一下,讓大家盡快熟悉情況。

  1. 科學(xué)計算

  科學(xué)計算相信大家都熟悉,Windows自帶的計算器就有科學(xué)模式,但那對于學(xué)術(shù)研究與工業(yè)設(shè)計來說太小兒科了。如果要解一個線性方程組

或者求一個不定積分

  你是不是會突然感覺菊花一緊呢?但使用Matlab計算卻是So easy。對第一個求解線性方程組,在Matlab中只要輸入三行代碼:

  • A=[2,3,-1;8,2,3;45,3,9];

  • B=[2;4;23];

  • C=inv(A)*B

  馬上就可以得出結(jié)果:

  • C =?

  • 0.5531

  • 0.2051

  • -0.2784??? ? ? ?

  這里的三行數(shù)分別是x、y、z的值。如果大家線性代數(shù)沒有忘光的話,可以看出這是用矩陣來求解線性方程組,并且是使用逆矩陣法。在Matlab中使用inv函數(shù)就可以獲得逆矩陣。

  矩陣計算是Matlab的靈魂,其設(shè)計哲學(xué)就是:“萬物皆矩陣”。Matlab這個名稱就是Matrix?Laboratory(矩陣實驗室)的簡化。在Matlab中所有參與運算的數(shù)據(jù)都是矩陣。因為矩陣的理論和方法是現(xiàn)代科學(xué)計算的重要基礎(chǔ),諸如數(shù)值分析、優(yōu)化理論、微分方程、概率統(tǒng)計、控制論、力學(xué)、電子學(xué)、網(wǎng)絡(luò)等學(xué)科領(lǐng)域都與矩陣?yán)碚撚兄芮械穆?lián)系,甚至在經(jīng)濟管理、金融、保險、社會科學(xué)等領(lǐng)域,矩陣?yán)碚摵头椒ㄒ灿兄种匾膽?yīng)用。大家還記得有個科幻電影《黑客帝國》英文原名就叫“The Matrix”,也就是矩陣。影片描述了未來人類被超級計算機“矩陣”支配的世界。從矩陣計算的重要性而言,這部電影其實也不算言過其實。而Matlab將大量對矩陣的操作封裝成函數(shù),使矩陣的運算極大簡化,這是Matlab被廣泛使用的最根本的原因。

電影《黑客帝國》海報

  前面這個例子是進(jìn)行科學(xué)計算中的數(shù)值計算,是求出數(shù)學(xué)問題的數(shù)值精確解或近似解??茖W(xué)計算還有一種是符號計算,又稱計算機代數(shù),就是用計算機推導(dǎo)數(shù)學(xué)公式,如對表達(dá)式進(jìn)行因式分解、化簡、微分、積分、解代數(shù)方程、求解常微分方程等。Matlab在符號計算領(lǐng)域也占有著重要地位,雖然是購買的符號計算語言Maple的專利,但也是很厲害了。像上面舉例的求不定積分就是一種符號計算。在Matlab中求不定積分也只需要三行代碼:

  • syms x t;

  • f=5*x*t/(1+x^2);

  • int(f,t)

  結(jié)果是

  • ans =??

  • ?(5*t^2*x)/(2*(x^2 + 1))

?  其中第一行用syms語句定義了2個符號變量,第二行定義了需要求積分的函數(shù),最后一行使用int函數(shù)即可求出不定積分。

  2. 數(shù)學(xué)繪圖

  當(dāng)我們使用Excel等辦公軟件時就有繪圖功能,表現(xiàn)形式還非常豐富。但是它們的繪圖是基于給定的數(shù)據(jù)來繪制,這叫做數(shù)據(jù)可視化。而Matlab的強大之處是只需要給定一個數(shù)學(xué)函數(shù)就可以進(jìn)行二維圖或三維圖的繪制,這對于科研與工業(yè)設(shè)計提供了極大的便利。比如說,使用下面三條語句:

  • x=0:0.1:6;

  • y=sin(x);

  • plot(x,y);

  這就在x軸0到6的范圍內(nèi),以0.1的步長繪制出了一個正弦圖形。

  除了二維函數(shù)制圖,三維制圖也很方便。比如表示機械系統(tǒng)振動衰退情況的函數(shù)

  x,y代表在時間為 t 時的位置。我們可以獲得一系列(x,y)的值,并畫出(x,y)的二維圖像,但在這樣的圖上時間的影響就得不到體現(xiàn)。

  如果我們改用三維繪圖,把 t 的值也畫出來,那么給研究者的直觀印象就完全不一樣了。很簡單,四條語句就可以:

  • t = 0:0.1:10;

  • x = exp(-0.2*t) .* cos(2*t);

  • y = exp(-0.2*t) .* sin(2*t);

  • plot3(x,y,t);

  這就在 t 軸0到10的范圍內(nèi),以0.1的步長繪制出了處于不同時間的物體位置的三維圖像。

  除了前面的繪圖,根據(jù)不同的需要,Matlab可以繪制許多更復(fù)雜也更直觀的圖形,如這樣的

  這樣的

  還有這樣的

  通過這些舉例,相信你會回憶起以前看到過的很多示例圖像可能就是用Matlab來繪制的。

  3.?系統(tǒng)仿真

  進(jìn)行大型的系統(tǒng)設(shè)計,在投入物力生產(chǎn)之前需要知道系統(tǒng)設(shè)計是否合理,所以用計算機進(jìn)行仿真模擬是一個必須的環(huán)節(jié)。Matlab的Simulink工具箱具備完善豐富的仿真功能,它提供了一個可用于實現(xiàn)各種動態(tài)系統(tǒng)(包括連續(xù)系統(tǒng)、離散系統(tǒng)和混合系統(tǒng))的建模、分析和仿真的集成環(huán)境。

  Simulink是基于模塊來實現(xiàn)其仿真功能。模塊可以表示物理組件、小型系統(tǒng)或函數(shù),而輸入/輸出關(guān)系就是區(qū)別各模塊的特征。簡單理解每個模塊就是一個數(shù)據(jù)運算單元,對輸入數(shù)據(jù)進(jìn)行運算處理后轉(zhuǎn)換成不同的數(shù)據(jù)進(jìn)行輸出。Simulink根據(jù)實際需要預(yù)制了大量的模塊,它們按功能分屬于不同的模塊庫。例如,要對以常量倍數(shù)放大輸入的擴音器進(jìn)行建模,可以使用Math Operations(數(shù)學(xué)運算)庫中的Gain(增益)模塊。該模塊以進(jìn)入擴音器的聲波作為輸入,輸出則是放大后的同一聲波。

  將多個模塊進(jìn)行連接就構(gòu)成了系統(tǒng),能夠形成完整的功能。比如一個簡化的汽車運動過程:當(dāng)踩下油門踏板時,汽車處于加速行進(jìn)狀態(tài);松開踏板后,汽車怠速并逐漸停下來。要創(chuàng)建這個簡單的系統(tǒng),使用Pulse Generator(脈沖發(fā)生器,模擬踩一下松一下踏板的動作)、Gain(增益,模擬踩下踏板時獲得的加速度)、Second-Order Integrator(二階積分器,根據(jù)加速度分別計算出汽車行駛距離與即時速度)與Outport(輸出端口,選擇汽車行駛距離作為結(jié)果進(jìn)行觀察)4種模塊進(jìn)行連接即可。

  在長度為10的時間內(nèi)經(jīng)過系統(tǒng)的仿真,可以查看汽車行駛距離形成的曲線。運行仿真后結(jié)果顯示為一條斜向上的線條。

  這就是一個非常簡單的系統(tǒng)仿真過程。根據(jù)實際的需要增加或調(diào)整模塊就可以模擬更復(fù)雜的系統(tǒng)。除了豐富的預(yù)制模塊,Simulink還提供擴展功能,可以根據(jù)需要自定義模塊,這樣Simulink就能適應(yīng)任何行業(yè)的系統(tǒng)仿真需要。

  除了前面介紹的三大基礎(chǔ)功能,Matlab還可以承擔(dān)數(shù)字圖像處理、數(shù)字信號處理、管理與調(diào)度優(yōu)化計算等眾多任務(wù),幾乎可以覆蓋所有行業(yè)的科學(xué)計算需求。

  Matlab功能強大、應(yīng)用廣泛,主要是因為:以矩陣運算為基本運算方式,隨著矩陣?yán)碚撆c方法在各個產(chǎn)業(yè)的廣泛運用而成為大受歡迎的運算工具;Matlab語言與平臺的開放性使得該軟件可以在實踐中不斷被使用者隨時進(jìn)行改進(jìn)和擴展,能快速滿足最新的使用需求;經(jīng)過30多年的發(fā)展,積累了大量的函數(shù)與工具,Matlab現(xiàn)在已經(jīng)擁有二千多個內(nèi)部函數(shù)、超過一百種工具箱。這些積累基本已經(jīng)能夠滿足工作中的任何需要。因此,Matlab被戲稱為“除了生孩子,什么都可以干”。

  說了這么多,把Matlab形容得強大無比,好像是給這個軟件做廣告似的,其實不是這樣。我們在面對Matlab這種壟斷性的軟件時,先要冷靜地承認(rèn)它的強大,不然它不會達(dá)到如今的市場地位。再要了解它的強大體現(xiàn)在什么地方,力量的來源是什么?還要了解它的發(fā)展軌跡,知道它是如何發(fā)展起來的,其成功經(jīng)驗是什么。最后,要知道它有哪些缺陷,存在什么機會可以追上并超越它。

  通過前面的介紹我們大概了解到Matlab的作用與重要性,知道它確實很強大。但再強大的軟件,也是一點點發(fā)展起來的。Matlab的前身是由美國新墨西哥大學(xué)克里夫·莫勒爾(Cleve Moler)教授為主于1971年開發(fā)出的EISPACK(矩陣特征系統(tǒng)軟件包)與1975年開發(fā)出的LINPACK(線性方程軟件包)兩個簡單的程序。1981年為了方便對這兩個程序的調(diào)用,莫勒爾又開發(fā)了Matlab作為語言的編譯器與運行環(huán)境,最初包括關(guān)鍵詞與函數(shù)總共只有71個。

  1984年,莫勒爾教授的學(xué)生杰克·里特(Jack Little)等人發(fā)現(xiàn)了Matlab隱藏的商業(yè)價值,組成了團隊進(jìn)行了函數(shù)、工具箱和圖形化等功能的改造與擴充,推出了第一個商業(yè)化的版本。至此才走上了一條漫長的發(fā)展過程,最終成為科學(xué)計算軟件的行業(yè)霸主。

  但是,Matlab并非沒有缺點。一是作為一個通用平臺龐雜而難免疏漏。涉及的專業(yè)領(lǐng)域過多,內(nèi)部工具、模塊大而全,造成體積臃腫,最新的2020a版本整體大小已經(jīng)達(dá)到20多G。而且品控水平不一,很多庫的提示信息莫名其妙又長期得不到更新。Simulink中有些內(nèi)容加了又刪,讓用戶無所適從。二是作為商業(yè)軟件閉源且收費高昂。差不多所有重要的算法和框架,都是閉源的,并且是按照工具箱收費,每個基本都是上萬人民幣,一套常用工具箱組合下來需要幾十到上百萬。雖然針對學(xué)校與學(xué)生有優(yōu)惠,但同樣是一筆不小的開支。三是作為一個集成計算平臺對開發(fā)部署不友好。用Matlab編程形成的文件只能在Matlab環(huán)境中運行。如果要部署到其它機器上,需要與Matlab Runtime一起打包,其實就是在目標(biāo)機器上安裝一個小型的Matlab,這樣的程序文件大小一般都會上G,而且運行體驗較差。這造成Matlab在工業(yè)級軟件開發(fā)上基本無所作為。而類似于Matlab解釋性腳本語言的開源語言Python后來居上,借著人工智能的火熱,占據(jù)了工業(yè)級矩陣計算軟件的半壁江山。四是作為一個擁有幾十年歷史的老軟件不夠與時俱進(jìn)。隨著5G和工業(yè)互聯(lián)網(wǎng)的普及,并行計算與邊緣計算越來越多。而大規(guī)模并行計算一直是Matlab的短板。因為不能在ARM處理器上運行,Matlab基本放棄了大量使用ARM的移動端與邊緣計算設(shè)備。其龐大的體積也不利于在工控設(shè)備上部署。

  Matlab從簡單的計算工具發(fā)展成巨無霸的集成平臺,肉大身沉地占據(jù)著行業(yè)的壟斷地位。但說到底它不過是一個工具軟件。許多人使用Matlab是因為它確實能解決許多問題,比較趁手,形成了使用習(xí)慣。許多同類軟件一直沒有機會,就是這種習(xí)慣力量影響太大,并不是因為存在真正的技術(shù)門檻。本來大家相安無事,貴點就貴點,體積大點就大點,這些都是可以忍受的。但突然有一天,Matlab說不能讓你用了,這就有點擺不正自己的位置了吧。

  一個工具而已,工具是應(yīng)需求而產(chǎn)生。如果某個工具不讓用了,需求就會消失嗎?需求只會刺激別的工具跳出來搶機會。這是因果關(guān)系,不可能倒置。有的人認(rèn)為Matlab被禁,會給中國科技發(fā)展造成很大困難。這種看法顯然是錯的。在我看來,對于這次Matlab事件,我們短期可抵抗,中期可反攻,長期可逆轉(zhuǎn)。

三、那些可以替代Matlab的軟件

  短期可抵抗是指用其它軟件來代替Matlab。除了Matlab,其它著名的科學(xué)計算類軟件還有Mathematica、Maple、SAS、SPSS和LabView等,但這些軟件都是商業(yè)軟件,而且基本都是美國公司的產(chǎn)品(Maple屬于加拿大公司),我們沒必要再掉入另一個坑里。好在我們還有別的選擇:

  1. Scilab

  Scilab是由法國國家信息與自動化研究院(INRIA)推出的“開放源碼”科學(xué)工程計算軟件,第一個版本在1994年推出。Scilab 是“Scientific Laboratory"(科學(xué)實驗室)的簡化。與Matlab類似,Scilab可以很方便地實現(xiàn)各種矩陣運算與圖形繪制,能應(yīng)用于科學(xué)計算、數(shù)學(xué)建模、信號處理、決策優(yōu)化、線性/非線性控制等各個方面。它還提供可以滿足不同工程與科學(xué)需要的工具箱,例如Xcos、信號處理工具箱、圖與網(wǎng)絡(luò)工具箱等。就基本的功能而言,Matlab能完成的工作Scilab都可以實現(xiàn)。

  同時,由于Scilab的語法與Matlab非常接近,熟悉Matlab編程的人很快就可以掌握Scilab的使用。Scilab還提供語言轉(zhuǎn)換函數(shù)自動將用Matlab語言編寫的程序翻譯為Scilab語言。

  Scilab的Xcos工具箱類似Matlab的Simulink,同樣可以完成建模與系統(tǒng)仿真等任務(wù),并且界面和使用也很類似。因此,Scilab是具備全面替代Matlab潛質(zhì)的?! ?/p>

更重要的是,作為開放源碼的軟件,Scilab的安裝程序與源代碼都是免費的,可以直接下載。用戶不僅可以在Scilab的許可證條件下自由使用該軟件,還可以根據(jù)自己需要修改源代碼,使之更加符合自身需要。

  Scilab官網(wǎng):https://www.scilab.org/

  2. Octave

  Octave是自由操作系統(tǒng)GNU項目下的開源軟件,旨在提供與Matlab語法兼容的科學(xué)計算、數(shù)值分析與數(shù)學(xué)繪圖工具。

  Octave的界面和Matlab很像,因為最初它就是模仿Matlab開始的。在編程語言語法和繪圖功能方面,Octave和Matlab極其相似,Octave可以直接運行大部分的Matlab源程序,即m文件。Matlab程序除非涉及到比較特殊的工具箱,經(jīng)過簡單的改寫即可在Octave中運行。

  許多開源項目是同時支持Matlab和Octave的,比如在國外有限元教學(xué)中經(jīng)常用到的ifiss(Incompressible Flow & Iterative Solver Software,不可壓縮流迭代求解軟件)工具箱,就同時維護了Matlab和Octave版本。知名人工智能專家吳恩達(dá)(Andrew Y. NG)在其廣受歡迎的深度學(xué)習(xí)課程中推薦用Octave替代Matlab。

  Octave擁有與Matlab工具箱類似的擴展機制,稱為包(Packages),現(xiàn)已有50個社區(qū)包與21個外部包。其中有幾個擴展包可以提供特定領(lǐng)域的系統(tǒng)仿真功能,但仿真功能較弱。

  Octave最初是大約在1988年由美國威斯康星大學(xué)麥迪遜分校詹姆斯·羅林斯(James B. Rawlings)和德克薩斯大學(xué)約翰·??藸柼兀↗ohn G. Ekerdt)為化學(xué)反應(yīng)器設(shè)計教學(xué)而編寫的配套軟件。系統(tǒng)性開發(fā)是從約翰·伊頓(John W. Eaton)在1992年接手才開始的。第一個alpha測試版是在1993年1月4日發(fā)布,1.0穩(wěn)定版則是在1994年2月17日發(fā)布。2017年2月伊頓發(fā)表公開信,表示因為獲得的資助不足以支持Octave開發(fā),他個人投入不少資金導(dǎo)致經(jīng)濟吃緊,希望能找到一份Octave開發(fā)之外的工作。之后Octave停止更新了一年多,后在2018年3月恢復(fù)更新。最新一版是2020年1月31日發(fā)布。自由軟件不易,且行且珍惜。

  Octave官網(wǎng):https://www.gnu.org/software/octave/

  3. Python Spyder

  Python是一種跨平臺的計算機腳本語言,在1991年由荷蘭國家數(shù)學(xué)和計算機科學(xué)研究所吉多·范羅蘇姆(Guido van Rossum)設(shè)計創(chuàng)立。Python最初被設(shè)計用于編寫自動化腳本(shell),隨著版本的不斷更新和語言新功能的添加,被廣泛用于網(wǎng)站開發(fā)、系統(tǒng)管理以及通用的業(yè)務(wù)應(yīng)用程序。Python的可擴展性非常強,一些擴展庫的出現(xiàn)已經(jīng)使得Python非常適合科學(xué)計算。Python完全免費,許多開源軟件都支持Python。

  Spyder是一款輕量級的開源Python集成開發(fā)環(huán)境(IDE ),和其它的Python IDE相比,它最大的優(yōu)點就是模仿Matlab的“工作空間”布局,適于進(jìn)行數(shù)據(jù)分析。Spyder已經(jīng)集成了Numpy、SciPy、SymPy、Pandas和Matplotlib等流行的科學(xué)擴展庫,不用再處理環(huán)境依賴關(guān)系,方便進(jìn)行科學(xué)計算、數(shù)據(jù)分析與數(shù)學(xué)繪圖。

  NumPy是用于數(shù)值計算的基本軟件包。它定義了數(shù)值數(shù)組和矩陣類型以及它們的基本運算。

  SciPy是對NumPy的增強,是數(shù)值算法和特定領(lǐng)域工具箱的集合,其中包括最優(yōu)化、線性代數(shù)、積分、插值、特殊函數(shù)、快速傅里葉變換、信號處理和圖像處理、常微分方程求解和其它科學(xué)與工程中常用的計算工具。

  SymPy是用于符號數(shù)學(xué)和計算機代數(shù)的擴展庫。

  Pandas是一種靈活易用的數(shù)據(jù)分析和處理工具。

  Matplotlib是Python最著名的繪圖庫,它提供了一整套和Matlab類似的繪圖函數(shù)集合,非常適合編寫短小的腳本程序進(jìn)行快速的繪圖。

  此外,如果要在Python環(huán)境中進(jìn)行仿真,Github上有一個開源項目Simupy。在項目介紹中提到,Simupy是一個可對互連的動態(tài)系統(tǒng)模型進(jìn)行仿真的框架,并提供工具建立基于模型的系統(tǒng)設(shè)計和仿真工作流。Simupy是對標(biāo)Matlab Simulink的仿真軟件,但還處于起步階段。

  Spyder官網(wǎng):https://www.spyder-ide.org/

  4. Julia

  Julia是2012年麻省理工和哈佛大學(xué)的4名計算機科學(xué)家推出的開源動態(tài)腳本語言。從2009年開始構(gòu)想這種新語言,初衷是綜合科學(xué)計算中使用到的多種語言的優(yōu)點,以免研究人員在多種語言中來回切換。Julia主要用于數(shù)值計算,內(nèi)建了了大量的數(shù)學(xué)函數(shù), 對矩陣運算支持良好。作為一門新興語言,Julia在設(shè)計上充分考慮了并行計算和分布式計算的需求,最大發(fā)揮現(xiàn)代計算機的能力。

  Juno是Julia的集成開發(fā)環(huán)境。

  Julia官網(wǎng):https://julialang.org/

  5. ScicosLab

  ScicosLab是由一些曾參與Scilab開發(fā)的研究人員,在Scilab BUILD4版本的基礎(chǔ)上開發(fā)的GTK+版本,集成了建模/模擬工具Scicos及眾多工具箱,曾被稱為是“惟一一款可以與商業(yè)軟件Matlab/Simulink媲美的開源軟件”。

  但目前Scicoslab與Scicos都處于停止更新狀態(tài)。

  Scicoslab官網(wǎng):http://www.scicoslab.org/

  除了以上開源軟件之外,據(jù)說國內(nèi)已經(jīng)在開發(fā)替代Matlab的產(chǎn)品,但相關(guān)信息不多,讓我們保持關(guān)注。

  實事求是地講,上述開源免費軟件與Matlab還存在比較大的差距。無論是在功能完備性(尤其是系統(tǒng)仿真方面),還是在易用性和運用效率上都有很大發(fā)展空間,在實際使用中需要幾種軟件結(jié)合才能對Matlab進(jìn)行替代。作為開源軟件依靠技術(shù)愛好者自發(fā)維護也和商業(yè)軟件的支持力度不能相提并論。

  但是,這些開源軟件科學(xué)計算能力與開放性、可擴展性都不差,而且在適應(yīng)新的計算需求上甚至還占有優(yōu)勢,只不過是缺乏大量用戶使用反饋的積累與專業(yè)團隊耐心投入的反復(fù)調(diào)優(yōu),用起來沒有那么得心應(yīng)手。其實Matlab也是從簡單的工具成長起來的,在有參照可驗證的前提下,工具調(diào)整優(yōu)化所需的時間其實是可以大大縮短的。更重要的是,當(dāng)前的局勢已經(jīng)讓我們沒有再挑三揀四的時間了,需要下定決心盡早盡快將開源軟件用起來,這才是我們破局的正確出路。


四、認(rèn)清當(dāng)前局勢,堅定決心破局

  長期以來,國內(nèi)科研界養(yǎng)成了一種“吃現(xiàn)成”的心態(tài),安心地在美國提供的科技基礎(chǔ)上進(jìn)行應(yīng)用層面的發(fā)展。這種思維有其歷史原因,現(xiàn)在復(fù)盤也不能過于求全責(zé)備。但是當(dāng)禁用Matlab事件出現(xiàn)時,很多人如夢初醒:還能這么做?這真做得出來?我們總不能還無動于衷吧。

  面對當(dāng)前的局勢,有兩條路可選:一是繼續(xù)在美國技術(shù)基礎(chǔ)上賴著不走,甚至是不讓用正版就用盜版,能混一天是一天。如果是這種想法,那就太沒出息了!

  二是果斷放棄美國路線,換在新的技術(shù)基礎(chǔ)上積累與發(fā)展。就國內(nèi)的技術(shù)現(xiàn)實而言,完全搞國產(chǎn)的新技術(shù)一沒積累、二沒時間、三沒必要。天下苦美久矣,世界人民并不希望一個霸主的下臺換來的是另一個霸主上臺。如果中國再搞一個封閉的平臺,是得不到廣泛支持的,也是主動與世界隔離,這正是落入了美國的圈套。正確答案其實就是前面的高頻詞:開源軟件??焖倨凭值年P(guān)鍵就是在短時間內(nèi)先把開源軟件用起來,再用中國的市場需求促進(jìn)開源軟件快速成長成熟,成為我們新的技術(shù)基礎(chǔ)。

  如果要走第二路,先要分析清楚當(dāng)前的有利條件與將要面對的困難。中國科技行業(yè)與開源軟件結(jié)合,有三大有利條件:

  一是中國市場足夠支撐開源軟件發(fā)展。Matlab所屬公司MathWorks去年的營收是10億美元,因為MathWorks未上市,不能查證其在中國市場的收入,但應(yīng)該數(shù)額不小。這些資金既然不讓花了,可以拿出一部分來支持開源軟件的發(fā)展。只要設(shè)計一個好的機制,國內(nèi)市場需求供幾個科研軟件的開發(fā)主體成長壯大問題不大。

  二是Matlab并無太強技術(shù)壁壘。我曾經(jīng)在《迎接即將到來的“脫鉤”,國產(chǎn)軟件的戰(zhàn)略準(zhǔn)備:數(shù)據(jù)庫篇》中提出一個觀點,那就是一款成功的軟件產(chǎn)品的同類替代是非常困難的,因為其生態(tài)已經(jīng)深入人心,要改變用戶習(xí)慣幾乎沒有可能。所以可能的機會是升級換代,抓住技術(shù)革命的機會來發(fā)展新的產(chǎn)品。本來在計算工具軟件領(lǐng)域,升級換代的機會很小,雖然有并行計算、邊緣計算等新的需求,但一般用戶其實是無感的。最多能培育幾個特定領(lǐng)域的工具出來。但是千算萬算誰也沒有想到,美國公司會禁止中國人使用。Matlab其實是一個非常合適的對手,它的功能開源軟件多多少少都能實現(xiàn),差距就在好不好用,這通過積累與投入是可以解決的。原來因為生態(tài)問題,大家都不抱什么希望的事,竟然會出現(xiàn)美國人自己把市場讓出來,奇跡來都來了就不要客氣,抓緊時間上吧!

  三是現(xiàn)在已經(jīng)到了中國科研必須重視底層的時間點。國內(nèi)科研對底層基礎(chǔ)研究一直很薄弱,非常依賴各種已有平臺和軟件工具,不僅是別人嚼過的饃香不香的問題,簡直就是天天睡在別人的炕上。中美科技競爭頻繁過招,其深刻原因是中國科技力量的崛起已經(jīng)開始改變世界格局。作為一個新興力量,該從美國人的炕上下來,把腳踩在堅實的地上了。中國的科研水平、技術(shù)力量早就已經(jīng)具備條件,就差膽識與實際行動了。

  我們要面對的困難是,開源軟件在國內(nèi)一直發(fā)展緩慢,投入與重視都不夠。開源軟件本身存在很多問題,其運行機制并不能滿足中國市場的需要。這就要在與開源軟件結(jié)合的過程中大膽創(chuàng)新,用新思路新辦法將開源軟件與中國具體情況相結(jié)合。至于具體怎么做,我在中篇《勢與順勢》中再講。

原文來自:

禁用Matlab,美國又給我們創(chuàng)造一次機會?(上)破局 (qq.com)

https://mp.weixin.qq.com/s/KxrGnap-vM1uJ9fHYs2mrw





Matlab:1、Matlab是什么?它重要嗎?2、Matlab的替代軟件的評論 (共 條)

分享到微博請遵守國家法律
上犹县| 滦平县| 浮梁县| 鸡东县| 通州市| 民乐县| 滕州市| 台湾省| 香格里拉县| 牙克石市| 博罗县| 柳州市| 即墨市| 兴仁县| 基隆市| 聊城市| 临安市| 罗江县| 且末县| 拜泉县| 金堂县| 三门县| 云南省| 革吉县| 宜宾县| 蕉岭县| 玉林市| 彭山县| 伊吾县| 太康县| 金湖县| 凤城市| 邻水| 安义县| 绥阳县| 雅安市| 大同县| 大洼县| 湖口县| 吉林省| 佛山市|