在邻接矩阵中,我希望用其给定另一个矩阵的值替换

时间:2014-01-23 05:14:59

标签: matlab matrix

我的问题是,我有一个像

这样的邻接矩阵

INPUT:

       1 2 3 4 5 
A = 1 [0 1 1 0 1]
    2 [1 0 1 0 1]
    3 [0 1 0 1 0]
    4 [1 0 1 0 1]
    5 [0 0 1 0 0]

上面的矩阵用于创建图形或生成生成树,另一个矩阵是(表示图中边缘的值)

INPUT:

B = [0  22 33 0  44]  
    [55 0  66 0  77]
    [0  11 0  22 0]
    [11 0  88 0  55]
    [0  0  55 0  0]

我希望在A Matrix的帮助下替换B的所有元素,其中矩阵A中有1个存在,这意味着输出应该是

A = [0  22 33 0  44]  
    [55 0  66 0  77]
    [0  11 0  22 0]
    [11 0  88 0  55]
    [0  0  55 0  0]

2 个答案:

答案 0 :(得分:1)

假设A只包含0和1,我建议:

A = B.*A;

但是,根据您在上面提供的示例,A = B应该可以正常工作(但我猜这些示例不具代表性。

答案 1 :(得分:0)

我认为这就是你所追求的目标:

 % first make A into logical matrix, and the select from B values where A == 1;
 A = B(logical(A));
相关问题