Math 梯形积分
我想用matlab集成命令代替,一个基本的自建命令。你知道如何修正这个错误吗?如果我使用Matlab quad命令,我的算法工作得很好,但当我尝试使用我自己创建的积分函数时,并不令人惊讶地确定,它不起作用: M文件:Math 梯形积分,math,matlab,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);
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
您没有遵循脚本中的函数定义。有趣的参数变量alpha应该是最后一个
试一下inti,j=trapapa0,yj,10,alpha当您使用自制的积分函数时,您观察到了什么错误?