matlab中feval函数调用出错

2025年03月22日 18:49
有1个网友回答
网友(1):

feval只接受函数名,试试这样:
函数:(simpr1.m)
function s=simpr1(f,a,b,n)
h=(b-a)/(2*n);
s1=0;
s2=0;
for k=1:n
x=a+h*(2*k-1);
s1=s1+feval(f,x);
end
for k=1:(n-1)
x=a+h*2*k;
s2=s2+feval(f,x);
end
s=h*(feval(f,a)+feval(f,b)+4*s1+2*s2)/3;
----------------------
主程序:
clear all;clc;
f=@(x)1./(1+x.^2);
simpr1(f,-1,1,10)