i want to create a function that contains table and produces an output

2 views (last 30 days)
Raza
Raza on 1 Oct 2014
Edited: Stephen on 1 Oct 2014
i want to create a function that contains table and produces an output after comparing the variable name with the value present in the table
example
function name is compare
compare(a)
it produces 23
as it will be defined in function that
a=23
b=24 and so on

Accepted Answer

Stephen
Stephen on 1 Oct 2014
Edited: Stephen on 1 Oct 2014
Does it need to be a function ? Does it really need to contain a table ?
Assuming that the "name" is a string (if it isn't then you can use inputname ), then there are several ways you could achieve this:
  • given then names in your example 'a' and 'b', this will work for individual characters from 'a' to 'z':
name_string - 'a' + 23
this can easily be defined as a function:
>>fun = @(s) s-'a'+23;
>>fun('b')
ans = 24
  • for more complicated name strings you could use a struct to achieve this functionality:
>>A = struct('aa',23,'bb',24);
>>A.('bb')
ans = 24
You might also like to read about double and strcmp .

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by