我有uicontrol
类型'edit',我希望能够在其上编写类似sin(2*10*pi*t)-sin(2*15*pi*t)
的内容,然后将此字符串转换为变量F的表达式,例如:{ {1}}之前已声明F=sin(2*10*pi*t)-sin(2*15*pi*t);
。
t
为了将字符串转换为表达式,我该怎么做?
答案 0 :(得分:1)
您可以通过not recommended避免使用eval
(通常为str2func
):
str = get(uicontrol_data, 'String'); %// reads string grom uicontrol
f = str2func(['@(t)' str]); %// creates anonymous function and function handle
F = f(t); %// evaluates that function for the previously declared variable `t`
答案 1 :(得分:0)
您必须使用内置的eval
功能。例如:
string = get(uicontrol_data, 'String');
eval(['F = ' string ';']); % Equivalent of F = ...;
最佳,