在矩阵中按升序排列对角线值,而不是对角线值,这取决于Matlab中的对角线值

普拉珊斯

输入矩阵:

    1.0000         0    0.2173    0.2585    0.3764
         0         0         0         0         0
    0.2173         0    0.2173    0.2173    0.2173
    0.2585         0    0.2173    0.2585    0.2585
    0.3764         0    0.2173    0.2585    0.3764

预期输出矩阵:

       5    1    2    3    4
       1    1    1    1    1
       2    1    2    2    2
       3    1    2    3    3
       4    1    2    3    4

对于给定的矩阵R = {r(i,j)},下面是对输入矩阵进行的2个运算:

1.我们按升序排列对角线值(即,对于小数值,给出等级1,对于下一个小数值,等级2等)

 ex:
     0-1st rank
0.2173-2nd rank
0.2585-3rd rank
0.3764-4th rank
1.0000-5th rank

2.除对角线单元格外,我们根据对角线值对其余值rowise进行排序。(即对角线值等级赋予其他矩阵值)

    ex:For 1st row           For 2nd row       For 3rd row      For 4th row     For 5th row


      0-1st rank             0-1st rank         0-1st rank          0-1st rank        0-1st rank 
 0.2173-2nd rank             0-1st rank    0.2173-2nd rank     0.2173-2nd rank   0.2173-2nd rank
 0.2585-3rd rank             0-1st rank    0.2173-2nd rank     0.2585-3rd rank   0.2585-3rd rank
 0.3764-4th rank             0-1st rank    0.2173-2nd rank     0.2585-3rd rank   0.3764-4th rank

我试过的源代码:

 out = zeros(size(table1));


for k = 1:5
    [~,ind2] = sort(table1(k,:));

    ind2(ind2)=1:5;
    out(k,:) = ind2;

end


out = out-bsxfun(@gt,out,diag(out));

%%// Take care of assigning diagonal elements
[~,ind1] = sort(diag(table1));
ind1(ind1)=1:5;
out(1:size(out,1)+1:end)=ind1;

C=out

我得到的输出矩阵:

 5     1     2     3     4
 1     1     2     3     4
 2     1     2     3     4
 3     1     2     3     4
 4     1     2     3     4
RTL

假设所有值都在对角线中...您要做的就是用正整数替换所有值,同时保持数字的顺序...

unique的第三个输出将给出一个列向量,该列向量包含A中的所有值,但将最小值替换为1,将最小值替换为2,依此类推...然后可以将其重塑为大小为A的矩阵

[~,~,temp]=unique(A);
out=reshape(temp,size(A))

结果

out =

     5     1     2     3     4
     1     1     1     1     1
     2     1     2     2     2
     3     1     2     3     3
     4     1     2     3     4

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在矩阵中对角线值按升序排列,而不是对角线值,这取决于Matlab中的对角线值

来自分类Dev

在python中打印矩阵的右对角线值

来自分类Dev

矩阵次对角线中的最大值

来自分类Dev

interpn返回对角线而不是插值矩阵

来自分类Dev

在MATLAB中创建对角线和左对角线均为1的矩阵

来自分类Dev

在MATLAB中创建对角线和左对角线均为1的矩阵

来自分类Dev

CSS中的对角线

来自分类Dev

矩阵中的对角线-Python

来自分类Dev

如何找到对角线值

来自分类Dev

获取螺旋矩阵的对角线值

来自分类Dev

生成值增加但主对角线沿NaN的矩阵?

来自分类Dev

带有交替值的numpy矩阵对角线填充

来自分类Dev

Ruby求矩阵对角线值的最佳方法

来自分类Dev

创建包含对角线确定值的恒等矩阵

来自分类Dev

在Matlab中仅计算矩阵乘积的对角线

来自分类Dev

在Matlab中仅计算矩阵乘积的对角线

来自分类Dev

检查矩阵中其他值的对角线值的问题。(Python)

来自分类Dev

更改矩阵中心对角线旁边的对角线

来自分类Dev

Matlab递减矩阵对角线

来自分类Dev

如何将向量中对角线的值插入R中的矩阵?

来自分类Dev

如何使对角线和反向对角线与2D矩阵中的点交叉?

来自分类Dev

如何填充对角线并忽略R中矩阵的对角线?

来自分类Dev

具有对角线值的R基对称矩阵中的图形可视化

来自分类Dev

将值分配给矩阵中的“偏移”对角线

来自分类Dev

创建矩阵,其中所有对角线在反对角线方向上均具有相同的值

来自分类Dev

视线对角线

来自分类Dev

映射对角线

来自分类Dev

在HTML中显示对角线分数

来自分类Dev

在多索引中访问对角线

Related 相关文章

热门标签

归档