请问mathematica 中如何定义矩阵?

2024-11-23 09:58:05
推荐回答(5个)
回答1:

Mathematica可进行矩阵的各种运算,如矩阵求逆、矩阵的转置、矩阵与向量的乘法等.下面列出主要的运算.记k为常数,u,v为向量,A,B为矩阵
k*A------------------------常数乘矩阵
k+u-----------------------向量u的每一个元素加上k
u+v----------------------向量的对应元素相加
u.v-----------------------向量的内积
u*v-----------------------向量的对应元素相乘
A.u---------------------矩阵乘向量
u.A-----------------------向量乘矩阵
A.B--------------------------矩阵乘矩阵
Transpose[A]-----------------求矩阵A的转置阵
Inverse[A]--------------------求矩阵A的逆矩阵
Det[A]-------------------------求矩阵A的行列式
Eigenvalues[A]-----------------求数字阵A的特征值
Eigentvectors[A]---------------求数字阵A的特征向量
LinearSolve[A,v]---------------求解线性方程组Ax=v
Chop[%n]-------------------舍去第n个输出中无实际意义小量
矩阵可以左乘以向量或右乘以向量, Mathematica也不区分“行”,或“列”向量,自动进行可能的运算.
例:
In[1]:=A={{a,b},{c,d}}; v={x,y};
In[2]:=A.v (A左乘以v)
Out[2]={ax+by,cx+dy}
In[3]:=v.A (A右乘以v)
Out[3]={ax+cy,bx+dy}
In[4]:=Inverse[A]
Out[4]=
如果矩阵的元素是近似数,则求出的逆矩阵也是近似的。
In[5]:=B={{1.2,5.7},{4.2,5.6}}; Inverse[B]
Out[5]=
In[6]:=%.B
Out[6]=
结果与单位矩阵有微小误差,用函数Chop消去无实际意义小量
In[7]:=Chop[%]
Out[7]={{1.,0},{0,1.}}
前面已介绍了用Solve解线性方程组,但对于矩阵形式Ax=v的线性方程组,用
LinearSolve[A,v]更方便.
In[8]:=M={{2,1},{1,4}}; LinearSolve[M,{a,b}]

有些符号打不出来,你也可以参见(http://210.41.4.20/course/22/23/sm00/Mathmatics/smf142.htm)
Out[8]=

回答2:

mathematica和matlab不一样,mathematica所有的数组都是用多维列表形式表示的,矩阵在mathematica中可以认为是一个二维列表。如果非要将二维列表表示成矩阵形式的话,可以用Matrix[A]将二维数组A表示成矩阵形式。定义二维数组可以用Table[0,M,N];

回答3:

Mathematica核心数据结构是列表,也就是有序数组(实际上也可以不是数),矩阵就是二维的嵌套列表。
列表用诸如{1,4,1,6}、{{2,1,3},{5,6,7}}、{"word",a->b}的表达式表示,也就是用大括号建立数组、用逗号分隔元素。
如果需要显示为矩阵的样式,可以对列表使用MatrixForm指令。
初学者可以在帮助文档中搜索HowTo教程,或者从主页的第一篇文档看起。

回答4:

Mathematica基础——矩阵的基本操作


http://jingyan.baidu.com/article/64d05a0239e54cde55f73bdf.html

回答5:

用二维列表表示