MATLAB Answers

0

calling a matrix with different names in a for loop

Asked by Yaser Khojah on 5 Sep 2019
Latest activity Commented on by Yaser Khojah on 5 Sep 2019
I have three matrixes with different names as NPV_1, NPV2 and NPV_3. I have tried the below but It did not work. Can you please help
for i = 1:3
fm =forfor sprintf('NPV_%d',i);
NPV_Mat = fm;
end

  2 Comments

"I have three matrixes with different names as NPV_1, NPV2 and NPV_3"
Accessing separate variable names like that is one way that beginners force themselves into writing slow, complex, obfuscated, buggy code that is hard to debug. Read this to know why:
I agree and going to fix it. Thanks a lot for sharing this

Sign in to comment.

Tags

1 Answer

Answer by Stephen Cobeldick on 5 Sep 2019
Edited by Stephen Cobeldick on 5 Sep 2019
 Accepted Answer

Simply put your three matrices into one cell array, then your task is trivial:
C = {NPV_1, NPV2, NPV_3};
for k = 1:numel(C)
M = C{k};
... do whatever with M
end

  1 Comment

Thanks for your help

Sign in to comment.