MATLAB Answers

String to actual function

4 views (last 30 days)
Ninad Pimpalkhare
Ninad Pimpalkhare on 9 Jul 2020
Answered: madhan ravi on 9 Jul 2020
Hi,
I have a string array A having 100 entries. The entries are like 1) X1+X2
2) X3+X4
3) X5+X10....etc
where X1, X2,....are variables already existing in the workspace and contain numerical data.
The string array A containing the functions as string, I need to execute it as in, if first entry of string is X1+X2, it pick the entry from the string and actually executes function X1+X2and stores the result in some other variable like H1.
can someone provide the code for it?

Answers (2)

Image Analyst
Image Analyst on 9 Jul 2020
X1 = randi(9, 1, 5)
X2 = randi(9, 1, 5)
str = 'X1+X2'
H = eval(str)
X1 =
8 2 5 5 6
X2 =
7 7 3 7 6
str =
'X1+X2'
H =
15 9 8 12 12

  0 Comments

Sign in to comment.


madhan ravi
madhan ravi on 9 Jul 2020
AVOID EVAL:
X1 = randi(9, 1, 5)
X2 = randi(9, 1, 5)
str = 'X1+X2'
H = subs(str2sym(str)) % requires symbolic toolbox

  0 Comments

Sign in to comment.