MATLAB图形用户界面中的数值积分

MATLAB图形用户界面中的数值积分,matlab,integral,Matlab,Integral,我想在MATLAB GUI中计算以下积分: f(x) = a/(a+x^2) 当我输入a=1时,此结果显示: a^(1/2)*atan(x/a^(1/2)) 有什么问题 这是我的密码: a = str2double(get(handles.anum, 'String')); formula = sym(get(handles.enter_func, 'String')); result = int(formula); set(handles

我想在MATLAB GUI中计算以下积分:

f(x) = a/(a+x^2)  

当我输入
a=1
时,此结果显示:

a^(1/2)*atan(x/a^(1/2))
有什么问题

这是我的密码:

 a = str2double(get(handles.anum, 'String'));     
 formula = sym(get(handles.enter_func, 'String'));       
 result = int(formula);       
 set(handles.int, 'String', char(result));    

我相信,
handles.enter_func
中的
a
与您在
handles.anum中定义的
a
无关。符号积分是在假定通用
a
的情况下执行的。因此,您将得到一般结果。要进行替换,需要在集成后使用
subs

result= subs(int(formula),a,str2double(get(handles.anum , 'String')));
替换将用
handles.anum
中提供的值替换
a