Hi. I have a for loop that generates char like this: 'parameter_1' ('parameter_2' and so on).
I would like to store them all in a matrix M. Then have on the workspace something like this:
M = [parameter_1;
parameter_2;
...]
Is there an easy way to do this?

 Akzeptierte Antwort

Rik
Rik am 18 Jun. 2023

0 Stimmen

If you use a cell array instead, the parameters don't need to have the same number of characters. That will also make it easy to convert the a string and back, should you ever need to.

3 Kommentare

Alberto Acri
Alberto Acri am 18 Jun. 2023
Thanks, I will try using cells!
If you don't need them as char arrays, I recommend using a string array instead of a cell array containing char arrays. You can even vectorize the creation of the text data using the + operator for strings.
n = (1:5).'
n = 5×1
1 2 3 4 5
s = "parameter_" + n.^2
s = 5×1 string array
"parameter_1" "parameter_4" "parameter_9" "parameter_16" "parameter_25"
check = s(4) % should be "parameter_16"
check = "parameter_16"
Rik
Rik am 18 Jun. 2023
Just to add the final point: if you are using cells you need to use {} to access the content, otherwise you're dealing with the container (i.e. the cell element).

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Produkte

Version

R2021b

Gefragt:

am 18 Jun. 2023

Kommentiert:

Rik
am 18 Jun. 2023

Community Treasure Hunt

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

Start Hunting!

Translated by