Adding multiple variable contents in a single variable
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Rahul Gulia
le 19 Sep 2022
Commenté : Rahul Gulia
le 22 Sep 2022
I hope I can explain my problem statement properly.
I have matrix with name from meanSINR1, meanSINR2, meanSINR3, .... meanSINR10. Each matrix is of size 722x2 double values.
I want to put all these matrix values in a single matrix using a for loop.
I tried using sprintf() to move through each matrix name. But I could get the correct result.
tmp1 = zeros(1,2);
tmp2 = [];
for ii = 1:121
tmp1 = sprintf('meanSINR%d',ii);
tmp2 = [tmp2; tmp1];
end
Looking forward to any kind of suggestion. Thank you.
Kindly let me know if anyone can help me in running through multiple file names in python too using a for loop.
1 commentaire
Stephen23
le 19 Sep 2022
Modifié(e) : Stephen23
le 19 Sep 2022
"I have matrix with name from meanSINR1, meanSINR2, meanSINR3, .... meanSINR10"
Numbering variable names like that is a sign that you are doing something wrong.
Forcing meta-data into variable names is a sign that you are doing something wrong.
Accessing those variables will force you into writing slow, complex, inefficient, insecure, obfuscated code that is buggy and hard to debug. Read this to know some of the reasons why:
So far you have not told us the most important information: how did you get those variables into the workspace? The place where those variables are created in the workspace would be the best place to fix that very unfortunate data design.
Réponse acceptée
the cyclist
le 19 Sep 2022
If your data are already stored in dynamically named variables, then I think your only recourse is to use eval to do this task:
% Make up some data smaller than your actual data
meanSINR1 = rand(7,2);
meanSINR2 = rand(7,2);
meanSINR3 = rand(7,2);
meanSINR = [];
for ii = 1:3
eval(sprintf('meanSINR = [meanSINR; meanSINR%d];',ii))
end
It would be much better if you could go further upstream in your code, and use cell arrays or multi-dimensional arrays to store these data. For example, the above could instead have been
meanSINR = rand(7,2,3);
from the beginning, with all the data stored in a single array.
6 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Startup and Shutdown dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!