我有两个向量:
A=[1 2 3 4]
B=[3 5 3 5]
Run Code Online (Sandbox Code Playgroud)
我想从这些向量中找到一个矩阵,如下所示:
你可以假设c是plot matrix,其中x轴是A和y-axis是B:
c =
0 4 0 4
3 0 3 0
0 0 0 0
0 0 0 0
Run Code Online (Sandbox Code Playgroud)
要么:
c1=
0 1 0 1
1 0 1 0
0 0 0 0
0 0 0 0
Run Code Online (Sandbox Code Playgroud)
我的问题是如何自动创建它,因为我有大的向量.
我假设A和B是坐标,你想"拉拢"矩阵形式的情节,所以试试这个:
c = flipud(full(sparse(B, A, B)));
Run Code Online (Sandbox Code Playgroud)
我添加flipud了向上调整y轴的正方向.
或者,您可以使用以下方法获取二进制矩阵:
c1 = flipud(full(sparse(B, A, ones(size(A)))));
Run Code Online (Sandbox Code Playgroud)
重要提示:要使此解决方案正常工作,A并且B 必须包含正整数值.尝试"绘制"具有非正或非整数位置的矩阵是没有意义的.
A = 1:4; B = [3, 4, 3, 4];
c = flipud(full(sparse(B, A, B)))
c1 = flipud(full(sparse(B, A, ones(size(A)))))
Run Code Online (Sandbox Code Playgroud)
这导致:
c =
0 4 0 4
3 0 3 0
0 0 0 0
0 0 0 0
c1 =
0 1 0 1
1 0 1 0
0 0 0 0
0 0 0 0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
193 次 |
| 最近记录: |