如何在Matlab中填充曲线下面积

时间:2015-05-14 18:08:50

标签: matlab

用户提供了一个功能,我使用syms(x)ezplot(funcion)在轴上制作图形。在另一种情况下,用户给出x的函数和间隔。在第二个示例中,我使用plot()而不是ezplot()。这是我的代码=

syms x;

funcion=eval(get(handles.txtFuncion, 'String'));

ezplot(funcion);

第二个代码是:

a=eval(get(handles.txtA, 'String'));

b=eval(get(handles.txtB, 'String'));

x=a:b;

funcion=eval(get(handles.txtFuncion, 'String'));

plot(x,funcion);

1 个答案:

答案 0 :(得分:2)

我没有符号数学工具箱,因此我只能处理第二个代码。

鉴于提供的样本数据:

a = -10;
b = 10;
x = a:b;
h.areaplot = area(x, eval('x.^2'));

产地:

area plot

编辑:或者您可以修改函数输入语法,而无需eval

a = str2double(get(handles.txtA, 'String'));
b = str2double(get(handles.txtB, 'String'));

x = a:b;

funcion = str2func(get(handles.txtFuncion, 'String'));

h.areaplot = area(x, funcion(x));

现在,您的文字输入采用'@(x) x.^2'

形式