【问题标题】:trapezodial integral matlab梯形积分matlab
【发布时间】:2011-11-29 14:06:26
【问题描述】:

我想使用一个基本的自创命令来代替 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

【问题讨论】:

  • 您在使用自制集成功能时发现了什么错误?

标签: math matlab


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-21
    • 2014-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-23
    • 2020-03-02
    • 1970-01-01
    相关资源
    最近更新 更多