String to actual function
조회 수: 12 (최근 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!