梯形法则 Matlab
Trapezodial Rule Matlab
我正在完成 class 的作业。我们要按照流程图来查找陷阱规则代码的值。我相信问题出在我的主要代码上。
我不确定我的函数代码或我的主要代码是否有问题,任何帮助将不胜感激。
当我 运行 部分时,它显示函数作为答案
下面是我的主脚本代码:
f = @(x) (4*sin (x)) / (exp(2*x)) ;
trap_haskell(f , 0 , 3 , 7)
剩下的就是我的梯形规则代码
function [f] = trap_haskell(f, a, b, n)
x = a ;
h = (b - a) / n ;
s = f (a) ;
for k=1:1:n-1
x = x + h ;
s = s + 2 * f(x) ;
end
s = s + f(b) ;
I = (b - a) * s / (2 * n) ;
end
您正在 returning f
作为 trap_haskell
的输出参数,它是 trap_haskell
本身的输入函数。代码中的变量 I
实际上存储了积分,因此只需将函数定义的输出变量更改为 return 积分即可:
%// ------ Change here
%// |
%// V
function [I] = trap_haskell(f, a, b, n)
我正在完成 class 的作业。我们要按照流程图来查找陷阱规则代码的值。我相信问题出在我的主要代码上。
我不确定我的函数代码或我的主要代码是否有问题,任何帮助将不胜感激。
当我 运行 部分时,它显示函数作为答案
下面是我的主脚本代码:
f = @(x) (4*sin (x)) / (exp(2*x)) ;
trap_haskell(f , 0 , 3 , 7)
剩下的就是我的梯形规则代码
function [f] = trap_haskell(f, a, b, n)
x = a ;
h = (b - a) / n ;
s = f (a) ;
for k=1:1:n-1
x = x + h ;
s = s + 2 * f(x) ;
end
s = s + f(b) ;
I = (b - a) * s / (2 * n) ;
end
您正在 returning f
作为 trap_haskell
的输出参数,它是 trap_haskell
本身的输入函数。代码中的变量 I
实际上存储了积分,因此只需将函数定义的输出变量更改为 return 积分即可:
%// ------ Change here
%// |
%// V
function [I] = trap_haskell(f, a, b, n)