数值分析习题4/数值积分

数值积分题目

在这里插入图片描述

被积函数 f1,f2,f3 和(-1,1)上的被积函数 f11,f22,f33。

function [y] = f1(x)
%对数组求函数 1 的值
k=length(x);
for i=1:1:k
if x(i)==0
 y(i)=1;
else
y(i)=sin(x(i))/x(i);
end
end
function [y] = f2(x)
%对数组求函数 2 的值
y=exp(x)./(4+x.^2);
end
function [y] = f3(x)
%对数组求函数 3 的值
y=log(1+x)./(1+x.^2);
end
function [y] = f11(x)
%求区间变换后函数 1 的值
if x==-1
 y=1;
else
y=sin((1+x)/2)/(1+x);
end
function [y] = f22(x)
%求区间变换后函数 2 的值
y=exp((1+x)/2)/(8+((1+x)^2)/2);
end
function [y] = f33(x)
%求区间变换后函数 3 的值
y=log((3+x)/2)/(2+((1+x)^2)/2);
end

复合的梯形公式求积分

format long ;
n=20;s1=0; %迭代求函数 1 各项的带系数的累加和
s2=0; %迭代求函数 2 各项的带系数的累加和
s3=0; %迭代求函数 3 各项的带系数的累加和
h=1/n; %步长
x=0:h:1;
y1=f1(x); %调用函数 y1=sin(x)./x;y(0)=1;
y2=f2(x); %调用函数 y2=exp(x)./(4+x.^2);
y3=f3(x); %调用函数 y3=log(1+x)./(1+x.^2);
for i=1:1:n
 s1=s1+y1(i)+y1(i+1);
 s2=s2+y2(i)+y2(i+1);
s3=s3+y3(i)+y3(i+1);
end
%************************求出结果,精确到小数点后 7**********************
s1=h*s1/2;
s1=vpa(s1,7)
s2=h*s2/2;
s2=vpa(s2,7)
s3=h*s3/2;
s3=vpa(s3,7)

复合的辛普森公式求积分

format long ;
n=10;
s1=0; %迭代求函数 1 各项的带系数的累加和
s2=0; %迭代求函数 2 各项的带系数的累加和
s3=0; %迭代求函数 3 各项的带系数的累加和
h=1/(2*n);
x=0:h:1;
y1=f1(x); %调用函数 y1=sin(x)./x;y(0)=1;
y2=f2(x); %调用函数 y2=exp(x)./(4+x.^2);
y3=f3(x); %调用函数 y3=log(1+x)./(1+x.^2);
for i=1:1:2*n
 s1=s1+y1(i)+y1(i+1);
 s2=s2+y2(i)+y2(i+1);
 s3=s3+y3(i)+y3(i+1);
end
for j=2:2:2*n
 s1=s1+2*y1(j);
 s2=s2+2*y2(j);
 s3=s3+2*y3(j);
end
%************************求出结果,精确到小数点后 7**********************
s1=h*s1/3;s1=vpa(s1,7)
s2=h*s2/3;
s2=vpa(s2,7)
s3=h*s3/3;
s3=vpa(s3,7)

Romberg 公式求积分

b=1;
a=0;
L=b-a;
c1=0;
c2=0;
c3=0;
A1=zeros(4,4);
A2=zeros(4,4);
A3=zeros(4,4);
format long;
%*********写出 T1,T2,T3 数表第一个数*******
A1(1,1)=(L/2)*(f1(a)+f1(b));
A2(1,1)=(L/2)*(f2(a)+f2(b));
A3(1,1)=(L/2)*(f3(a)+f3(b));
%*********写出 T1,T2,T3 数表第一列*********
for i=2:1:4
 t=L/(2^(i-1));
 n=2^(i-2);
 for j=1:1:n
 c1=c1+f1(a+(2*j-1)*t);
 c2=c2+f2(a+(2*j-1)*t);
 c3=c3+f3(a+(2*j-1)*t);
 end
 A1(i,1)=A1(i-1,1)/2+t*c1;
 A2(i,1)=A2(i-1,1)/2+t*c2;
 A3(i,1)=A3(i-1,1)/2+t*c3;
 c1=0;
 c2=0;
 c3=0;
end
%*********写出全部 T1,T2,T3 数表*************
for m=2:1:4
 for k=m:1:4
 A1(k,m)=((4^(m-1))*A1(k,(m-1))-A1((k-1),(m-1)))/(4^(m-1)-1);
 A2(k,m)=((4^(m-1))*A2(k,(m-1))-A2((k-1),(m-1)))/(4^(m-1)-1);
 A3(k,m)=((4^(m-1))*A3(k,(m-1))-A3((k-1),(m-1)))/(4^(m-1)-1);
 endend
%************************求出结果,精确到小数点后 7**********************
s1=vpa(A1(4,4),7)
s2=vpa(A2(4,4),7)
s3=vpa(A3(4,4),7)

四点高斯—勒让德公式求积分

format long;
s1=0;
s2=0;
s3=0;
%查表获得节点 t 和系数 A
t=[-0.86113631 -0.33998104 0.33998104 0.86113631];
A=[0.34785478 0.65214515 0.65214515 0.34785478];
for i=1:1:4
 s1=s1+A(i)*f11(t(i));
s2=s2+A(i)*f22(t(i));
 s3=s3+A(i)*f33(t(i));
end
%************************求出结果,精确到小数点后 7**********************
s1=vpa(s1,7)
s2=vpa(s2,7)
s3=vpa(s3,7)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值