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

3 次查看(过去 30 天)
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 个评论
Robert Stuckey
Robert Stuckey 2016-10-3
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 2016-10-3
"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.

请先登录,再进行评论。

回答(2 个)

Gareth Thomas
Gareth Thomas 2016-10-3
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 2016-10-3
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)

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by