how do I change a variable name in each iteration?

19 views (last 30 days)
I want to create a loop where the variable name changes with each iteration. Specifically, I want to do the following:
r_1 = .4
r_2 = .3
r_3 = .8
r_4 = .2
r_5 = .2
numArrays = 5;
a = cell(numArrays,1);
for n = 1:numArrays
A{n} = .5.*log((1+r_{n})./(1-r_{n}));
end
So in the last line the 'r_{n}' should be the variable 'r_1' for the first iteration, 'r_2' for the second, and so on.
I'm really stuck and I know this is a simple question, but any advice would be much appreciated!
  3 Comments
Walter Roberson
Walter Roberson on 15 Apr 2021
@Mikkel Hansen comments to Stephne Cobeldick:
Not the same question nor same responses.

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 25 Feb 2016
Edited: Walter Roberson on 25 Feb 2016
Do not do that.
r_ = {r_1, r_2, r_3, r_4, r_5};
Now your cell array indexing will work.

Categories

Find more on Argument Definitions 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!