String to actual function
1 回表示 (過去 30 日間)
古いコメントを表示
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 件のコメント
回答 (2 件)
Image Analyst
2020 年 7 月 9 日
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?
0 件のコメント
madhan ravi
2020 年 7 月 9 日
AVOID EVAL:
X1 = randi(9, 1, 5)
X2 = randi(9, 1, 5)
str = 'X1+X2'
H = subs(str2sym(str)) % requires symbolic toolbox
0 件のコメント
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!