Origin40中常用可执行命令(Labtalk语言)汇总本节内容也适合于其它版本的ORIGIN一、变量、算式与函数在Origin的ScriptWindow中,用户可以象在其它程序语言中一样定义变量,如:A=12,B=15,变量可以参加运算如:C=A*B,则C=180。在ScriptWindow中,用户也可以直接输入算式进行计算,如:23+165*76-12/17=12562。应该注意的是在ScriptWindow中,每一行输入完毕后,若直接按回车键,则该命令马上被执行,会立刻得到计算结果,若要输入多行算式或命令后再一齐执行,需要将ScriptWindow菜单中的scriptexecution选项取消,并且在每一行结束后输入一个分号“;”。在Origin40中,有许多内部函数是可以直接调用的,如:基本数学函数:sin(x),cos(x),log(x),ln(x),abs(x),angle(x,y),exp(x),sqrt(x),mod(x,y),rmod(x,y),int(x),nint(x),tan(x),asin(x),acos(x),atan(x),sinh(x),cosh(x),tanh(x)。当然用户也可以定义自己的函数式。其它常用函数有:数据生成函数data(x1,x2,inc),工作表格列函数col(colname),工作表格单元函数col(colname)[row#],求和函数sum(dataset),该函数可产生:总和sum.total、平均值sum.mean、数据总数sum.n、标准差sum.sd、最大值sum.max、最小值sum.min等值,T检验T值函数Ttable(x,n),其中X为½,n为数据点个数,F检验F值函数Ftable(x,m,n),其中X为1-,m、n为自由度。为置信度水平。二、语句与语法Origin40中有一个称之为Labtalk的程序语言,允许用户编写相应的程序语句,实现某些Origin40本身没有提供的功能。该语言与C语言有些类似:1.程序可在ScriptWindow中编写,也可以在其它本文编辑器中编辑,并以*.txt形式保存。2.每个语句之后加分号“;”表示该句的结束。3.多行语句组成的程序块要包含在花括号{}中,如判断语句、循环语句等。如:IF(表达式){语句1;语句2;………;………;Else语句1;语句2;………;………;}For(I=1;I=N;I+=1){语句1;语句2;………;………;}下面是利用Labtalk语言编写的、用于T检验的程序:////////////////////////////////////////////////////////////////////////t-Test(OnePopulation)//////////////////////////////////////////////////////////////////////[tTestOne]#Performst-testonhighlightedcolumnTestColSel;/*seeabove*/CheckVartTestLevel0.05;CheckVartTestMean0;GetNum$WksStat.tTestOneMeantTestMean$WksStat.tTestOneSigLeveltTestLevel$WksStat.tTestOnePopulation;/*usercancancelatthispoint*/sum(%C);df=sum.n-1;t=(sum.mean-tTestMean)*sqrt(sum.n)/sum.sd;P=incbeta(df/(df+t*t),0.5*df,0.5);///RKM2/3/96REDIRECT_TO_NOTESRedirect=type.redirection;if(type.redirection&2==2)%K=type.notes$;if(exist(Results)!=9){win-nnotesResults;}type.notes$=system.notes.created$;type.redirection=6;//OutpoutgoestoNoteswindow,errorgoestoScriptrepeat2{type};//Skipacouplespacestype$(@D,D9);//Typeoutdateandtimetype;type$statistics.tTest1Pop1;//MainHeaderLinetype;//BlankLinetype$statistics.tTestVar;//SetupOutputTableSeparator4;type$statistics.tTestSum;Separator4;type$statistics.tTestVarT;type$statistics.tTestVarP;type;type-l$statistics.tTestMean0;type-l$(tTestLevel);type$statistics.tTestMean1;type-l$statistics.tTestMean2;type-l;if(PtTestLevel)type$statistics.tTestNoDiff;elsetype$statistics.tTestDiff;type;//Give2extrablanklinestype;type.redirection=Redirect;if((type.redirection&2==2)&&(exist(%K)==9))type.notes$=%K;elsetype.redirection=5;delRedirect;三、ORIGIN针对窗口操作的有关命令建立一个新的数据窗口:win–TData或者domenu16;建立一个新的图形窗口:win–TPlot或者domenu12;建立一个新的函数窗口:domenu19;激活指定的窗口:win–a窗口名;四、针对激活窗口进行操作的命令:在工作表格中添加n列:worksheet–an;在工作表格中选中某列:worksheet–sn0;例如;worksheet–s20;选中第二列,worksheet–s102030表示选中前三列。在工作表格指定列(选中列)前插入一列worksheet–iwks.c1;将选中列的内容复制到剪贴板上:domenu512;将剪贴板上的内容复制到选中列上:domenu513;将选中列的内容删除:domenu881;对选中的列进行排序:Sort–w%H%C(升序)或Sort–wd%H%C(降序);利用数据窗口中选中的数据作图:worksheet–p200;注:200为线图,201为散点图,202为点线图等。五、其它常用变量与命令:%H为取得当前活动窗口的名称;Wks.sel=?,判断是否有数据列被选中,若=8为选中,=0为未被选中;Exist(%H)=?,判断当前活动窗口的类型,=0为没有活动窗口,=1为数据列,=2为工作表格,=3为图形窗口,=4为变量,=5为矩阵,=6为宏,=7为工具条;%(wksname,col,row),返回指定工作表格中某一单元的值,例如:%(Data1,6,25)给出名为Data1的工作表格中第六列,第25行一个单元中的数据。Type“………“在ScriptWindow中输出字符串;Type%d输出字符串变量d的值;Type–b%d在屏幕上输出字符串d的值,并响铃,出现确定提示框;Type–c%d在屏幕上输出字符串d的值,并响铃,出现确定或取消提示框;Type–a打开ScriptWindow窗口;Type“$(@D,D9)”,输出当前日期与时间;Type“……$(表达式)”,在ScriptWindow中输出字符串……及表达式的值;例如:typetheresultis$(23+56);在ScriptWindow中输出的结果是theresultis79;Separatorn,输出间隔线,其中n为间隔线的个数,例如:Separator1输出的结果为:“---------------“;若要想在图形窗口的坐标系中指定位置显示信息可用下面的Label命令:Labelxy信息;在指定坐标点x,y处显示信息两个字。LabelHowareyou;在坐标系左上角显示Howareyou。利用-bn开关可给信息加上背景,n=0,无背景,n=1,阴影背景,n=2大理石色背景。如:Label–b2–a23你好!(注意背景开关应在前面)。也可以用Label命令指定x轴或y轴标,如:Label–b1–xb(yl)Time;产生一个带阴影背景的下x(左y)轴标题,其内容为Time。在最前面可加字体控制开关-f(字体名),如:-f(TimesNewRoman),设置字体为TimesNewRoman。下面的命令在指定的图形窗口中的指定位置,加上x轴标题Time,y轴标题Temp,设置字体为TimesNewRoman,字号为30号,背景为阴影;在坐标系指定位置输出信息“Howareyou?Fine,thankyou!”分两行输出,字体为Roman,字号为36号,背景为大理石色。win-agraph1;/激活图形窗口/label-f(TimesNewRoman)-b1-xbTime;/在x轴标题处输出字体为TimesNewRoman,背景为阴影,内容为Time的标题/page-sxb;/选定x轴标题/select-fs8;/设置字号增加8号(默认值为22)即为30号字/page-s;/取消选择/label-f(TimesNewRoman)-b1-ylTemp;page-syl;select-fs8;page-s;label-sa-fRom-b2-a318-nqqqHowareyou\-(10)?\r\nFine,thankyou\+(20)!;/在坐标系点x,y=3,18处分两行输出信息:Howareyou10?Fine,thankyou20!,信息框的名称为qqq/page-sqqq;select-fs14;page-s;********Copy-snpt%CDb;将选中的列插值n个点,并存于变量Db中;Data(min,max,(max-min)/(npt-1))对变量或选定的列赋值npt个点,起点为min,终点为max,增值为(max-min)/(npt-1);主要用于插值后对新值的坐标进行重新定义。六、Origin中的按钮编辑功能利用前面讲的语言规则与命令,可以在Origin中编制一个应用程序界面,以完成相应的功能。下面是利用按钮功能编制的简单程序界面:图表4-1进行按钮编辑一般按以下步骤进行:1、打开一个图形窗口或工作表格窗口,将其中的所有对象去掉(如:工作表格、坐标系等),利用工具框中的文本工具T,或形状工具产生相应的按钮基本形状,也可将一个图标或其它的图形粘贴到空白页面上。2、在编辑菜单中选择按钮编辑模式(BattonMode),选中要编辑的对象,在格式菜单中选择标签控制命令(LabelControl),打开相应的对话框,在其中输入相关的命令,设置命令执行的方式等。要想检验按钮执行的效果,必须先在编辑菜单中取消按钮编辑模式,此时被编辑的对象已转化为可执行的按钮,可通过相关的操作来执行其中的命令。下面是利用ORIGIN的LABTALK语言编写的求双波长法最佳波长对的程序用双波长分光光度法进行定量分析有很多优点:它可以进行多组分同时测定而无需解联立方程,也可以方便地校正背景吸收及吸收曲线重叠的干扰,可以进行混浊试样的分析和导数光谱的研究等。但利用双波长分光光度法进行定量分析的困难之处在于最佳波长对的选择。在Origin4.0中,利用其所带的Labtalk语言,用户可以根据需要,编写相应的程序,以达到解决Origin4.0本身未提供的某些功能的目的。下面的实例说明了如何利用Labtalk语言来选择双波长分光光度法中的最佳波长对。对于