GNU Octave和Wolfram Alpha

一言以蔽之:Octave和Wolfram Alpha是MATALB和Mathematica的免費替代方案。

在上一篇文章中介紹了MALTAB和Mathematica,但它們都是付費的商業軟體,那有沒有替代的免費方案呢?答案是有的,就是GNU OctaveWolfram Alpha

GNU Octave

octave在音樂上是八度的的意思,不過這工具跟音樂沒有關係,它單純就是一個數學軟體。Octave是MATLAB的主要替代品之一,由於它遵循GNU通用公眾授權條款(GPL),所以是免費的。使用Octave必須先到官網下載軟體並安裝,Windows、Linux等版本都有。

我非常推薦Octave的原因是,它和MATLAB的語法相容性很高,對於一般使用者來說,直接把MATLAB code丟進Octave就可以跑了,語法一樣,也一樣是用*.m檔案名當成程式碼。(備註:其中一個不相容的例子是,MATLAB的字串用單引號’Hello’,而Octave則同時支援單引號’Hello’和雙引號”Hello”。不過在這例子中,Octave支援的比MATLAB多,所以還是可以直接把MATLAB code放入Octave中跑。)

下面這張圖是把ADC的data灌入Octave所畫出的Spectrum,跟MATALB畫的真的很像。

Octave

備註:如果還要有類似Simulink的功能,也可以安裝Scilab(點此連官網),使用裡面的Xcos。

Wolfram Alpha

出版Mathematica的Wolfram公司有出網路版的online calculator,叫做Wolfram Alpha,是完全免費的,只要有瀏覽器就可以直接使用,不需要註冊和安裝任何APP或軟體。

先考考它解方程式,二元一次聯立方程式和一元二次方程式都難不倒它。

Wolfram Alpha

你說tan(x)的微分這簡單,不用查表你也知道是[sec(x)]^2,但x^2*sin(x)的積分,沒查表你就不會了吧,不過這些微積分都難不了Wolfram Alpha。

Wolfram Alpha

拉普拉斯轉換、傅立葉轉換,當然也不是問題。(備註:有人說這Fourier Transform的答案跟課本的答案差了sqrt(2*π),是因為課本把常數1/(2*π)放在inverse Fourier Transform,那麼Fourier Transform的常數就是1,而Wolfram採用的定義是對稱型,二個轉換各放1/sqrt(2*π)。)

Wolfram Alpha

總之,如果你有算不出來的數學式子,也不用再查表了,就直接丟給Wolfram Alpha吧。如果它算不出來,那那那……我相信你查了再多表,手算也算不出來的。

備註:畢竟Wolfram Alpha只是Mathematica的簡化版,所以一些更強大的功能是不支援的(例如自定義函數),所以無法在網頁版實現一個大型的程式碼。