How to include a conditional function inside a "for k = 1 : 200" loop?

I am trying to contain a function inside a loop as mentioned. The loop is "for k = 1 : ite" where ite=200. The function I am calling contains conditional statements such as "if k == 1," and "if k > 1,". It is returning an error saying that k is undefined when running the conditional statement of the function. Do I need to load the k variable from the original code inside the function?

1 Comment

Do I need to load the k variable from the original code inside the function?
Can you explain ?

Sign in to comment.

 Accepted Answer

Yes, you need to pass the k value, and any other values used from the calling function, into your function that you call within the loop. Here's a simple example:
function my_function
a = rand(1,100);
ite = 100;
for k = 1:ite
m(k) = process(k);
end
end
function x = process(idx)
x = a(idx) > 0.5;
end

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Asked:

on 30 Jul 2013

Community Treasure Hunt

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

Start Hunting!