上机实验7矩阵的操作.docx
- 文档编号:6263006
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:15
- 大小:32.59KB
上机实验7矩阵的操作.docx
《上机实验7矩阵的操作.docx》由会员分享,可在线阅读,更多相关《上机实验7矩阵的操作.docx(15页珍藏版)》请在冰豆网上搜索。
上机实验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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 上机 实验 矩阵 操作