MATLAB: I’d like to delete 24th one of “for 1:1:30”

forfunction

Hi.
I'd like to delete 24th one of "for 1:1:30" Actually, I can run twice to simulate it as below.
for 1:1:23 and for 24:1:30
However, I'd like to do it in one loop.
I have one more question. Can you let me know a function to return number 1( or zero) when an input is negative value like -5.
a= somefuntion (-5)
ANSWER : 1 (or 0)
Thank you.
Best regards,
Jaeyoung Park

Best Answer

There are a number of different ways:
for K = 1 : 30 %#1

if K == 24; continue; end
...
end
for K = setdiff(1:30,24) %#2

...
end
KV = 1:30; KV(24) = []; %#3

for K = KV
...
end
For your second question, again there are multiple ways:
function r = somefunction(v) %#1
if v < 0
r = 1;
else
r = 0;
end
end
function r = somefunction(v) %#2
r = 0 + (v < 0);
end
somefunction = @(v) v < 0; %#3