Effacer les filtres
Effacer les filtres

Matrix Maipulation and adding from variables in the workspace

1 vue (au cours des 30 derniers jours)
arun Dhillon
arun Dhillon le 9 Mai 2019
Commenté : arun Dhillon le 13 Mai 2019
I am saving a file(penmax), which has n no. of variables. In each variable, the size is always 1*5 (1 row, 5 cols.); the names of variables are liuke pick1, pick2,pick3...but the the no of variables inside the penmax file changes each time i run the script.
What I want to do is, to save all the variables inside of the penmax file into an m*5 matrix(newmatrix). I cannot use [] to concatenate each variable with the other one as I am not sure for how many variables penmax may have in total; but I am sure for each of the variables will have 1 row and 5 cols. Please edify me for how can I put all the variables of penmax into an n*5 matrix(newmatrix).
The file format is penmax.mat
  4 commentaires
Stephen23
Stephen23 le 10 Mai 2019
Modifié(e) : Stephen23 le 10 Mai 2019
"Essentially lets say, you simply variabes in the workspace from a1,a2,...aN. "
I would never have numbered variables like that in my workspace, so that question is moot.
Having numbered variables is a sign that code is very badly designed. Usually what happens with numbered variables is that beginners try to access them dynamically by name. Dynamically accessing variable names is one way that beginners force themselves into writing slow, complex, obfuscated, buggy code that is hard to debug. Read this to know why:
Avoiding such badly design code is very easy, usually using one array and some indexing is all that is required. Indexing is simple, neat, easy to debug, and very efficient (unlike what you are trying to do).
I doubt that you sat and wrote all of those variable names out by hand, so wherever you imported/generated those arrays, instead simply allocate them into one (preallocated) array (which could be numeric, cell, structure, table, etc.):
arun Dhillon
arun Dhillon le 13 Mai 2019
You are right,
The code is not designed very well, and I am trying to rectify the structure; but thanks a lot for your advise.

Connectez-vous pour commenter.

Réponses (1)

Stephen23
Stephen23 le 10 Mai 2019
Load the file into a variable (which is a structure) and access its fieldnames:
S = load(...)

Catégories

En savoir plus sur Get Started with MATLAB dans Help Center et File Exchange

Produits


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by