matlab - Create a larger matrix in special case -


i have 2 vectors:

a=[1 2 3 4] b=[3 5 3 5] 

i want find matrix these vectors this:

you can suppose c plot matrix, x-axis a , y-axis b:

c =  0     4     0     4  3     0     3     0  0     0     0     0  0     0     0     0 

or:

 c1=  0     1     0     1  1     0     1     0  0     0     0     0  0     0     0     0 

my question how create automatically because have large vectors.

i'm assuming a , b coordinates, , want "draw" plot in matrix form, try this:

c = flipud(full(sparse(b, a, b))); 

i added flipud adjust positive direction of y-axis upwards.

alternatively, can obtain binary matrix using this:

c1 = flipud(full(sparse(b, a, ones(size(a))))); 

important: solution work, a , b must contain positive integer values. there no sense in try "plot" matrix non-positive or non-integer positions.

example

a = 1:4; b = [3, 4, 3, 4];    c = flipud(full(sparse(b, a, b))) c1 = flipud(full(sparse(b, a, ones(size(a))))) 

this results in:

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 

Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

c++ - qgraphicsview horizontal scrolling always has a vertical delta -