查看单个帖子
旧 2012-04-07, 19:31   #2
Mguan
初级会员
 
Mguan 的头像
 
注册日期: 2012-04-07
年龄: 36
帖子: 3
声望力: 0
Mguan 正向着好的方向发展
默认 回复: 求——给定精度求积分的matlab程序

引用:
作者: yfl 查看帖子
能把问题描述的细致些吗?这样方便他人解答
在计算机上为计算函数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=1m-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'.
__________________
简单而活
Mguan 当前离线   回复时引用此帖