在wolfram mathematica中找到矩阵中的第i行

时间:2015-02-17 18:18:59

标签: wolfram-mathematica

我试图在mathematica中对列矩阵和行矩阵进行乘法运算。但是mathematica将行矩阵作为列矩阵。因此,乘法函数不起作用。我的代码是

`Y = Inverse[S];
Print["Y=", MatrixForm[Y]];
For[i = 1, i <= n, i++,
Subscript[P, i] = MatrixForm[S[[All, i]].Y[[i]]];
Print["CarpimS=", MatrixForm[S[[All, i]]]];
Print["CarpimY=", MatrixForm[Y[[i]]]];
Print["P=", Subscript[P, i]];
];  

如果有人知道这种情况,请回答

1 个答案:

答案 0 :(得分:2)

这是一个写得很糟糕的问题,所以我将不得不做出一些猜测。您的代码似乎与您的问题无关,但有以下例外:S[[All, i]].Y[[i]]。鉴于你的描述,我猜我们可以说S是k乘k,所以Y。如果您的目标是Dot S的第i列第{i}行的反Y,那么您所拥有的就是罚款:您将每个列生成为1- d向量,然后生成标量积。但是你说你没有得到你想要的东西,所以我猜你想要外部产品。

mS = IdentityMatrix[5];
mS[[3, 3]] = 99;
mY = Inverse[mS];
mS[[All, 3]].mY[[3]]  (* scalar product *)
Outer[Times, mS[[All, 3]], mY[[3]]] (* outer product *)

如果我猜错了,你将不得不努力改善你的问题。