Borrar filtros
Borrar filtros

Replace values in a array

13 visualizaciones (últimos 30 días)
Miguel Albuquerque
Miguel Albuquerque el 18 de Jul. de 2022
Comentada: Miguel Albuquerque el 18 de Jul. de 2022
Hey guys, thanks in advance, this is probably very easy
What I need to do, is find where y_max is not zero, and see where the values from it are equal to range, a bigger array, but that has in some columns the same values of y_max.
Next I need to replace the columns where range has the same values of y_max by the values of RMC that are not zero.
How can I do that, thanks. Because its mandatory that all columns of b be replaced by isR2, but isR2 has more values that b, but for isR2 i want to select number os values of b, because RMC has the same values along the array.
I have this code:
isR=find(y_max);
isR2=find(RMC);
y_cutted=y_max(isR);
[a,b]=intersect(range,y_cutted);
b=b.';
range(:,b)=RMC(:,isR2);
But i get this error
Unable to perform assignment because the size of the left side is 1-by-69 and the size of the right side is 1-by-93.
  1 comentario
Miguel Albuquerque
Miguel Albuquerque el 18 de Jul. de 2022
basically I need to do this, but automatic:
isR=find(y_max);
y_cutted=y_max(isR);
[a,b]=intersect(range,y_cutted);
b=b.';
RMC=RMC(:,184:255);
range(:,(254:325))=RMC;

Iniciar sesión para comentar.

Respuestas (1)

David Hill
David Hill el 18 de Jul. de 2022
Attaching the data would help.
range(ismember(range,y_max(y_max~=0)))=RMC(RMC~=0);
  1 comentario
Miguel Albuquerque
Miguel Albuquerque el 18 de Jul. de 2022
sorry, here it is , it gives an error your code
Unable to perform assignment because the left and right sides have a different number of elements.

Iniciar sesión para comentar.

Categorías

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

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by