Math 梯形规则
我想将“\int{0}^{1}(exp(-int{0}^{y}f(x)dx))dy”与我的基本梯形算法集成。我收到一个错误声明,但我应该将g定义为一个函数。你知道怎么做吗? 谢谢你的回答Math 梯形规则,math,matlab,Math,Matlab,我想将“\int{0}^{1}(exp(-int{0}^{y}f(x)dx))dy”与我的基本梯形算法集成。我收到一个错误声明,但我应该将g定义为一个函数。你知道怎么做吗? 谢谢你的回答 function y = trapapadbl(low1, up1,low2,up2,intstep1,intstep2,f) g = 0; step1 = (up1 - low1) / intstep1; step2 = (up2 - low2) / intstep2; for j = low1 : ste
function y = trapapadbl(low1, up1,low2,up2,intstep1,intstep2,f)
g = 0;
step1 = (up1 - low1) / intstep1;
step2 = (up2 - low2) / intstep2;
for j = low1 : step1 : up1
g = g + feval(f,j);
end
g = @(y)(g - (feval(f, low1) + feval(f, up1))/2) * step1;
for i = low2 : step2 : up2
y= y + feval(g,i);
end
y= (y - (feval(g, low2) + feval(g, up2))/2) * step2;
如果不努力理解代码(!),错误是y
从未初始化。只有当y
有值时,才能向其添加任何内容。当我将y
初始化为0时,代码运行,但我将0
作为输出,这不是将sin
从0积分为1时发生的情况。我可能调用了错误的函数,但这是需要注意的
此外,您的代码令人困惑,因为您使用变量
g
作为双精度(数字)和函数,即使是在同一行中!当y
是匿名函数的输入时,同样的问题也会发生,但稍后也是双精度的。它的语法是正确的,但有点难读。考虑使用一个不同的变量名,或者包括清晰的注释(或两者都)!< P/>你能提供一个示例调用吗?你也可以显示错误消息吗?TekEKuler-@ Smail Ar::)我想要评估的是例如It{{ 0 } ^ 2 } {{ 0 } ^ y} EXP(x)dx Dy=?我的编程经验很差,但我想我可能应该为内积分定义一个函数。“如何”是我的问题?tesekkürler tekrar…f=@(x)x^2f=@(x)x^2>>trapapadbl(0,1,2,3,10,10,f)???未定义的函数或变量“y”。18y=y+feval(g,i)时==>trapapadbl中的错误;谢谢@alexplanation!现在我发现我的问题也有点困惑:)
>> trapapadbl(0,1,0.1,0,1,0.1,@sin)
??? Undefined function or variable "y".
Error in ==> trapapadbl at 12
y= y + feval(g,i);