Azzera filtri
Azzera filtri

How can i create variables from a string?

4 visualizzazioni (ultimi 30 giorni)
Le Dung
Le Dung il 18 Mag 2017
Modificato: Stephen23 il 7 Ott 2019
Hi! I want to create an array of variables m1,m2,m3,....,mn, that are created by join "m" with array "1,2,3,...,n" I wrote a code (below), and i want to after run it, Matlab returns: m1=1 m2=5
M=[1 2 3;
4 5 6;
7 8 9];
mch=diag(M,0)';
x=2;
for i=1:x
ha=num2str(i);
m(ha)= mch(i);
end
Thank you so much!

Risposta accettata

KSSV
KSSV il 18 Mag 2017
Why you need a dynamic variable naming? This is not suggested and you should avoid.
You have matrix already and you can happily call them:
M=[1 2 3;
4 5 6;
7 8 9];
M(1) % is M1
M(2) % is M2
M(6) % is M6
.
.
.M(i) % is Mi where i <= numel(M)
  3 Commenti
Stephen23
Stephen23 il 18 Mag 2017
Modificato: Stephen23 il 7 Ott 2019
"But, because i want to make a general problem"
Yes, you are trying to make a general problem. And KSSV gave you a general solution instead.
Good work, KSSV.
M = [1,2,3;4,5,6;7,8,9];
mch = diag(M,0); % this is all you need
Sami Aldalahmeh
Sami Aldalahmeh il 7 Ott 2019
I believe that you should answer the question if you can not discourage the user. Giving advice in a polite way, on the other hand, is always welcomed.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Cell Arrays in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by