W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
計算機姑娘是擅長進行科學計算的,本來她就是做這個的,只不過后來人們讓她處理了很多文字內(nèi)容罷了,乃至于現(xiàn)在有一些人認為她是用來打字寫文章的(變成打字機了),忘記了她最擅長的計算。
每種編程語言都能用來做計算,區(qū)別在于編程過程中,是否有足夠的工具包供給。比如用匯編,就得自己多勞動,如果用Fortran,就方便得多了。不知道讀者是否聽說過Fortran,貌似古老,現(xiàn)在仍被使用。(以下引文均來自維基百科)
Fortran語言是為了滿足數(shù)值計算的需求而發(fā)展出來的。1953年12月,IBM公司工程師約翰·巴科斯(J. Backus)因深深體會編寫程序很困難,而寫了一份備忘錄給董事長斯伯特·赫德(Cuthbert Hurd),建議為IBM704系統(tǒng)設計全新的電腦語言以提升開發(fā)效率。當時IBM公司的顧問馮·諾伊曼強烈反對,因為他認為不切實際而且根本不必要。但赫德批準了這項計劃。1957年,IBM公司開發(fā)出第一套FORTRAN語言,在IBM704電腦上運作。歷史上第一支FORTRAN程式在馬里蘭州的西屋貝地斯核電廠試驗。1957年4月20日星期五的下午,一位IBM軟體工程師決定在電廠內(nèi)編譯第一支FORTRAN程式,當程式碼輸入後,經(jīng)過編譯,印表機列出一行訊息:“原始程式錯誤……右側(cè)括號後面沒有逗號”,這讓現(xiàn)場人員都感到訝異,修正這個錯誤後,印表機輸出了正確結(jié)果。而西屋電氣公司因此意外地成為FORTRAN的第一個商業(yè)用戶。1958年推出FORTRAN Ⅱ,幾年後又推出FORTRAN Ⅲ,1962年推出FORTRAN Ⅳ後,開始廣泛被使用。目前最新版是Fortran 2008。
還有一個廣為應用的不得不說,那就是matlab,一直以來被人稱贊。
MATLAB(矩陣實驗室)是MATrix LABoratory的縮寫,是一款由美國The MathWorks公司出品的商業(yè)數(shù)學軟件。MATLAB是一種用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的高級技術(shù)計算語言和交互式環(huán)境。除了矩陣運算、繪制函數(shù)/數(shù)據(jù)圖像等常用功能外,MATLAB還可以用來創(chuàng)建用戶界面及與調(diào)用其它語言(包括C,C++,Java,Python和FORTRAN)編寫的程序。
但是,它是收費的商業(yè)軟件,雖然在某國這個無所謂。
還有R語言,也是在計算領域被多多使用的。
R語言,一種自由軟體程式語言與操作環(huán)境,主要用于統(tǒng)計分析、繪圖、數(shù)據(jù)挖掘。R本來是由來自新西蘭奧克蘭大學的Ross Ihaka和Robert Gentleman開發(fā)(也因此稱為R),現(xiàn)在由“R開發(fā)核心團隊”負責開發(fā)。R是基于S語言的一個GNU計劃項目,所以也可以當作S語言的一種實現(xiàn),通常用S語言編寫的代碼都可以不作修改的在R環(huán)境下運行。R的語法是來自Scheme。
最后要說的就是python,近幾年使用python的領域不斷擴張,包括在科學計算領域,它已經(jīng)成為了一種趨勢。在這個過程中,雖然有不少人詬病python的這個慢那個解釋動態(tài)語言之類(這種說法是值得討論的),但是,依然無法阻擋python在科學計算領域大行其道。之所以這樣,就是因為它是python。
當然,最重要一點,就是本教程是講python的,所以,在科學計算這塊肯定不會講Fortran或者R,一定得是python。
如果讀者使用Ubuntu或者Debian,可以這樣來安裝:
sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose
一股腦把可能用上的都先裝上。在安裝的時候,如果需要其它的依賴,你會明顯看到的。
如果是別的系統(tǒng),比如windows類,請自己網(wǎng)上查找安裝方法吧,這里內(nèi)容不少,最權(quán)威的是看官方網(wǎng)站列出的安裝:http://www.scipy.org/install.html
在科學計算中,業(yè)界比較喜歡使用ipython notebook,前面已經(jīng)安裝。在shell中執(zhí)行
ipython notebook --pylab=inline
得到下圖的界面,這是在瀏覽器中打開的:
在In后面的編輯去,可以寫python語句。然后按下SHIFT+ENTER
或者CTRL+ENTER
?就能執(zhí)行了,如果按下ENTER
,不是執(zhí)行,是在當前編輯區(qū)換行。
Ipython Notebook是一個非常不錯的編輯器,執(zhí)行之后,直接顯示出來輸入內(nèi)容和輸出的結(jié)果。當然,錯誤是難免的,它會:
注意觀察圖中的箭頭所示,直接標出有問題的行。返回編輯區(qū),修改之后可繼續(xù)執(zhí)行。
不要忽視左邊的輔助操作,能夠讓你在使用ipython notebook的時候更方便。
除了在網(wǎng)頁中之外,如果你已經(jīng)喜歡上了python的交互模式,特別是你用的計算機中有一個shell的東西,更是棒了。于是可以:
$ ipython
進入了一個類似于python的交互模式中,如下所示:
In [1]: print "hello, pandas"
hello, pandas
In [2]:
或者說ipython同樣是一個不錯的交互模式。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: