%testing the elimation of the elements outside the boundary%
np=22;
L=10;
x=linspace(0,L,np);
%position(:,1)=x;
for i=1:np
if x(i) > 5
x(i) = [ ];
end
end
hello, i want to eliminate the value of x greater than 5 , i s not able yo do so. it says index array exceeds array bounds

 Respuesta aceptada

KALYAN ACHARJYA
KALYAN ACHARJYA el 1 de Jul. de 2019
Editada: KALYAN ACHARJYA el 1 de Jul. de 2019

2 votos

#No Need of loop, efficient code.
np=22;
L=10;
x=linspace(0,L,np);
idx=find(x>5);
x(idx)=[]
If loop is needed, you can understand the issue from the comment section.

3 comentarios

using for loop you can undestand the issue from the following example
np=22;
L=10;
x=linspace(0,L,np)
for i=1:length(x)
if x(i)>5
x(i)=NaN
end
end
As @Star explained if you delete the element, the array length reduce, therefore it reflects the error
index array exceeds array bounds
Alchemist
Alchemist el 1 de Jul. de 2019
tnx you sir.
KALYAN ACHARJYA
KALYAN ACHARJYA el 1 de Jul. de 2019
Editada: KALYAN ACHARJYA el 1 de Jul. de 2019
You always welcome ..!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Etiquetas

Preguntada:

el 1 de Jul. de 2019

Editada:

el 1 de Jul. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by