Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.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
在matlab中是否有一个函数可以获得矩阵的斜对角?_Matlab_Matrix_Diagonal - Fatal编程技术网

在matlab中是否有一个函数可以获得矩阵的斜对角?

在matlab中是否有一个函数可以获得矩阵的斜对角?,matlab,matrix,diagonal,Matlab,Matrix,Diagonal,斜对角是[a_12,a_21]。现在,我翻转矩阵并使用diag.作为fliplr和diag的替代方法,您可以像这样直接索引到矩阵中: A=[a_11, a_12; a_21, a_22] 这不局限于3x3矩阵吗?一般情况?否。这不限于3x3矩阵。它是任意大小方阵的通解。只有一个例子是3x3。@Jonas:看起来你在计算反对角线,这不是OP要求的。在一些文献中,斜对角与您的反对角相同,但OP的示例表明这里的情况并非如此。Thanks@eat:我正在计算“主斜对角”(根据Wolfram网站)。对于

斜对角是
[a_12,a_21]
。现在,我翻转矩阵并使用diag.

作为
fliplr
diag
的替代方法,您可以像这样直接索引到矩阵中:

A=[a_11, a_12; a_21, a_22]

这不局限于3x3矩阵吗?一般情况?否。这不限于3x3矩阵。它是任意大小方阵的通解。只有一个例子是3x3。@Jonas:看起来你在计算
反对角线
,这不是OP要求的。在一些文献中,
斜对角
与您的
反对角
相同,但OP的示例表明这里的情况并非如此。Thanks@eat:我正在计算“主斜对角”(根据Wolfram网站)。对于4乘4的阵列,这将是[a41,a32,a23,a14]。@Jonas:但是[456]不是魔法的主斜对角吗(3)?谢谢
A = magic(3);
s = length(A);
idx = s:(s-1):(s*(s-1)+1);
%# for anti-diagonal, use the following 
%#idx = (s*(s-1)+1):(-s+1):s;

skewDiag = A(idx)
skewDiag =
     4     5     6