origin批處理方法實(shí)例
需求是將已有的多組矩陣數(shù)據(jù)批量導(dǎo)入origin,并逐個(gè)生成contour profile圖。

數(shù)據(jù)格式是這樣的,x軸數(shù)據(jù)在第一行,4-6,y軸數(shù)據(jù)在第一列,10-30,其他行列是矩陣元素。
如果手動(dòng)導(dǎo)入,步驟是先導(dǎo)入ASCII文件,再將工作表轉(zhuǎn)換為矩陣,最后點(diǎn)擊畫圖生成contour profile圖。使用origin腳本導(dǎo)入將使用同樣的思路:
第一步,批量導(dǎo)入ACSII文件(參見Origin在線幫助 - General Importing Examples 或者 Importing Data,在這里能找到一個(gè)可以直接運(yùn)行的實(shí)例)
文件目錄為D:\Samples\,共有3個(gè)文件,文件名分別為Material_10K, Material_20K, Material_30K,因此使用含通配符的名稱 Material_*K 來表示所有文件;
程序中string、int是數(shù)據(jù)類型,字符串變量名以$結(jié)尾;
findfiles、newbook、impasc是origin中的函數(shù)X-Function,使用方法為 “函數(shù)名(空格)變量名 := 變量值”。每個(gè)函數(shù)可使用的所有變量都能夠在對(duì)應(yīng)的在線幫助文檔中搜索到。
[bkName$]1!這種以中括號(hào)和感嘆號(hào)為特征的形式是origin中表示元素的標(biāo)記方式,詳見Help - Output Notations。對(duì)于工作簿,完整標(biāo)記形式是[工作簿名]工作表名或索引!列名或索引。例如,
注意工作簿名只能引用其Short Name。

第二步,創(chuàng)建contour profile圖
首先,創(chuàng)建一個(gè)圖表的函數(shù)是plotvm
(這個(gè)函數(shù)通過創(chuàng)建一個(gè)虛擬矩陣VM1的方式由工作表生成圖,虛擬矩陣不會(huì)出現(xiàn)在工作窗口中,省略掉了從工作表生成矩陣表的步驟。如果需要矩陣表,可以連用函數(shù)w2m和plotm代替plotvm。)
這里的<new template:=TemplateName>! 也是一種模板元素標(biāo)記,亦可見Output Notations。
按照ogl參數(shù)的選擇,此時(shí)生成的圖是contour圖。若要生成contour profile圖,按照直觀的理解,應(yīng)該將ogl參數(shù)中的contour替換為
但是這樣繪制出的卻是只有一個(gè)圖層的、位于左下角的contour圖。
為了解決這個(gè)問題,需要先使用任意Mbook繪制一份contour profile圖,再右鍵該圖的標(biāo)題欄,選擇保存模板為...(save template as...),在默認(rèn)的用戶文件目錄下保存一份profile_contour_user.otp文件,之后就可以使用命令
創(chuàng)建所需的contour profile。

第三步,為以上程序增加循環(huán)結(jié)構(gòu),實(shí)現(xiàn)批處理
origin腳本基礎(chǔ)程序結(jié)構(gòu)參見Help - Conditional and Loop Structures,其中循環(huán)結(jié)構(gòu)為
將這些部分整合到一起,就能夠得到從txt文件導(dǎo)出contour profile的完整程序
其中 win -o 是為了激活存儲(chǔ)數(shù)據(jù)的工作表,因?yàn)榇蠖鄶?shù)函數(shù)只能作用于處于活動(dòng)狀態(tài)的表。詳細(xì)用法參閱 Help - Window。
$( )是數(shù)字轉(zhuǎn)字符串標(biāo)記,參見 Help - Converting Numbers to Strings
wks.name$ 是對(duì)象“當(dāng)前工作表”的名稱屬性,參見 Help - Basic Worksheet Operation及Wks

全部完成后可以將代碼保存為 file.ogs文件,之后就可以在Origin的命令行窗口中通過命令
運(yùn)行。(Help - Running Scripts - From Files)

其他內(nèi)容
工作簿W(wǎng)orkbook相關(guān) (help-Basic Worksheet Operation)
工作表worksheet相關(guān) (help-Worksheet Basic Operation)


后記
Origin 的在線幫助文檔詳細(xì)全面,但不利于查閱,使用時(shí)善用搜索。本文使用的方法集中在 X-Function 和 LabTalk Programming 中,優(yōu)點(diǎn)是可以直接在命令行窗口運(yùn)行,不需要配置環(huán)境。與 Origin C 不兼容。