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

如题所述

第1个回答  2022-07-18
1、第一种输入矩阵的方式:

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

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

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)     /*如要对多个元素进行修改,只需要指定修改的起始行列位置即可*/

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矩阵求逆*/
相似回答