Tengo curiosidad acerca de cuál es la mejor manera de hacer esto: supongo que tengo una matriz cero de 10x10 y quiero reemplazar los ceros por unos con las coordenadas conocidas, en Al principio me refiero a escribir un ciclo for para reemplazar los elementos uno por uno leyendo las xey. ¿Hay alguna otra forma más fácil de hacerlo?Reemplazar elementos en una matriz de acuerdo con las coordenadas en matlab
Ejemplo:
mat=zeros(10);
x=[1,3,5,7,9]';
y=[2,4,6,8,10]';
newmat= [0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0]
simplemente me di cuenta de que este es un duplicado de [una pregunta reciente] (http://stackoverflow.com/questions/5886039/matlab-addressing-of-one-index-without-sub2ind/5889492#5889492), que respondí. Sin embargo, no te culpo por no haber podido encontrarlo, ya que el título de la otra pregunta no te habría ayudado en la búsqueda. – abcd
@Yoda: Creo que mi publicación es un tanto confusa, no tenía la intención de asignarle la forma de los ojos, solo sustituí los elementos de acuerdo con las aleatorias xey. Pero gracias por la ayuda :) – tytamu
Yen: No hay problema. La solución de @ eat es más general, y si tu ejemplo hubiera sido diferente, eso es exactamente lo que hubiera sugerido. – abcd