(2)用stata做简单的矩阵运算

1、第一种输入矩阵的方式:

matrix A = (1,2,3 \ 4,5,6)      /*定义一个名为A的两行三列的矩阵,逗号作为列的分隔,反斜线作为行的分隔,多行多列同理。注意反斜线的前后要加空格,否则斜线和数字挨到一起stata不识别*/

2、第二种输入矩阵的方式:

(2)用stata做简单的矩阵运算_第1张图片
另一种输入矩阵的方式,更加直观,采用 #delimit ; 命令断行

note: 输入的矩阵只是存储在内存中,并不在数据窗口中呈现,通过下列命令可以查看:

matrix list A         /*matrix list 加上矩阵名,matrix可以简写成mat list A*/

matlist  B             /*matlist 与 matrix list 作用相同,只是显示出来的美观程度稍有不同而已*/

mat list C, nohalf        /*对称矩阵默认只显示对角线及下半部分,若要全显示,加上 nohalf 的option即可*/

matrix dir           /*显示内存中存储的所有矩阵及其行列数*/


3、矩阵元素的修改:

mat A[1,2] = 20     /*表示对A矩阵的第一行第二列的元素进行修改*/

mat A[1,2] = (99,100)     /*如要对多个元素进行修改,只需要指定修改的起始行列位置即可*/


4、矩阵的加、减、乘、转置、求逆:

mat  M = A + B    /*加法*/

mat  M = A - B     /*减法*/

mat  M = A*B       /*乘法,注意A矩阵的列和B矩阵的行要一致*/

mat  A1 = A'        /*A矩阵的转置,矩阵转置要优于乘法,如 mat A2 = A'*B' 会先转置后乘*/

mat  invA = inv(A)   /*对A矩阵求逆*/

你可能感兴趣的:((2)用stata做简单的矩阵运算)