每一個(gè)從事實(shí)驗(yàn)科學(xué)研究的人都要選擇一款合適的數(shù)據(jù)處理工具。據(jù)我所知,用的最多的應(yīng)該是Origin(沒(méi)有調(diào)查),也有部分人在用Matlab或者其他的工具,如SigmaPlot,Excel等(在Linux下也有很多人喜歡gnuplot等各種開(kāi)源工具)。對(duì)于剛進(jìn)實(shí)驗(yàn)室的同學(xué),相信很多人都有這樣的經(jīng)歷:瘋狂百度,各種求問(wèn),以尋找一款合適的實(shí)驗(yàn)數(shù)據(jù)分析處理軟件(不過(guò)好像更多的事實(shí)是:導(dǎo)師和同實(shí)驗(yàn)室的師兄師姐已經(jīng)決定了你用什么軟件,我就是這樣的經(jīng)歷)。 今天,我們就對(duì)目前主流的數(shù)據(jù)處理分析軟件做一個(gè)簡(jiǎn)單對(duì)比,目的是告訴讀者,為什么要選擇Igor。對(duì)比的軟件我主要選擇了Igor,Origin,Matlab,為了使對(duì)比顯得更加豐滿,我又把Excel拉了進(jìn)來(lái),湊成4個(gè)(因?yàn)槲艺J(rèn)為從專業(yè)的角度來(lái)說(shuō),Excel并不能算作科學(xué)數(shù)據(jù)處理軟件,其他的限于個(gè)人水平,無(wú)法涉及)。 除了最基本的繪圖和數(shù)據(jù)分析處理功能之外,Igor最突出的特色是“完全可編程的”,它通過(guò)提供大量的函數(shù)和命令來(lái)完成數(shù)據(jù)處理。其菜單系統(tǒng)及大量的對(duì)話框根本上也是對(duì)這些函數(shù)和命令行的使用。IGOR Pro提供了極其方便易用的編程環(huán)境,讓使用者很自然地將編程當(dāng)成數(shù)據(jù)處理的一部分,與正常的數(shù)據(jù)處理操作渾然天成。編程的方便性得益于其完整而系統(tǒng)的語(yǔ)法環(huán)境,一方面這套語(yǔ)法環(huán)境高度自洽,不需要引進(jìn)任何外部支持,原生支持腳本級(jí)別、編譯級(jí)別的程序設(shè)計(jì),并提供了很多普通編程語(yǔ)言才有的高級(jí)編程技術(shù),如預(yù)編譯指令、文件包含、條件編譯、名稱空間等,編譯器支持的功能廣闊,如字符串處理功能的完整支持、結(jié)構(gòu)體變量、函數(shù)指針、對(duì)所在平臺(tái)系統(tǒng)資源的自由訪問(wèn)、線程安全函數(shù)設(shè)計(jì)及多線程編程等,這使得僅僅使用IGOR,不借助任何外部專門的編程工具,就能夠?qū)崿F(xiàn)各種復(fù)雜的功能;另一方面,這套語(yǔ)法環(huán)境又顯著區(qū)別于普通的程序設(shè)計(jì)語(yǔ)言,它將前者的復(fù)雜性做了包裝,針對(duì)數(shù)據(jù)處理程序的設(shè)計(jì)做了大大的簡(jiǎn)化,如變量?jī)H包括數(shù)值型和字符串性兩類變量(當(dāng)然也可以更具的制定變量類型,這會(huì)提高效率,但一般這樣就夠了),沒(méi)有普通編程語(yǔ)言“強(qiáng)類型數(shù)據(jù)”所帶來(lái)的復(fù)雜性,所有的內(nèi)置函數(shù)和命令(包括用戶自定義函數(shù))無(wú)需聲明即可自由使用,提供極為通用的方式自由訪問(wèn)Igor的數(shù)據(jù)對(duì)象如wave、變量、窗口等。為了方便程序的開(kāi)發(fā),Igor提供了相當(dāng)方便的在線幫助系統(tǒng),隨時(shí)查詢函數(shù)及命令的使用并能夠直接插入代碼處;幾乎所有的對(duì)話框操作都能轉(zhuǎn)化為對(duì)應(yīng)的命令行并醒目顯示,這些命令行都可以直接作為程序的代碼。盡管如此,Igor還是提供了擴(kuò)展接口,熟練和有需要的人員可以利用C++等編程工具任意擴(kuò)展其功能。這種可編程特性使得Igor非常適合用于處理復(fù)雜且體積較為龐大的實(shí)驗(yàn)數(shù)據(jù)、需要大批量重復(fù)的操作、在多變量中任意調(diào)整某變量隨時(shí)觀察數(shù)據(jù)變化、編寫某一專門類型的數(shù)據(jù)處理工具等場(chǎng)合。 圖1:Igor pro是非常方便的可編程數(shù)據(jù)處理軟件 雖然利用編程來(lái)處理數(shù)據(jù)是Igor設(shè)計(jì)的“價(jià)值取向”,但這并不是說(shuō)不寫程序就不能進(jìn)行數(shù)據(jù)處理。Igor同樣有簡(jiǎn)單易用的菜單和窗口系統(tǒng),通過(guò)菜單及相應(yīng)的窗口,可以完成諸如繪圖、數(shù)據(jù)分析及擬合、圖片輸出等日常需要的數(shù)據(jù)處理操作,這并不需要寫一行代碼。達(dá)到這個(gè)使用層次通常只需要不到一個(gè)小時(shí)(假設(shè)你有一些數(shù)據(jù)處理的基本意識(shí)和一些軟件的使用經(jīng)驗(yàn)) Origin是和IGOR Pro最為相似的軟件,目標(biāo)定位也相同:用于實(shí)驗(yàn)數(shù)據(jù)分析處理。但是我覺(jué)得Origin的設(shè)計(jì)理念和Igor迥異,這首先體現(xiàn)在界面上:Origin有菜單,工具條按鈕,快捷工具按鈕,文件區(qū),數(shù)據(jù)區(qū)等,符合Windows下標(biāo)準(zhǔn)IDE程序的風(fēng)格,而Igor除了菜單之外,其他的都不是必須的(甚至如果你需要,菜單也可以去掉)。其次,Origin在最初設(shè)計(jì)時(shí)并沒(méi)有把通過(guò)編程來(lái)數(shù)據(jù)處理作為原生功能考慮進(jìn)去,當(dāng)然Origin馬上意識(shí)到了這一點(diǎn),現(xiàn)在的版本已經(jīng)支持程序設(shè)計(jì)了,但是與Igor原生支持程序設(shè)計(jì)相比,并不是很方便。由于符合Windows程序的風(fēng)格,Origin程序的上手較為容易,學(xué)習(xí)曲線較為平緩。一般認(rèn)為,當(dāng)數(shù)據(jù)個(gè)性化要求較小,編程要求較小,用Origin是合適的,如果數(shù)據(jù)量很大,處理過(guò)程復(fù)雜,需要編寫程序成批處理大量數(shù)據(jù),則Igor是首選。 圖2:Origin界面十分簡(jiǎn)潔易操作 Matlab是頂級(jí)的數(shù)學(xué)軟件,界面簡(jiǎn)潔,功能強(qiáng)大,幾乎無(wú)所不能。但Matlab的長(zhǎng)處在數(shù)值計(jì)算、仿真等領(lǐng)域,而不是實(shí)驗(yàn)數(shù)據(jù)處理及科學(xué)繪圖(有人反映繪圖響應(yīng)較慢,圖的修改較為麻煩,但Matlab的3D繪圖能力是杠杠的)。此外,個(gè)人感覺(jué)Matlab的設(shè)計(jì)初衷也不完全是用來(lái)分析實(shí)驗(yàn)數(shù)據(jù)的,諸如實(shí)驗(yàn)數(shù)據(jù)的管理、保存、恢復(fù)等并不如Igor方便直觀,因此如若不是在數(shù)據(jù)處理中需要大量的模擬、計(jì)算,還是用Igor為好。 圖3:Matlab具有強(qiáng)大的繪圖能力 Excel是微軟OFFICE辦公軟件套件的一個(gè)組件,俗稱電子表格,用來(lái)處理電子表格型數(shù)據(jù)。Excel更適合于財(cái)會(huì)、統(tǒng)計(jì)或者數(shù)據(jù)處理分析不是太復(fù)雜的應(yīng)用領(lǐng)域。用于實(shí)驗(yàn)數(shù)據(jù)處理,簡(jiǎn)單的實(shí)驗(yàn)數(shù)據(jù),如大學(xué)物理實(shí)驗(yàn)中測(cè)得的數(shù)據(jù)還可以,如用來(lái)處理專門的科學(xué)研究實(shí)驗(yàn)數(shù)據(jù)則顯得靈活性不夠,功能也稍顯欠缺,不夠?qū)I(yè)。 圖4:用Excel作圖?還是呵呵吧 比較到這里,想發(fā)言的人肯定很多,別著急,先聽(tīng)我說(shuō)。這里所做的對(duì)比,其實(shí)正如Windows與Linux之爭(zhēng),Gnome與Kde之爭(zhēng),Vim與Emacs之爭(zhēng)(了解Linux的人肯定知道這是怎么回事),既然存在爭(zhēng)論,說(shuō)明每一種工具都有其非常優(yōu)秀的特色,同時(shí)也聚集了大批不同的忠實(shí)的粉絲和使用者,其中不乏骨灰級(jí)的高手。因此爭(zhēng)論不是為了證明對(duì)錯(cuò),比較也不是為了說(shuō)明某個(gè)工具就是沒(méi)用的。工具是要人來(lái)使用,所謂運(yùn)用之妙,在乎一心,對(duì)于高手,落葉枯枝皆可作為殺人利器,固假劍乎。。。(扯遠(yuǎn)了,打住)。這里我只是想說(shuō),如果你還在尋找合適的數(shù)據(jù)處理工具,那么我向你推薦Igor,絕對(duì)沒(méi)錯(cuò),它能滿足你的全部需求。如果你已經(jīng)是使用Origin、Matlab或者其他數(shù)據(jù)處理軟件的高手,那么你可以嘗試使用Igor,它會(huì)讓你耳目一新。 來(lái)源:igor應(yīng)用編程
|
|
來(lái)自: 汐鈺文藝范 > 《信息廣場(chǎng)》