MATLAB高斯-勒让德积分求解

MATLAB高斯-勒让德积分求解

积分函数

function [ y ] = CalcuFunctionValue( x )
y=exp(-x^2);%积分函数
end

求积分算法函数

function [ result ] = gslrdjf( a,b,n )
if n2
GaussP=[-0.5773503 0.5773503];
GaussA=[1 1];
end
if n
3
GaussP=[-0.7745966 0 0.7745966];
GaussA=[0.5555556 0.888888889 0.5555556];
end
if n4
GaussP=[-0.8611363 -0.3399810 0.3399810 0.8611363];
GaussA=[0.3478548 0.65214515 0.65214515 0.3478548];
end
if n
5
GaussP=[-0.9061798 -0.5384593 0 0.5384593 0.9061798];
GaussA=[0.2369268 0.47862867 0.56888889 0.47862867 0.2369268];
end
A=(b-a)/2;
B=(b+a)/2;
result=0.0;
for i=1:n
result=result+GaussA(1,i)CalcuFunctionValue(AGaussP(1,i)+B);
end
result=A*result;
end

调用语句

clear all
close all
clc

a=0;%函数求积分的区间下限
b=1;%函数求积分的区间上限
h=(b-a)/4;%函数区间分份
A=0;
for i=1:4
A=A+gslrdjf( a+(i-1)h,a+ih ,2 );
end
A
A=0;
for i=1:4
A=A+gslrdjf( a+(i-1)h,a+ih ,3 );
end
A
A=0;
for i=1:4
A=A+gslrdjf( a+(i-1)h,a+ih ,4 );
end
A
A=0;
for i=1:4
A=A+gslrdjf( a+(i-1)h,a+ih ,5 );
end
A

运行截图

在这里插入图片描述

  • 4
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值