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

3 visualizaciones (últimos 30 días)
Robert Stuckey
Robert Stuckey el 3 de Oct. de 2016
Comentada: Guillaume el 3 de Oct. de 2016
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 comentarios
Robert Stuckey
Robert Stuckey el 3 de Oct. de 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 el 3 de Oct. de 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.

Iniciar sesión para comentar.

Respuestas (2)

Gareth Thomas
Gareth Thomas el 3 de Oct. de 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 el 3 de Oct. de 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 comentario
Robert Stuckey
Robert Stuckey el 3 de Oct. de 2016
Actually i want to be able to input 6 and for my program to output the string that's the variable name.

Iniciar sesión para comentar.

Categorías

Más información sobre Characters and Strings en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by