我有两个矩阵(5_by_1),比如A = [5行,1列],B = [5行,1列]如果我做图(A,B),我会创建一个大矩阵C = [ 5行,5列]怀特?!
现在我想创建这个大矩阵而不用绘图。我直接想要这个矩阵。谢谢。
例如A=[1 2 3 4 5 ]
和B=[3 4 2 1 4]
c=
0 1 0 0 0
1 0 0 0 1
0 0 1 0 0
0 0 0 1 0
答案 0 :(得分:0)
这应该有效:
a = [1 2 3 4 5];
b = [3 4 2 1 4];
c = flipud(sparse(b,a,1,4,5));
如果你想看到完整的c:
full(c)
或者如果你有更大的版本:
c = flipud(sparse(b,a,1,max(b),max(a)));
flipud
命令是将矩阵翻转过来。
希望这有助于=)
修改强>
“移动”矩阵,使最低值在(1,1)之前(在翻转之前)。结构是正确的,但起源不容易发现。
a_1 = floor(a - min(a)) + 1; % floor if you don't have integers.
b_1 = floor(b - min(b)) + 1;
c = flipud(sparse(b_1,a_1,1,max(b_1),max(a_1)));