Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wolfram mathematica 在wolfram mathematica中求矩阵的第i行_Wolfram Mathematica - Fatal编程技术网

Wolfram mathematica 在wolfram mathematica中求矩阵的第i行

Wolfram mathematica 在wolfram mathematica中求矩阵的第i行,wolfram-mathematica,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=",

我试图在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]];
];  
`Y=逆[S];
打印[“Y=”,矩阵变换[Y]];

对于[i=1,i这是一个写得很糟糕的问题,因此我不得不做一些猜测。您的代码似乎与您的问题不相关,只有一个例外:
S[[All,i]]]。Y[[i]]
。根据你的描述,我猜我们可以说
S
是k乘k,因此
Y
也是。如果你的目标是
S
的第I列通过其逆
Y
的第I行来点
S
,那么你所拥有的很好:你把每一列作为一个一维向量,然后产生一个标量积。但是你说你是n没有得到你想要的,所以我猜你想要的是外部产品

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 *)

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

你的问题有点旁敲侧击,但你很少分配与输出表单相等的内容,即do
Subscript[p,I]=S[[All,I]].Y[[I]];
,然后在
Print
语句中需要的地方应用
MatrixForm
。(当然这里,
产生了一个标量,所以它是不需要的。)艾伦非常感谢土耳其:)外积解决了我的问题。我的问题可能写得不好,但你的猜测解决了我的问题。使用标量积是我代码中的主要问题。