How do i make print the variable name for a certain variable

3 visualizzazioni (ultimi 30 giorni)
Suppose there's this array [a,b,c,d . . . ].I'm trying to write a program that takes the product of two variables a and b and if a*b is in the array then it will print the variable name. For example if a=3 b=2 and c=6 then myfunction(a,b) will return the string'c'
  4 Commenti
Robert Stuckey
Robert Stuckey il 3 Ott 2016
I'm trying to write a program to build a Cayley table, where i can input various named matrices and it will give me a cell array arranged appropriately.
Guillaume
Guillaume il 3 Ott 2016
"Suppose there's this array [a,b,c,d . . . ]"
There is no array [a,b,c,d...]. There may be an array that is the result of concatenating [a,b,c,d...] but at this point matlab does not know anymore that the array values came from a,b,c and d.
Your whole setup sounds like a bad idea. There is never a good reason for a function to return the name of a variable.

Accedi per commentare.

Risposte (2)

Gareth Thomas
Gareth Thomas il 3 Ott 2016
myw=who;
now all you need to do is cycle through the values of the variables and return the myw.name(ind)

Gareth Thomas
Gareth Thomas il 3 Ott 2016
If I understand you correctly you would like to print a the content of a variable.
a = 2;b = 3;c = a*b;disp(c)
  1 Commento
Robert Stuckey
Robert Stuckey il 3 Ott 2016
Actually i want to be able to input 6 and for my program to output the string that's the variable name.

Accedi per commentare.

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by