Create && Fill array variables resulting from the concatenation of string characters and numbers
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi
I have been unsucessfully looking for an advice on a code that loops through a dataset (of cell type) and extracting each column as data vector, and hope MATLAB pundits could assist owing to the challenging feature of this task.
[i,j]=size(testdata);
k=2;
while k<=j % looping through columns
['_' num2str(k-1)'yr']=cell2mat(testdata(:,k)); %extract data from each column in "testdata "and assign it to variables "_kyr" as column vector
k=k+1;
end
--------------------------
Error: An array for multiple LHS assignment cannot contain LEX_TS_STRING.
Thanks in advance and regards
1 Commento
Stephen23
il 19 Ago 2015
You are trying to create variable names dynamically. This is a bad idea, read the answers to know why.
Risposte (1)
Stephen23
il 19 Ago 2015
Modificato: Stephen23
il 19 Giu 2019
3 Commenti
Stephen23
il 19 Ago 2015
Modificato: Stephen23
il 19 Ago 2015
Just use cell2mat on your whole cell array, you do not need to use separate variables. Then use indexing to quickly access the rows/columns that you require.
The links that I gave will not create "additional confusion", because they all state that creating variables names dynamically is slow, buggy and a bad idea. It is "recurrent topic" because beginners keep thinking that it is a great idea.
Vedere anche
Categorie
Scopri di più su Matrix Indexing in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!