Clear Filters
Clear Filters

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

1 view (last 30 days)
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
Azzi Abdelmalek
Azzi Abdelmalek on 30 Jul 2013
Do I need to load the k variable from the original code inside the function?
Can you explain ?

Sign in to comment.

Accepted Answer

Evan
Evan on 30 Jul 2013
Edited: Evan on 30 Jul 2013
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 File Operations in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!