Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#3 |
初级会员
注册日期: 2012-04-07
年龄: 36
帖子: 3
声望力: 0 ![]() |
![]()
在计算机上为计算函数f(x)在区间[a,b]上的积分,要求误差小于ε。采用复化梯形公或龙贝格积分法求积分的matlab程序。为满足精度要求(误差小于ε),通常采用将区间不断二分的方法。
求高手赐教matlab程序,本人为matlab初学者,自己编了一个程序: clear,clc; f(x)=erfen(x); a=input('input a:'); b=input('input b:'); error=input('input error:'); h=b-a;T0=[f(a)+f(b)]*h/2; h=h/2;k=1;m=2^k; sum=0; for i=1 ![]() x(i)=a+i*h; sum=sum+f(x(i)); T1=[f(a)+sum+f(b)]*h/2; end while(abs(T1-T0)>error) T0=T1; h=h/2; k=k+1; end disp('T1'); 定义的函数f(x)=erfen(x),即二分。运行时总出现??? Undefined function or variable 'x'.
__________________
简单而活 |
![]() |
![]() |