%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

 Akzeptierte Antwort

KALYAN ACHARJYA
KALYAN ACHARJYA am 1 Jul. 2019
Bearbeitet: KALYAN ACHARJYA am 1 Jul. 2019

2 Stimmen

#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 Kommentare

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 am 1 Jul. 2019
tnx you sir.
KALYAN ACHARJYA
KALYAN ACHARJYA am 1 Jul. 2019
Bearbeitet: KALYAN ACHARJYA am 1 Jul. 2019
You always welcome ..!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu 2-D and 3-D Plots finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by