梯形积分matlab

时间:2011-11-29 14:06:26

标签: math matlab

我想使用matlab集成命令,一个基本的自己创建的命令。你有什么想法如何修复错误?如果我使用Matlab quad命令,我的算法运行良好,但当我尝试使用我自己创建的积分函数时,并不令人惊讶,它不起作用:(

M-文件:

function y = trapapa(low, up, ints, fun)
 y = 0;
    step = (up - low) / ints;
    for j = low : step : up
        y = y + feval(fun,j);
    end
    y = (y - (feval(fun, low) + feval(fun, up))/2) * step;

平均算法:

clear;
x0=linspace(0,4,3);
y=linspace(0,2,3);
for i=1:length(x0)
for j=1:length(y)
x(i,j)=y(j)+x0(i);
alpha=@(rho)((5-2*x(i,j)).*exp(y(j)-rho))./2;
%int(i,j)=quad(alpha,0,y(j))
int(i,j)=trapapa(alpha,0,y(j),10)
end
end

1 个答案:

答案 0 :(得分:0)

您没有在脚本中关注您的函数定义。 fun参数(变量alpha)应该是最后一个。

尝试int(i,j)=trapapa(0,y(j),10,alpha)