我试图通过为它编写一个函数来复制辛普森规则。但是,我仍然不清楚如何使用 eval 将字符串转换为 MatLab 中的实际函数。
功能是:
function result = simpson(fun, x0, xn, n)
f = eval(fun);
h = (xn-x0)/2;
xstart = f(x0) + f(xn);
x1 = 0;
x2 = 0;
for i = 1:n-1
x = x0 + h*i;
if (mod(i,2) == 0)
x2 = x2 + f(x);
else
x1 = x1 + f(x);
end
end
result = h*(xstart + 2*x2 + 4*x1)/3;
报告的错误是
Error using eval
Undefined function or variable 'x'
如何将 x 传递给函数的字符串形式?