matlab中龙贝格积分,龙贝格积分-matlab通用程序
數(shù)值分析課程的大作業(yè),教材《數(shù)值分析》李乃成.梅立泉
clear
clc
format long
f=input(‘請(qǐng)輸入原函數(shù)f=’,’s’);
a=input(‘積分下限a=’);
b=input(‘積分上限b=’);
eps1=input(‘精度eps1=’);
T(1)=double((b-a)/2*(limit(sym(f),findsym(sym(f)),a)+limit(sym(f),findsym(sym(f)),b)));
for k=2:4
sum1=0;
for i=1:2^(k-2)
sum1=sum1+subs(sym(f),findsym(sym(f)),(a+(2*i-1)*(b-a)/2^(k-1)));
end
T(k)=1/2*T(k-1)+(b-a)/(2^(k-1))*sum1;
end
for k=1:3
S(k)=T(k+1)+1/(4-1)*(T(k+1)-T(k));
end
for k=1:2
C(k)=S(k+1)+1/(4^2-1)*(S(k+1)-S(k));
end
R(1)=C(2)+1/(4^3-1)*(C(2)-C(1));
k=3;
while 1
T(1)=T(2);
T(2)=T(3);
T(3)=T(4);
sum2=0;
for i=1:2^k
sum2=sum2+subs(sym(f),findsym(sym(f)),(a+(2*i-1)*(b-a)/2^(k+1)));
end
T(4)=1/2*T(4)+(b-a)/2^(k+1)*sum2;
S(1)=S(2);
S(2)=S(3);
S(3)=T(4)+1/(4-1)*(T(4)-T(3));
C(1)=C(2);
C(2)=S(3)+1/(4^2-1)*(S(3)-S(2));
R(2)=C(2)+1/(4^3-1)*(C(2)-C(1));
if abs(R(2)-R(1))
break;
end
R(1)=R(2);
end
vpa(R(2),9)
總結(jié)
以上是生活随笔為你收集整理的matlab中龙贝格积分,龙贝格积分-matlab通用程序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 输出php数组结构,在PHP中输出数组结
- 下一篇: php蜘蛛池搭建教程,【小旋风教程】万能