Output each for loop iteration to separate arrays

1 view (last 30 days)
I have a function which relies on a few inputs, all of these inputs will be the same for each iteration apart from one which will be changing. I want to output each iteration of the loop to a different array.
I've tried doing it using a cell array as below.
Here's an example of the code.
for b = [0:0.1:5]
cell_array{b} = function(a,b,c)
end
With this I get an error saying: 'Cell contents indices must be greater than 0' which I assume is because of the '0' in vector b. If I alter it to be:
for b = [0:0.1:5]
cell_array{1:51} = function(a,b,c)
end
I get the error saying: 'Expected one output from a curly brace or dot indexing expression, but there were 5 results.'
Is there a better way of getting each iteration to output separately?

Accepted Answer

Star Strider
Star Strider on 1 Jan 2018
Try this:
fun = @(a,b,c) a + b - c; % Create Function
a = 3; % Create Data
c = 11; % Create Data
for b = 1:6
cell_array{b} = fun(a, b-1, c);
end
  4 Comments
mathman
mathman on 1 Jan 2018
Apologies for that, it slipped my mind.
It did work though so thanks for that. Nice solution aswell.

Sign in to comment.

More Answers (0)

Categories

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

Tags

Community Treasure Hunt

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

Start Hunting!