SAS矩陣運算語言(IML)_第1頁
SAS矩陣運算語言(IML)_第2頁
SAS矩陣運算語言(IML)_第3頁
SAS矩陣運算語言(IML)_第4頁
SAS矩陣運算語言(IML)_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、SAS矩陣運算語言(IML)1. IML中矩陣運算的基礎知識IML內容概述矩陣的命名矩陣的創(chuàng)建矩陣的運算矩陣下標的使用1.1 IML內容概述在SAS系統中,矩陣的操作與運算功能由IML(interactive matrix language)模塊來實現。SAS/IML是SAS系統一個非常重要的模塊,它有著一套強大、靈活的運算語言。在IML的環(huán)境下不但可以進行矩陣的各種運算,而且還可以與DATA步一起使用實現各種復雜的計算和操作功能。在IML中,可以通過矩陣語言直接讀取外部文件,并把此文件寫成矩陣的格式,從而進行矩陣運算;也可以直接讀取SAS數據集,并把此數據集寫成矩陣的格式進行矩陣運算。1.2

2、 矩陣的命名1.2 矩陣的命名1.3 矩陣的創(chuàng)建在IML中創(chuàng)建矩陣的方式有三種:一種方法是直接輸入創(chuàng)建矩陣;另一種是利用IML中的函數來產生矩陣;第三種是在IML的環(huán)境中把外部文件或SAS數據集轉換成矩陣。1.3.1 直接輸入法創(chuàng)建矩陣在進行矩陣操作時,直接輸入法主要用來創(chuàng)建比較簡單的矩陣。創(chuàng)建方法是將矩陣名稱和它所要包含的元素以等號連接起來,等號左邊為要創(chuàng)建的矩陣名稱,等號右邊為矩陣所要包含的元素。矩陣的元素一般情況下需要用大括號“”括起來。1.3.1 直接輸入法創(chuàng)建矩陣1.創(chuàng)建標量1.3.1 直接輸入法創(chuàng)建矩陣2.創(chuàng)建多元素的數值型矩陣當創(chuàng)建的數值型矩陣只包含一個元素時,創(chuàng)建方法就是上述標

3、量的創(chuàng)建方法。當矩陣包含多個元素時,要用大括號“”把等號右邊的元素括起來,并用逗號“,”來分隔矩陣的行。1.3.2 利用函數創(chuàng)建矩陣1.BLOCK函數此函數的功能是根據給定的矩陣(須是方陣)來產生一個對角塊矩陣。格式:BLOCK(matrix1,matrix2,Matrix15)1.3.2 利用函數創(chuàng)建矩陣2. I函數此函數的功能是產生一個單位陣,即對角線上的元素為1,其余元素都為0。格式:I(dimension):”dimension”為具體數字,表示方陣的階數。1.3.2 利用函數創(chuàng)建矩陣3. J函數此函數的功能是根據給定的行數和列數重復產生矩陣中的某一元素。格式:J(nrow,ncol,

4、value)這里nrow為創(chuàng)建后矩陣的行數,ncol為創(chuàng)建后矩陣的列數,value為需要產生重復的元素。如果沒有指定ncol的值,系統默認值為ncol=nrow,即取矩陣的列數等于其行數。如果沒有指定value的值,系統默認此值為1。1.3.2 利用函數創(chuàng)建矩陣3. J函數1.3.2 利用函數創(chuàng)建矩陣4. DO函數此函數功能是根據指定的下界值、上界值以及增量來產生一個行向量。格式:DO(start,stop,increment)Start為下界值,stop為上界值,increment為增量。1.4 矩陣的運算IML中的運算符前綴運算符前綴運算符之指位于操作數前面的運算符,包括“+”、“-”等。

5、例如“-A”中的負號就稱為前綴運算符,代表對矩陣A中所有的元素取負。中間運算符中間運算符是指位于操作數之前的運算符,包括“+、-、*、*、#、#、=”等。例如“A+B”中間的加號,表示矩陣A中的元素加上矩陣B中對應的元素。后綴運算符后綴運算符是指位于操作數后面的運算符。例如“A”中的“”表示對矩陣A求轉置。1.4 矩陣的運算2. IML中的矩陣運算1.4 矩陣的運算矩陣運算實例1.5 矩陣下標的使用在IML中,下標的運用在矩陣的運算中占有非常重要的地位,它的使用更能體現IML語言的靈活與便捷。下標在使用時需要置于中括號“ ”之中。格式:operandrow,column;operand為矩陣名

6、字,也可以是一個表達式。row為行下標,一般為數字或表達式,用以選擇矩陣的行。column為列下標,為數字或表達式,用以選擇矩陣的列。1.5 矩陣下標的使用1. 選定矩陣的單個元素使用行、列下標定位例如:A=4 5,6 7,8 9;B=A2,1;B表示取A第二行第一列的元素。只使用一個下標定位例如:A=4 5,6 7,8 9;B=A5;B表示從左到右逐行數,取矩陣A中的第五個(即第3行第1列)元素。1.5 矩陣下標的使用2.選定矩陣的整行元素在選定已知矩陣的某一整行元素時,只指定格式中行數的值,而不指定列數的值,表示選擇指定行中的所有元素。例如:A=4 5,6 7,8 9;B=A2, ;這里B

7、表示取矩陣A第二行所有的元素組成的矩陣。3.選定矩陣的整列元素在選定已知矩陣的某一整列元素時,只指定列值,而不指定行值。例如: A=4 5,6 7,8 9;B=A ,2;這里B表示去矩陣A第二列所有元素組成的矩陣。1.5 矩陣下標的使用4.選定矩陣的子矩陣選定矩陣的子矩陣是指運用下標的功能從已知的矩陣中選擇以部分元素,使這些元素重新組成一個矩陣。1.5 矩陣下標的使用5.改變矩陣的內容可以運用下標來修改已知矩陣中的單個元素、整行、整列元素或子矩陣。這里被改矩陣的表達式放在等號的左邊,中括號中用下標指定需要修改元素的位置,修改的目標數值或子矩陣放在等號的右邊。1.5 矩陣下標的使用5.改變矩陣的

8、內容矩陣下標還可以用來進行矩陣的計算,這時“row”與“column”被指定為運算符。常見的矩陣下標運算符有8種。1.5 矩陣下標的使用2 IML程序設計語言IML具有特定的程序設計環(huán)境,包含許多其他SAS模塊所不具有特點。在IML環(huán)境下,可以通過特定語句來控制整個程序的執(zhí)行。IF-THEN/ELSE語句模塊的定義與實施DOEND語句跳轉(JUMPING)語句停止語句IF-THEN/ELSE語句一般格式IF 表達式 THEN 語句1;ELSE 語句2;首先用IF引出一個表達式,然后對它的內容進行檢測,加入檢測結果為真,就執(zhí)行THEN后的語句1;加入檢測的結果為假,則執(zhí)行ELSE后的語句2。在I

9、F-THEN/ELSE語句中,可以使用嵌套的形式來進行多次假設。模塊的定義與實施在IML中,模塊(Modules)是一個新的名詞,主要用于:在一個完成的程序中,創(chuàng)建一組語句,使之作為一個單位,方便其他語句的調用。更確切的說,就是在IML中產生一個子程序或函數。在IML中,創(chuàng)建一個單獨的編程環(huán)境,即產生一個模塊。在這個模塊中定義變量,使這些變量的功能只限于這個模塊中。模塊的定義與實施模塊也被稱為函數或子程序,它以START語句開始,以FINISH語句結束。當模塊里只有一個參數時,就被稱為函數(不同于IML自身函數,模塊中的函數為自定義函數),可以像IML自身的函數一樣被調用;當模塊里的參數超過一

10、個時,就被稱為子程序。在IML中,當調用一個函數時,直接指定這個函數的名字即可;當調用子程序時,就必須通過CALL語句或RUN語句才能實現。模塊的定義與實施DPS簡介DPS簡介DPS是目前國內唯一一款可在功能上替代國外大型統計軟件(如SAS、SPSS)、價格上適合于國內用戶的具自主知識產權、技術上達到國際先進水平的國產多功能統計分析軟件。 完善的統計分析功能涵蓋了所有統計分析內容,是目前國內統計分析功能最全軟件包。DPS的一般線性模型(GLM)可以處理各種類型試驗設計方差分析,特別是一些用SPSS菜單操作解決不了、用SAS編程很難折騰的多因素裂區(qū)混雜設計、格子設計等方差分析問題,用DPS菜單操作可輕松搞

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論