Asign data with index or something...

2 visualizaciones (últimos 30 días)
Gimpy
Gimpy el 21 de Ag. de 2014
Respondida: Sean de Wolski el 21 de Ag. de 2014
Hi, I have the following inputs:
row=[3,7,10]
col=[1,2,3]
data=rand(1,3)
data =
0.91 0.63 0.10
matrix=zeros(3,3)
And I want to replace the following row in matrix: row 3, coll 7 by 0.81 instead of 0
row 7, coll 2 by 0.63 instead of 0
row 10, coll 3 by 0.1 instead of 0
Any idea?
PS: wihtout loop and the real matrix a much more biger and it need to be dynamic the answer.
Thank you!

Respuesta aceptada

Sean de Wolski
Sean de Wolski el 21 de Ag. de 2014
You've defined matrix to be a 3x3 but want to reference the 7th and 10th row. How big should it be?
If you just want it to be "big enough"
M = zeros(max(row),max(col));
M(sub2ind(size(M),row,col)) = data

Más respuestas (1)

Matt J
Matt J el 21 de Ag. de 2014
matrix = sparse(row,col,data)

Categorías

Más información sobre Programming en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by