String to actual function
Ältere Kommentare anzeigen
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?
2 Kommentare
Stephen23
am 9 Jul. 2020
You would be much better off using arrays and function handles.
Antworten (2)
Image Analyst
am 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
That said, see the FAQ: FAQ Why is it advised to avoid using the eval function?
madhan ravi
am 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
Kategorien
Mehr zu Variables finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!