-6

私は2つのベクトルを持っています:

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

次のように、これらのベクトルから行列を見つけたいです。

x 軸が であり、 であるcと仮定できます。plot matrixAy-axisB

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

私の質問は、大きなベクトルがあるため、自動的に作成する方法です。

4

1 に答える 1

5

ABは座標であり、プロットを行列形式で「描画」したいので、これを試してください:

c = flipud(full(sparse(B, A, B)));

flipudy軸の正方向を上向きに調整するために追加しました。

または、これを使用してバイナリ行列を取得できます。

c1 = flipud(full(sparse(B, A, ones(size(A)))));

重要:このソリューションが機能するには、正の整数値が含まれている必要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)))))

これにより、次の結果が得られます。

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
于 2013-05-09T15:15:29.383 に答える