我的问题是,我有一个像
这样的邻接矩阵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]
答案 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));