




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、Gauss系統(tǒng)介紹目錄1 .系統(tǒng)初步2 .矩陣介紹3 .矩陣運算及其它運算4 .Gauss程序控制5 .過程與模塊化程5設計6 .文件輸入輸出7 .Gauss圖形簡介8.重要函數(shù)及語文分類參考Gauss系統(tǒng)是AptechSystems公司出品的一個矩陣語言軟件包,它可以十分方便地編制矩陣計算程序,并內(nèi)建了許多矩陣運算、概率統(tǒng)計函數(shù),還可以繪制印刷質(zhì)量的圖形。它可以在命令行交互計算,也可以編程計算,編程時具有通常的分支、循環(huán)、模塊化子程序等功能,并以矩陣為基本運算單位。利用附加的模塊可以進行經(jīng)濟財務分析、統(tǒng)計分析等等。我們主要用它來編制統(tǒng)計計算、模擬程序。它進行矩陣運算時速度很快,甚至比編譯的C
2、代碼還要快,這是因為它采用了優(yōu)化的矩陣計算內(nèi)核。Gauss系統(tǒng)有微機版本,也可以運行于工作站等高檔機型。這里以DOSGaussv2.2為例說明。系統(tǒng)初步在安裝好Gauss系統(tǒng)后,一般用一個批命令進入Gauss系統(tǒng),比如說是G0.BAT進入系統(tǒng)后,出現(xiàn)一個命令行的界面,命令提示為“”形狀。在命令提示下可以輸入Gauss語句。用Alt+H可以啟動幫助系統(tǒng),在幫助系統(tǒng)內(nèi)按H鍵后輸入問號然后回車可以得到一個幫助菜單。為了退出Gauss系統(tǒng),可以在命令行發(fā)布SYSTE喻令,或者按ESC并回答Y。Gauss的基本計算單位是矩陣。定義標量、向量、矩陣用等號賦值即可。例如,a=15.2;b1=123;b2=1
3、,2,3;c=123,456,789;name=MyfirstGaussprogram分別定義了標量a、行向量b1、列向量b2、矩陣c、字符串標量name矩陣定義中一行的元素間用空格分隔,各列用逗號分隔。字符串兩邊用雙撇號包圍,不能用單撇號。Gauss中除了字符串常量外不區(qū)分大小寫,所以變量名既可以用大寫,也可以用小寫。語句以分號結(jié)束,但在命令行界面可以省略分號。要顯示定義的變量的值,在命令行界面下只要鍵入變量名就可以顯示其值,例如顯示變量值的正規(guī)方法是使用PRINT語句,如“printc;PRINT語句可以輸出幾項,各項之間用空格分開,所以PRINT語句中如果有表達式,表達式中一定不能有空格
4、。例如:printA=ab1=blA=15.200000bl=1.00000002.00000003.0000000有一些函數(shù)可以生成常見的向量和矩陣。SEQA(start,step,length)可以產(chǎn)生從start開始,按step遞增,長度為length的等差數(shù)列列向量,如seqa(1,2,4)產(chǎn)生元素為1、3、5、7的列向量。SEQM(start,rate,length)可以產(chǎn)生從start開始,每次乘以rate的長度為length的等比數(shù)列列向量。ZEROS(n,m)產(chǎn)生n行m列的元素全為零的矩陣。ONES(n,m)產(chǎn)生n行m列的元素全為1的矩陣。RNDU(n,m產(chǎn)生n行m列的元素服從
5、(0,1)均勻分布的偽隨機數(shù)矩陣。RNDN(n,m)產(chǎn)生n行m列的元素服從標準正態(tài)分布的偽隨機數(shù)矩陣。EYE(n)產(chǎn)生n階單位陣。為了從鍵盤輸入一個矩陣,使用函數(shù)CON(n,m)其中n和m分別是要輸入的行數(shù)和列數(shù)。輸入時用空格、回車、逗號分隔輸入的數(shù)值。例如:c2=con(2,3)?1234c21.00000002.00000003.00000004.00000005.00000006.0000000要輸入字符串,一般用如“s=CONS;PRINT;的方法,其中s是用來存放輸入的字符串的變量。1.00000004.00000007.00000002.00000005.00000008.0000
6、0003.00000006.00000009.0000000矩陣可以直接進行通常的矩陣運算。例如,c1=123,456);c2=321,765);c3=c1+c2;c3;4.00000004.00000004.000000011.00000011.00000011.000000c4=12,34);c5=c4*c3;c5;26.00000026.00000026.00000056.00000056.00000056.000000矩陣X的轉(zhuǎn)置可以用X表示。兩個矩陣X和Y橫向并接用XY表示。矩陣X和Y縱向并接用X|Y表示。為了解方程AX=B,只要寫X=B/A即可,當A為滿秩方陣時即聯(lián)立線性方程組求解
7、,當A的行數(shù)大于列數(shù)時求的是最小二乘解。矩陣與標量可以進行加減乘除運算。除了可以使用命令行界面直接輸入并運行Gauss語句,我們還可以編輯一個程序文件并運行這個程序文件。可以預先編輯好一個程序文件,比如TEST.GSP里面有如下程序行:x=123);y=4,5,6);printxy;把這個文件放在Gauss的當前目錄下,在Gauss命令行用RUNTEST.GSP命令就可以運行這個程序文件。事實上,Gauss提供了一個內(nèi)建的程序編輯器,比如,在命令行用EDITTEST.GSP就可以打開TEST.GSPiiJGauss的內(nèi)部編輯器中,如果原來沒有這個文件將生成一個新文件。編輯完畢按Alt+X出現(xiàn)一
8、個選單,選W可以保存文件但不執(zhí)行,選R可以保存并運行程序,并且運行時帶有調(diào)試信息,可以顯示出錯行號。在運行了一個程序后按Ctrl+F1鍵就可以之間調(diào)入剛剛執(zhí)行的程序進行修改。矩陣介紹Gauss系統(tǒng)提供了一個完整的以矩陣為基本運算單位的程序設計語言。Gauss是一種解釋性語言,但因為它的每一個操作都是對矩陣進行的,所以運行速度很快。自己寫程序時要盡量利用矩陣運算而應避免使用循環(huán)對單個元素運算。Gauss有矩陣和字符串兩種數(shù)據(jù)類型。變量類型不需要預先說明。數(shù)據(jù)類型、元素個數(shù)、矩陣形狀可以在運行時改變。可以用DECLARE句聲明數(shù)據(jù)類型。矩陣元素允許為字符串,字符矩陣的元素最多存儲8個字符。Gaus
9、s的矩陣是按行存儲的。 矩陣元素都以IEEE8字節(jié)雙精度浮點數(shù)格式存在內(nèi)存中, 稱為“長實數(shù)”,有效位數(shù)有1516位,絕對值范圍在4.19E-307到1.67E308。Gauss計算由表達式完成。 表達式是用運算符連接起來的常數(shù)、 矩陣、 字符串、 函數(shù)或過程調(diào)用。Gauss程序由語句構(gòu)成,語句以分號結(jié)尾。上一節(jié)我們已經(jīng)看到了矩陣賦值的一些辦法。矩陣賦值還有一些靈活的方法,如:letx2,2=1234;結(jié)果得到方陣x,第一行為12,第二行為34。letx2,3=1;結(jié)果得到一個元素全為1的2行3列方陣。letx2,3;結(jié)果得到一個元素全為0的2行3列方陣。LET語句用來對矩陣賦值,但右邊只能是
10、一些常數(shù)而不能是計算表達式。為了計算,省略LET并用和|連接行列,例如:x=(1/3)(1+1/4)|34;用RESHAPE數(shù)可以改變一個矩陣的形狀。例如,x=reshape(seqa(1,1,12),3,4);把原始的列向量改成了3行4列矩陣:1.00000002.00000003.00000004.00000005.00000006.00000007.00000008.00000009.000000010.00000011.00000012.000000可以很方便地得到矩陣的子陣。例如,x2,3為第2行第三列元素,x1,.為x的第一行,x.,2為x的第二列,x13,24為x的第1、3行和第
11、2、4列組成的子陣(注意方括號中不允許有多余的空格):x13,24;2.00000004.000000010.00000012.000000下標可以用冒號表示一個范圍,比如x13,2:4;2.00000003.00000004.000000010.00000011.00000012.000000矩陣運算及其它運算Gauss提供了豐富的運算符來進行矩陣運算和字符串操作。 矩陣運算除了一般線性代數(shù)中的運算外還有一些針對元素的運算,為此定義兩個矩陣X和Y是元素匹配(ExEconformable)的,如果X和Y為圖1情況之一。mXnmXn1X1mXn1IXnmXnmXlmXlnr:n1X1mXnIXn
12、mXnmXlmXnIXnml元素運算為對應行、項匹配運算,例如:列元素的運算,如果行、列中只有一項是匹配的則只對這一3、(10十6)(011423166,123、456、+3=456)789)上面的各運算交換后仍是匹配的Gauss的矩陣運算包括:+加法。要求兩矩陣元素匹配。一減法。要求兩矩陣元素匹配。*矩陣乘法或數(shù)乘。要求為mXk陣乘以kXn陣,或者兩矩陣之一為標量。/標量除或解線性方程組或最小二乘。x=b/A中如果A和b均為標量則為標量除法;如果A和b之一為標量則x為元素與標量分別相處得到的矩陣。如果A為方陣,b為與A階數(shù)相同的列向量,則b/A用三角分解方法解線性方程組Ax=b。如果A非方陣
13、,與b行數(shù)相同,則求最小二乘解工=(月月)匕。%求余數(shù)運算。要求兩矩陣元素匹配。對非整數(shù)先四舍五入。!階乘。比如y=x!對x的每個元素求階乘。非整數(shù)先四舍五入。.*元素間乘積。要求兩矩陣元素匹配。./元素問相除。要求兩矩陣元素匹配。A元素問乘方。當?shù)讛?shù)為負數(shù)時指數(shù)必須取整數(shù)。A與“A”等價。.*.Kronecker積。z=x.*.y使x的每個元素的位置擴大為此元素乘以y的結(jié)果。比如681012、91416181816202427283236,*水平直積。計算x*y,x與y必須有相同行數(shù),結(jié)果行數(shù)不變而列數(shù)為x的列數(shù)與y的列數(shù)的乘積。比如+(101112)=1114(3)(10、_79廠1281
14、524轉(zhuǎn)置。x為x的轉(zhuǎn)置水平連接。比如一Gauss提供的比較運算符包括:.=或.EQ兩矩陣元素問相等的比較,要求兩矩陣元素相配,比較結(jié)果為元素取01值的矩陣。./=或.NE或.$/=兩矩陣元素間不等的比較。.或.LT或.$兩矩陣元素問小于關系比較。.=或.LE或.$二兩矩陣元素問小于等于關系比較。.或.GT或.$G兩矩陣元素問大于關系比較。.=或.GE或.$=兩矩陣元素問大于等于關系比較。如果上面的比較算符中沒有點則比較結(jié)果為標量結(jié)果,用于比較兩個標量,如果比較兩個矩陣,則元素間所有比較結(jié)果都為真時才為真,否則為假。Gauss提供的邏輯運算符有:NOTxx的否。xANDyx和y都成立時才為真。
15、xORyx和y只要有一個為真則結(jié)果為真。xXORyx和y的異或。xEQVyx和y的等價。上面的邏輯運算為標量運算,x和y應為標量。邏輯運算也可以在兩個矩陣的元素之間進行,只要在運算符前加點,如.AND,.OR。其它運算符還有:賦值:如y=x1;逗號:用作分隔符,比如clearx,y,z;y=x3,56、8J121624101212832,|垂直連接。比如y=momentd(x,d);句點:在下標處代表“所有行”或“所有列”,例如y=x.,5;/*表示x的第5列所有行的元素組成的列向量*/空格:用來分開下標,例如:y=x135,37;冒號:在下標處表示連續(xù)的下標范圍,如:y=x1:5,.;/*x
16、的第一到第五行*/&:取過程指針。$+:字符串連接。x$+y當x是字符串時結(jié)果為x和y連接的結(jié)果,當x是字符矩陣時結(jié)果為連接的字符矩陣。A:字符串宏替換。例如:dset=olsdat;vnames=age,pay,sex;createfl=AdsetwithAvname,0,2;結(jié)果等效于在create語句中直接寫入字符串變量的值。Gauss程序控制由于采用了矩陣作為基本運算單元,所以Gauss程序經(jīng)常用順序結(jié)構(gòu)就可以完成任務。比如,要解方程組2A+3j=93彳+77=11只要用以下四個語句:A=23,37;b=9,11;x=b/A;printx;結(jié)果得到:6.0000000-1.000000
17、0但是,對于比較復雜的問題,我們不可避免地要使用分支、循環(huán)等運算結(jié)構(gòu)。Gauss提供了這些程序控制結(jié)構(gòu),但是我們再次提醒讀者,Gauss是一個基于矩陣的語言,我們應該盡可能基于矩陣運算去實現(xiàn)算法。Gauss分支結(jié)構(gòu)使用IF-ELSEIF-ELSE-ENDIF結(jié)構(gòu),格式為:IF標量表達式;,(語句組)ELSEIF標量表達式;,(語句組)ELSE;,(語句組)ENDIF;其中各判斷條件應為標量表達式,不允許是矩陣。標量值為非零時表示真值,為零時表示假值。“語句組”可以是一個或多個語句,每個語句以分號結(jié)尾。注意Gauss的IF結(jié)構(gòu)不使用THEN1鍵字。Gauss的循環(huán)結(jié)構(gòu)為DOWHILff口DOUN
18、TIM構(gòu),沒有計次循環(huán)結(jié)構(gòu)。格式為:DOWHILE標量表達式;,(語句組)ENDO;和DOUNTIL標量表達式;,(語句組)ENDO;要注意其結(jié)束語句是ENDO5不是ENDD。 為了從循環(huán)中退出可以用BREA廨句在循環(huán)中執(zhí)行CONTINUE1句可以忽略循環(huán)體內(nèi)后面的語句而返回到判斷條件處繼續(xù)執(zhí)行。Gauss也提供了GOTO1句,格式為:“GOTCB號;,其中標號為一個普通的Gauss名字,在定義時尾隨一個冒號,引用時不寫冒號,例如:gotoerrout;errout:JJJGauss可以在程序中加注釋,用/*和*/包圍,或用同口圍起來。Gauss的符號名(變量名、過程名、標號名等)要求由字母、
19、數(shù)字、下劃線組成,第一個字符只能是字母或下劃線,最多8個字符。為了在程序運行時提供調(diào)試信息,可以在程序文件開頭加上一個#lineson;語句。這樣出錯時可以顯示出錯的行號。過程與模塊化程序設計作為一個程序設計語言Gauss也提供了模塊化的過程,可以實現(xiàn)模塊化程序設計。過程中可以使用局部變量,也可以引用外部的全局變量,并可以遞歸調(diào)用。Gauss使用用戶自己編寫的過程與使用內(nèi)部過程一樣方便。Gauss提供了一種單行函數(shù)定義可以很方便地把一個公式定義為一個函數(shù),例如:fnarea(r)=2*pi*r*r;定義了面積函數(shù),調(diào)用時只要用如a=area(4);”。過程可以使用復雜的程序邏輯,可以返回零到多
20、個值,定義格式如下:PROCK返回值個數(shù)過程名K(參數(shù)1,參數(shù)2,一參數(shù)N)2;LOCAL語句;,(語句組)RETPK(表達式1,一表達式N)2ENDP;其中O內(nèi)的內(nèi)容表示是可選的。當返回值個數(shù)為1個時可以省略=”的說明。當沒有參數(shù)時可以省略括號。沒有返回值時要說明“回值個數(shù)為0,可以省略RETP句。過程的調(diào)用格式為:(返回值1,一返回值N=過程名K(參數(shù)1,參數(shù)2,一參婁或CALL過程名K(參數(shù)1,參數(shù)2,一參數(shù)N)2;使用CALL語句時無返回值或者忽略返回值。例如,下面的過程計算回歸分析:/*regress* *Input:* *x-designmatrix* *y-dependentva
21、riable* *Output:* *b-regressioncoefficients* *sdstandarddeviation* *t-tvariableforeverycoefficient*/PROC(3)=regress(x,y);LOCALxxi,b,ymxb,sse,sd,t;xxi=invpd(xx);b=xxi*(xy);ymxb=y-x*b;sse=ymxb*ymxb/(rows(x)-cols(x);“返回值個數(shù)(0)=”即返N)2sd=sqrt(diag(sse*xxi);t=b./sd;retp(b,sd,t);ENDP;調(diào)用可用如b,sd,t=regress(x,y
22、);或callregress(x,y);使用CALL調(diào)用時忽略返回值。在過程內(nèi)使用的變量是局部變量,必須用LOCALSg句說明,對變量不必說明類型,對過程名應說明為PROC單行函數(shù)說明為FN,例如:localsx,y,f:proc,g:fn;其中x,y是變量,f是過程,g是單行函數(shù)。過程內(nèi)可以使用全局變量, 有兩種全局變量, 一種是所有在主程序中使用的變量(即在所有過程外部定義的變量),例如:g_x=1;callsub1;proc(0)=sub1;printinsub1;printglobalg_x=g_x;endp;結(jié)果為:insub1globalg_x=1.0000000我們注意到,這種用
23、法很方便,但是也不利于程序調(diào)試(數(shù)據(jù)隱藏不夠)。使用Gauss變較大的程序可能出現(xiàn)的一個問題就是在過程中無意中使用了主程序中的變量名而造成不易發(fā)現(xiàn)的錯誤。另一種全局變量在過程中使用DECLARE旬來聲明,聲明的變量可以在其它過程中使用。例如:callsubl;proc(0)=sub1;declareg_x!=0;g_x=1;callsub2;endp;proc(0)=sub2;printinsub2;printglobalg_x=g_x;endp;DECLARE句中的!=表示賦初值,并且不論變量是否已初始化。如果改成?=則表示原來未初始化則按給定值初始化,如果已經(jīng)初始化則不動。如果改成=則表示
24、如果未初始化則初始化,如果已初始化則為重復定義錯誤。不寫初值表示=0初始化。過程也可以作為參數(shù)傳遞給另一個過程,例如我們有一個二分法解方程的過程binsolv:procbinsolv(&f,a,b,ascend);/*f(x)是一個單調(diào)函數(shù),*f(a)和f(b)符號相反,*ascend=1表示增函數(shù),*=0表示減函數(shù)*解c應該在a和b之間* *返回解.*/localf:proc,a,b,ascend;localc,tol;tol=1E-6;if(ascend);dountil(b-a0);/*x應該在c的左邊*/b=c;else;a=c;endif;endo;else;dountil(b-a0
25、);/*x應該在c的右邊*/a=c;else;b=c;endif;endo;endif;retp(c);endp;例如,我們要求函數(shù)f(x)=xA2在0到5之間的解,可以用如下程序(寫在上面的程序上面,或把上面的過程單獨存為文件BINSOLV.CM在GAUS的搜索路徑中x=binsolv(&xsq,0,5,1);printx;end;procxsq(x);retp(xA2-1);endp;但是,實際中我們要求解的函數(shù)經(jīng)常是不止一個參數(shù)的,比如我們想利用t分布的分布函數(shù)來求t分布的分位數(shù),但t分布函數(shù)有第二個參數(shù)即自由度。這樣的問題需要定義一個輔助函數(shù),這個輔助函數(shù)只有一個自變量,自由度通過全局
26、變量來傳送。例如,下面的程序演示了如何調(diào)用binsolv過程編寫一個求t分布分位數(shù)的過程以及示例:q=con(1,1);x=tinv(q,10);printtinvqx;end;proctinv(q,n);/*tinv計算n個自由度的t分布的q分位數(shù)*/declaretinv_n!=0;declaretinv_q1!=0;tinv_n=n;tinv_q1=1-q;retp(binsolv(&futil,-10,10,0);endp;procfutil(x);retp(cdftc(x,tinv_n)-tinv_q1);endp;其中定義了輔助性的函數(shù)futil,它依賴于函數(shù)tinv中定義的兩個全
27、局變量tinv_n和tinv_q1。因為Gauss中沒有給t分布函數(shù)而只是給了t分布的尾概率函加(即1減分布函數(shù)),所以我們在futil中給的方程是解尾概率等于1q,甚至可以把過程指針組合成一個向量,例如:procvev=&f1&f2&f3f4;procg(x,i);localf;f=procveci;localf:proc;retp(f(x);endp;Gauss提供了很方便的模塊化功能,其中一種是可以把一個過程放在一個單獨的與過程同名并用.G作為擴展名的文件中,則程序執(zhí)行時如果找不到某個過程自動查找與過程同名的.G文件。可以定義一個GAUSSPATH境變量來設置從哪些地方尋找過程。還可以把
28、多個過程組合為一個“庫文件”,一般為.ARC文件,并在一個.L舊文件中加以說明,可以參考Gauss系統(tǒng)附帶的gauss.lib等文件。Gauss可以把程序編譯成字節(jié)碼形式以加速運行。在命令行狀態(tài)用COMPILES:n名;命令可以把一個文件中的程序編譯為字節(jié)碼,結(jié)果存在“文件名.GCC(Gaussv2.1)或“文件名.G32(Gaussv2.2)中。文件輸入輸出Gauss可以很容易地讀寫文本文件,也可以使用專用二進制格式的Gauss數(shù)據(jù)集。這里我們只講文本文件的讀寫。可以用LOADS旬讀入一個用空格或逗號分隔數(shù)據(jù)項的文本文件,格式為:LOAD向量名=文件名;或LOAD矩陣名行數(shù),列數(shù)=文件名;第
29、一種格式讀入所有數(shù)據(jù)到一個向量,適用于未知數(shù)據(jù)個數(shù)的情況,第二種格式讀入給定的行、列數(shù)的數(shù)據(jù)項到一個矩陣。例如:file1=c:gaussdat1.txt;loadx=Afile1;n=rows(x)/5;ifint(n)eqn;x=reshape(x,n,5);elses;errorlogReadError;end;endif;上程序從一個文件中讀入一個5列的矩陣,行數(shù)未知。注意文件名是直接寫的,比如讀入當前目錄下的dat2.txt只要用:loadx=dat2.txt;所以如果文件名存在變量中就要使用宏替換。 文件名字符串中的反斜杠要用兩個。ERRORLOG句在錯誤記錄文件中寫入一個字符串。
30、END語句結(jié)束程序運行。如果已知行數(shù),則可以用如:loadx100,5=dat2.txt;在一個文件中可以放置多個項,比如,我們在文件“dat3.txt”中放置了樣本個數(shù)n、n行3列個樣本觀測、檢驗水平alpha,就可以用如下程序分別讀入:loadinf=dat3.txt;n=inf1;x=reshape(inf2:3*n+1,n,3);alpha=inf3*n+2;printnxalpha;要寫一個文本文件也很簡單,只要用OUTPUTFILE文件名RESET;語句就可以打開一個文件并從頭開始寫,這時用PRINT語句輸出的結(jié)果在顯示到屏幕的同時被輸出到指定的文件。如果上面的RESETS為ON則
31、輸出是附加在指定文件末尾。為了關閉屏幕輸出,用SCREENOFF;語句。再打開用“SCREENON句。也可以暫時關閉文件輸出,用:OUTPUTOFF;語句。恢復用“OUTPUTON語句。Gauss圖形簡介Gauss系統(tǒng)有很好的圖形功能,可以繪制印刷質(zhì)量的圖形,可以直接打印?或存為HP-GL格式文件。可以精確規(guī)定圖形區(qū)域大小?可以分窗口顯示。在使用繪圖過程之前要加兩個語句:librarypgraph;graphset;為了畫連線圖,使用XY(x,y);例如x=seqa(0,1,101)*2*pi/100;y=(sin(x)+1)A2;xy(x,y);圖形函數(shù)包括:BAR條形圖DRAWffi全局變
32、量控制繪圖HIST直方圖HISTP百分比直方圖HISTF由頻度向量畫直方圖LOGLOG5個坐標軸都用對數(shù)刻度的二維圖LOGX只有X軸用對數(shù)刻度的二維圖LOGY只有Y軸用對數(shù)刻度的二維圖POLARft坐標系作圖SURFACE面圖XY二維圖(散點或曲線)XYZ三維(曲線)圖重要函數(shù)及語句分類參考1 .數(shù)學函數(shù)一、一般函數(shù)ABSSQRTEXPL.N自然對數(shù))LOG(x)(常用對數(shù))PISINCOSTANARCSINARCCOSATANATAN2SINHCOSHTANHBESSELJ第一類Bessel函數(shù))BESSSEL.Y第二類Bessel函數(shù))GAMMALNFACT(X)=LN(X!)二、微積分y
33、)dydxJa 期必INTQUAD2HINTQUAD3=INTSIMP(用Simpson方法積分)三、線性代數(shù)1,特征值分解EIGCGEIGCG2EIGCHEIGCH2EIGRGEIGRG2EIGRSEIGRS2其中字母C代表復數(shù),R代表實數(shù),G表示通用,H表示Hermitian,S表小對稱,2表小加算特征向量。2 .矩陣分解CHOLCholesky分解,對正定陣x0分解x=yy,y為上三角陣CROUTCROUTPA=LUL為上三角,U為下三角且主對角線元素都為1QRQR1,QR2:A=QRQ正交(酉),R為非奇異上三角SVDSVD1,SVD2:奇異值分解NULLNULL1,ORTHORTHG
34、S正交基計算INV,INVPD(用于對稱正定陣):求逆SOLPD解Ax=b,A0GRADP=7HESSP=1助產(chǎn)式7MINTGRAT3=f(x.y,z)dzdydxINTGRAT/:解線性方程組或求最小二乘DETDETL(已進行矩陣分解后用),COND行列式,條件數(shù)四、多項式運算POLYROO俅復根POLYEVAL計算多項式的函數(shù)值POLYMAKE根據(jù)多項式的實根求系數(shù)POLYMULT多項式乘法POLYINT多項式差值POLYMAT返回各階幕次的值POLYCHA耐征多項式五、Fourier變換CFFTCFFTI,DCFFTDCFFTI,FFT,FFTI:帶I表示反變換,帶C表示復數(shù)序列輸入,帶
35、D表示不用快速Fourier變換。六、復數(shù)運算COMPLEXCOMPLEX2實型轉(zhuǎn)復型REALIMAG:取實部、虛部CMTRAN即腕轉(zhuǎn)置CMADDCMSUBCMMULTCMDIV復矩陣力口減乘除CMINV復矩陣求逆CMSOLN解復線性方程組七、統(tǒng)計函數(shù)MEANCMEDIANSTDC列均值、中位數(shù)、標準差MOMENT,VCXVCMCORRMCORRVCCORRX計算矩陣的叉積陣、協(xié)方差陣、相關陣MOMENTDOLS,OLSQROLSQR2計算數(shù)據(jù)集的回歸八、統(tǒng)計分布CDFN(正態(tài)),CDFNC(正態(tài)上側(cè)),CDFBVN(二維正態(tài)),CDFTVN(三維正態(tài))CDFTCt上側(cè)),CDFTNC非中心t
36、),CDFCHIC尤上側(cè))(非中心人)CDFFCCF上側(cè)),CDFFNC(非中心F)CDFGAMCDFBETAGammOb布和Beta分布函數(shù)九、序列SEQA(算術(shù)級數(shù)),SEQM(幾何級數(shù))RECSERCPt乘運算的遞歸序列),RECSERRC有除運算的遞歸序列)RECSERAR自回歸遞歸序列),十、精度控制BASE10(科學科學記數(shù)法),CEIL,FLOORROUNDTRUNCPRCSN矩陣操作一、矩陣生成EDITM(矩陣鍵盤錄入),LET(矩陣賦值)EYE(單位陣),ONES(全1矩陣),ZEROS(全零矩陣)二、讀/寫矩陣LOADD讀入數(shù)據(jù)集),LOAD或LOADM讀入文本文件或矩陣文
37、件中數(shù)據(jù))PDFN(標準正態(tài)密度),ERF(為,ERFC(=1ERF,CDFCHINC2.SAVE(保存矩陣、過程等),SAVED(存入數(shù)據(jù)集)三、大小、序、范圍ROWSCOLS求矩陣行數(shù)、列數(shù)ROWSFCOLSF求打開的數(shù)據(jù)集的行、列數(shù)MAXCMAXINDCMINC,MININDC每列最大值,最大值所在行號,最小值及所在行SUMCPRODC列的和、積CUMSUMCCUMPRODC的累力口、累乘RANKINDXO量排序的秩得分向量COUNT駒量落入各區(qū)間的頻數(shù)COUNTWTS權(quán)重的頻數(shù)INDEXCATO量值落入某區(qū)間的下標集合四、其他矩陣操作SUBMA女行、列取出子矩陣RESHAPE已有矩陣產(chǎn)
38、生形狀(行、列數(shù))不同的矩陣DELIF有條件地刪去矩陣的某些行SELIF有條件地保留行TRIMR去掉矩陣頂、底的若干行EXCTSMPr生數(shù)據(jù)集的有放回的隨機子樣VEC矩陣按列拉直VECR矩陣按行拉直VECH對稱陣上三角的行拉直XPND向量還原成對稱陣DIAG取矩陣主對角線DIAGRV替換矩陣主對角線LOWMATUPMATLOWMAT1UPMAT1從矩陣中取出下/上三角陣 (其它處填0) ,帶1時主對角線置1UNION向量并(兩向量中元素的并集)INTERSEC位集SETDIF差集REV矩陣行次序顛倒ROTATER亍中元素推移排列(旋轉(zhuǎn))SHIFTR行元素左右平移并以規(guī)定值填充空出的位置3 .數(shù)
39、據(jù)管理一、數(shù)據(jù)集LOADD賣入小的數(shù)據(jù)集SAVED存小的數(shù)據(jù)集用ATOG.EX匿序轉(zhuǎn)換大的數(shù)據(jù)文件CREATED成并打開數(shù)據(jù)集OPEN打開已有數(shù)據(jù)集READR讀入一些行WRITER寫出一些行SEEKR定位于數(shù)據(jù)集某行EOF判斷是否數(shù)據(jù)集末尾TYPEF判斷數(shù)據(jù)集數(shù)據(jù)類型(2,4或8字節(jié))CLOSECLOSEALL關閉數(shù)據(jù)集二、數(shù)據(jù)集的變量名GETNAM找到數(shù)據(jù)集中所有變量(列)的名字INDICES數(shù)據(jù)集的列號與變量名互求INDICES2類似INDICES但區(qū)分自變量與因變量VARTYPPE由變量名決定數(shù)值型 (1)還是字符型(0),數(shù)值型變量用大寫名字,字符型變量用小寫名字SETVARSE數(shù)據(jù)集
40、中所有變量名引入并賦標量零MAKEVARSl數(shù)據(jù)集中取出列成為向量MERGEVARS列向量并成大的矩陣INDCV從某字符向量找出某些短字符串的位置(下標)INDNV從數(shù)值型向量中找出某些數(shù)的位置三、數(shù)據(jù)變換CODE一系列判斷條件把向量內(nèi)的數(shù)據(jù)離散化(變成分級數(shù)據(jù))RECODE類似CODE但若每一條件都不滿足時原數(shù)據(jù)值不變SUBSCATffl上升的分組區(qū)間來離散化向量的值SUBSTUTEWRECODE似但對矩陣進行ISMISS判斷一個矩陣內(nèi)有無缺失值SCALMISS判斷一標量是否取缺失值MISS把給定值換成缺失值MISSRV把缺失值換成給定值MISSEX按判斷條件決定缺失值PACKR刪除包含缺失
41、值的行MSYM確定缺失值的打印符號DUMMYDUMMYBRDUMMYD曲整值列向量生成01設計陣,每個數(shù)對應1所在的列號四、排序與合并SORTC巨陣按數(shù)值列排序SORTHC法排序SORTIND按數(shù)值向量排序后的序號向量SSORTCCSORTHCCS陣按字符列排序SORTINDC字符向量的排序序號向量SORTMC巨陣按多個列排序(數(shù)字、字符型)UNIQUE從向量中刪除重復項UNIQINDX向量排序后無重復的序號,數(shù)值型、字符型均可INTRLEAVE兩個小的按同一變量排好序的數(shù)據(jù)集行交疊地組成大的有序數(shù)據(jù)集MERGEBY個小的有同一變量且按此變量排好序的數(shù)據(jù)集行并接得到的大的數(shù)據(jù)集4 .程序控制一、開始及結(jié)束ENDPAUSE(暫停指定的時間),RUNSTOPSYSTEM(退出至UDOSEND(停止運行并關閉所有打開的文件,STOP不關閉)二、分支IF,ELSEIF,ELSE,ENDIFGOTOPOP(彈出GOT*變量)三、循環(huán)DOWHILE,ENDODOUNTIL,ENDOBREAKCONTINUE四、子程序GOSUBPOP(彈出GOSUB參數(shù)),RETURN五、過程PROCLOCALRE
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司對相關方管理制度
- 浪潮項目風管安裝技術(shù)交底
- LDHs對鉛鋅礦尾礦重金屬污染土壤鈍化效果研究
- 2025標準設備采購合同范本版本
- 河南省信陽市二校聯(lián)考2024~2025學年 高三下冊5月第一次測試數(shù)學試卷附解析
- 2025年中考語文(長沙用)課件:專題4 文學作品閱讀
- 安徽省安慶市2024-2025學年高二下冊期中考試數(shù)學試卷
- 受眾需求分析模型構(gòu)建-洞察闡釋
- 2024年陜西延安“優(yōu)師計劃地方專項”師范畢業(yè)生招聘真題
- 2024年嘉興桐鄉(xiāng)市教育系統(tǒng)招聘教師真題
- 2025山東濟南先行投資集團有限責任公司及權(quán)屬公司社會招聘169人筆試參考題庫附帶答案詳解
- GA 1812.2-2024銀行系統(tǒng)反恐怖防范要求第2部分:數(shù)據(jù)中心
- 合同簽訂培訓課件
- 2024《整治形式主義為基層減負若干規(guī)定》全文課件
- 【絕對實用】食堂庫房檢查記錄表
- 人民幣發(fā)展史
- 學校食品安全檔案管理制度
- 《普通話培訓》.完整版PPT資料課件
- 水工鋼筋混凝土課程設計doc
- 市政工程預算(道路工程).PPT
- 電梯維保人員獎懲規(guī)章制度
評論
0/150
提交評論