Finding a range in an array
70 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Rafay Ali
el 27 de Mayo de 2019
Editada: madhan ravi
el 27 de Mayo de 2019
I have an array of 8000 values. I want to find a range of particular values say for example the values which are between 20 - 25.6 should be multiplied by -1 but the values should be in changed in the same array. I am currently using a the find nested in an if but somehow I cannot store it in the same array.
Respuesta aceptada
madhan ravi
el 27 de Mayo de 2019
Editada: madhan ravi
el 27 de Mayo de 2019
idx = (array>=20) & (array<=25.6);
array(idx) = -array(idx)
2 comentarios
madhan ravi
el 27 de Mayo de 2019
Editada: madhan ravi
el 27 de Mayo de 2019
I suggest you to do MATLAB onramp course to cover the basics of MATLAB.
idx = (array>=20) & (array<=25.6); % using this as indices is already much more efficient than find()
indices = find(idx) % this would give you the indices where the condition satisfies
array(2222 : 2245) = - some_number * array(2222 : 2245)
Más respuestas (1)
Andrei Bobrov
el 27 de Mayo de 2019
Let A - your array.
Anew = A.*(1 - 2*(A >= 20 & A <= 26.5));
0 comentarios
Ver también
Categorías
Más información sobre Matrix Indexing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!