上机实验7矩阵的操作.docx

上传人:b****6 文档编号:6263006 上传时间:2023-01-04 格式:DOCX 页数:15 大小:32.59KB
下载 相关 举报
上机实验7矩阵的操作.docx_第1页
第1页 / 共15页
上机实验7矩阵的操作.docx_第2页
第2页 / 共15页
上机实验7矩阵的操作.docx_第3页
第3页 / 共15页
上机实验7矩阵的操作.docx_第4页
第4页 / 共15页
上机实验7矩阵的操作.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

上机实验7矩阵的操作.docx

《上机实验7矩阵的操作.docx》由会员分享,可在线阅读,更多相关《上机实验7矩阵的操作.docx(15页珍藏版)》请在冰豆网上搜索。

上机实验7矩阵的操作.docx

上机实验7矩阵的操作

上机实验矩阵语言简介

工作文件的创建、打开、选择、统计、保存:

Wfcreatewfopenwfselectwfstatswfsave

标量、列向量、矩阵、对称矩阵的操作基本类似。

创建/声明、数据输入、查看、处理

1.标量ScalarDeclaration

scalardeclarescalarobject.

Todeclareascalarobject,usethekeywordscalar,followedbyaname,an"="signandascalarexpressionorvalue.

ScalarViews

labellabelview.

sheetspreadsheet.

ScalarDataMembers

Stringvalues

@descriptionstringcontainingtheScalarobject'sdescription(ifavailable).

@detailedtypestringwiththeobjecttype:

"SCALAR".

@displaynamestringcontainingtheScalarobject'sdisplayname.IftheScalarhasnodisplaynameset,thenameisreturned.

@namestringcontainingtheScalarobject'sname.

@remarksstringcontainingtheScalarobject'sremarks(ifavailable).

@sourcestringcontainingtheScalarobject'ssource(ifavailable).

@typestringwiththeobjecttype:

"SCALAR".

@unitsstringcontainingtheScalarobject'sunitsdescription(ifavailable).

@updatetimestringrepresentationofthetimeanddateatwhichtheScalarwaslastupdated.

ScalarExamples

Youcandeclareascalarandexamineitscontentsinthestatusline:

scalarpi=3.14159定义pi=3114159

scalarshape=beta(7)

showshape

oryoucandeclareascalaranduseitinanexpression:

scalarinner=@transpose(mydata)*mydata

seriesx=1/@sqrt(inner)*y

作用:

提取序列的描述性统计量、提取回归结果的统计量,用于新的计算。

回归统计函数是从一个指定的回归方程返回一个数。

调用方法:

方程名后再接@函数。

如EQ1.@DW,则返回EQ1方程的D-W统计量。

如果在函数前不使用方程名,则返回当前估计方程的统计量。

2.向量

列向量对象vector、行向量对象rowvector、系数向量对象coeff

vectorvect创建或定义了一个一维且取值为0的列向量vect

vector(n)vect创建或定义一个n维且取值为0的列向量vect

vect.fill1,3,5,7,9定义了分量的值

Vector(3)v

V.fill0.1,0.2,0.3

vector(n)vect=100定义一个n维且取值为100的列向量

vectorvec

vec.fill

行向量对象rowvector、系数向量对象coeff类似

VectorDeclaration

vectordeclarevectorobject.

Thereareseveralwaystocreateavectorobject.Enterthevectorkeyword(withanoptionaldimension)followedbyaname:

vectorscalarmat

vector(10)results

Alternatively,youmaydeclareavectorusinganassignmentstatement.Thevectorwillbesizedandinitialized,accordingly:

vector(10)myvec=3.14159

vectorresults=vec1

VectorViews

covcomputevariancemeasuresforthedatainthevector.

labellabelinformationforthevectorobject.

sheetspreadsheetviewofthevector.

statsdescriptivestatistics.

VectorGraphViews

Graphcreationviewsarediscussedindetailin"GraphCreationCommands".

areaareagraphofthevector.

barbargraphofdataagainsttherowindex.

boxplotboxplotgraph.

distplotdistributiongraph.

dotdotplotgraph.

linelinegraphofthedataagainsttherowindex.

qqplotquantile-quantilegraph.

seasplotseasonallinegraph.

spikespikegraph.

VectorProcs

displaynamesetdisplayname.

fillfillelementsofthevector.

readimportdatafromdisk.

setformatsetthedisplayformatforthevectorspreadsheet.

setindentsettheindentationforthevectorspreadsheet.

setjustsetthejustificationforthevectorspreadsheet.

setwidthsetthecolumnwidthforthevectorspreadsheet.

writeexportdatatodisk.

VectorDataMembers

Stringvalues

@descriptionstringcontainingtheVectorobject'sdescription(ifavailable).

@detailedtypestringwiththeobjecttype:

"VECTOR".

@displaynamestringcontainingtheVectorobject'sdisplayname.IftheVectorhasnodisplaynameset,thenameisreturned.

@namestringcontainingtheVectorobject'sname.

@remarksstringcontainingtheVectorobject'sremarks(ifavailable).

@sourcestringcontainingtheVectorobject'ssource(ifavailable).

@typestringwiththeobjecttype:

"VECTOR".

@unitsstringcontainingtheVectorobject'sunitsdescription(ifavailable).

@updatetimestringrepresentationofthetimeanddateatwhichtheVectorwaslastupdated.

Scalarvalues

(i)i-thelementofthevector.Simplyappend"(i)"tothevectorname(withouta".").

@obs(y),@sum,@mean(y),@median(y),@max(y),@min(y),@var(y),@stdev(y),@skew(y),@kurt(y),@sumsq(y),@round(y),

3.矩阵

在已经建立的工作文件中,可以通过菜单或者命令建立矩阵对象。

菜单方式:

命令方式:

Eviews提供了可以直接对矩阵和向量中的数据进行操作的矩阵语言。

使用矩阵语言可以完成许多Eviews内置的菜单命令中没有的操作。

使用矩阵语言可以创建和操作下列对象:

声明矩阵对象,例子:

matrix(3,10)xdata:

创建一个3×10矩阵xdata。

Sym(9)moments:

创建一个9×9的对称矩阵moments。

Vector(11)betas:

创建一个11×1的列向量betas。

Rowvector(5)xob:

创建一个1×5的行向量xob。

要改变矩阵对象的维数,只需再声明一次。

此外,如果使用赋值语句把已存在的矩阵对象赋给另一个矩阵对象,则目标对象的维数将会做相应的调整。

例如

Sym(10)bigz:

创建一个10×10的对称矩阵bigz。

Matrixzdata:

创建矩阵zdata,它只有一个元素。

Matrix(10,2)zdata:

把zdata重新声明成10×2.

Zdata=bigz:

矩阵zdata被调整成10×10的矩阵,和bigz的内容一样。

给矩阵对象赋值,有三种赋值方式。

第一种。

声明一个2×2的矩阵:

Matrix(2,2)a。

其中矩阵a的所有元素都是0.执行下面的命令:

a(1,1)=1

a(2,1)=4

就得到a=

.

第二种。

用fill据表赋给矩阵。

使用fill语句时,用矩阵对象名加“.”,然后加fill,后面跟以逗号分隔的数据表。

例如

Matrix(2,4)x

X.fill1,2,3,4,5,6,7,8

上面的命令创建了

如果把上面最后一行命令换为:

Matrix.fill(b=r)1,2,3,4,5,6,7,8,则得到

有时候希望把数据重复赋值给矩阵对象。

这时候可以用“l”选项。

例如

Matrix(3,3)y

Y.fill(l)1,0,-1

就会创建

第三种。

矩阵赋值语句。

使用矩阵赋值语句可以把一个矩阵对象的数据复制到另一个矩阵对象里。

赋值语句以等号连接源对象和目标对象,等号右边必须是常数值矩阵对象或者返回值为矩阵对象的表达式。

如果等号右边是标量,则等式左边的矩阵对象的所有元素都会被赋以这个标量的值。

例如:

Matrix(5,8)first

First=5矩阵First的所有元素都被赋为5.

可以把声明和赋值语句结合起来,在声明矩阵对象的同时进行初始化。

例如:

Matrix(5,8)first=5创建5×8的矩阵first,所有元素都为5.

Vector(10)v=first(3,5)创建向量v,所有元素都等于矩阵first的第3行第5列的元素。

如果赋值对象和目标对象属于同一类型,则目标对象的维数会被调整成和源对象的一样。

例如:

Matrix(10,2)zdata=5创建10×2的矩阵zdata,每个元素的值都是5

Matrixydata=zdata创建矩阵ydata,维数和zdata的一样,为10×2

Matrix(10,10)xdata=ydata尽管声明xdata为10×10的矩阵,但是这行执行后,xdata仍为10×2的矩阵,每个元素都是5.

2.矩阵的计算,常用的函数:

@det,求行列式;@rank,求秩;@trace(x),求迹;@inverse,求逆矩阵;@transpose,转置;@inner,求内积

建立了矩阵x

行列式:

scalarxdet=@det(x)

矩阵求逆:

matrixxinv=@inverse(x)

矩阵求迹:

scalarxinv=@trace(x)

矩阵求秩:

scalarrank1=@rank(m1)

矩阵加减:

matrix(6,4)xdata=6,matrix(6,4)ydata=4,matrix(6,4)zdata=xdata-ydata

矩阵乘法的应用:

解线性方程组

workfilemyworku130

matrix(3,3)mat

mat.fill(b=r)2,2,-1,1,-2,4,5,7,1

vector(3)vec

vec.fill6,3,28

vectoransw=@solvesystem(mat,vec)

showansw

内积:

vector(8)x1=2,vector(8)x2=3,vectory=@transpose(x1)*x2

如果已经定义好了矩阵,不妨设为A,B,那么可以定义矩阵的乘积为

MatrixC=A*B

在命令窗口中输入上述命令即可,在工作文件中就是矩阵C。

二次形:

vectorz=vec1*@inverse(matrix)*@transpose(vec1)

4.Sym:

对称矩阵

对于正定矩阵,建立一个对称矩阵:

sym,s1

进行乔里斯基分解(Choleskydecomposition):

matrixfact=@cholesky(s1)

然后验证:

matrixorig=fact*@transpose(fact)

矩阵求特征根与特征向量:

@eigenvalues,求特征值@eigenvectors,求特征向量

matrix(4,4)x,vectorv1=@eigenvalues(x),

matrixm2=@eigenvectors(x)

从矩阵中提取向量或子块

matrix(10,10)m1

vectorv1=@vec(m1)

vectorv2=@columnextract(m1,3)

vectorv3=@rowextract(m1,4)

vectorv4=@columnextract(sym1,5)

The@vecfunctioncreatesa100elementvector,V1,fromthecolumnsofM1stackedoneontopofanother.V2willbea10elementvectorcontainingthecontentsofthethirdcolumnofM1whileV3willbea10elementvectorcontainingthefourthrowofM1.The@vec,@rowextract,and@columnextractfunctionsalsoworkwithsymobjects.V4isa10elementvectorcontainingthefifthcolumnofSYM1.

Youcanalsocopydatafromonematrixintoasmallermatrixusing

@subextract.Forexample:

matrix(20,20)m1=1

matrixm2=@subextract(m1,5,5,10,7)

matrixm3=@subextract(m1,5,10)

matrixm4=m1

M2isamatrixcontainingasubmatrixofM1definedbytakingthepartofthematrixM1beginningatrow5andcolumn5andendingatrow10andcolumn7.M3isthematrixtakenfromM1atrow5andcolumn10tothelastelementofthematrix(row20andcolumn20).Incontrast,M4isdefinedtobeanexactcopyofthefullmatrix.

矩阵转化为序列mtos矩阵名称序列组名称

序列组转化为矩阵stom序列组名称矩阵名称

vectorv2=@convert(ser1)

vectorv3=@convert(ser2,smp1)

matrixm1=@convert(grp1)

matrixm2=@convert(grp1,smp1)

3.2从时间序列中生成矩阵

smpl1963:

31993:

6

groupmygrphsfgmpyq

vectorxvec=gmpyq

matrixxmat=mygrp

ThesestatementscreatethevectorXVECandthetwocolumnmatrixXMATcontainingthenon-missingseriesandgroupdatafrom1963:

3to1993:

6.NotethatifGMPYQhasamissingvaluein1970:

01,andHSFcontainsamissingvaluein1980:

01,bothobservationsforbothserieswillbeexcludedfromXMAT.

Matrix帮助

Matrix(two-dimensionalarray).

MatrixDeclaration

matrixdeclarematrixobject.

Thereareseveralwaystocreateamatrixobject.Youcanenterthematrixkeyword(withanoptionalrowandcolumndimension)followedbyaname:

matrixscalarmat

matrix(10,3)results

Alternatively,youcancombineadeclarationwithanassignmentstatement,inwhichcasethenewmatrixwillbesizedaccordingly.

Lastly,anumberofobjectprocedurescreatematrices.

MatrixViews

corcorrelationmatrixbycolumns.

covcovariancematrixbycolumns.

displaydisplaytable,graph,orspoolinobjectwindow.

labellabelinformationforthematrix.

pcompprincipalcomponentsanalysisofthecolumnsinamatrix.

sheetspreadsheetviewofthematrix.

statsdescriptivestatisticsbycolumn.

MatrixGraphViews

Graphcreationviewsarediscussedindetailin"GraphCreationCommands".

areaareagraphofthecolumnsinthematrix.

bandareabandgraph.

barbargraphofeachcolumn.

boxplotboxplotofeachcolumn.

distplotdistributiongraph.

dotdotplotgraph.

errbarerrorbargraphview.

hilohigh-low(-open-close)chart.

linelinegraphofeachcolumn.

piepiechartview.

qqplotquantile-quantilegraph.

scatscatterdiagramsofthecolumnsofthematrix.

scatmatmatrixofallpairwisescatterplots.

scatpairscatterplotpairsgraph.

seasplotseasonallinegraphofthecolumnsofthematrix.

spikespikegraph.

xyareaXYareagraph.

xybarXYbargraph.

xylineXYlinegraph.

xypairXYpairsgraph.

MatrixProcs

displaynamesetdisplayname.

fillfilltheelementsofthematrix.

readimportdatafromdisk.

setformatsetthedisplayformatforthematrixspreadsheet.

setindentsetth

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1