matlab的积分公式,科学网-数值分析--复化积分公式matlab程序-殷春武的博文

%%%程序编写者  西北工业大学自动化学院    Email: yincwxa2013@mail.nwpu.edu.cn

%%  All rights reserved

clear

clc

format long

syms x

f=input('输入被积函数f=')

a=input('输入积分区间[a  b]=')

n=input('输入等分份数(如果要得到辛普森积分,n应该为偶数)n=')

%%%%%%%%%%%%%%%%%%%%%梯形积分公式

('复化梯形积分公式')

h=(a(2)-a(1))/n;

t=0;

x=a(1);

f1=eval(f);

x=a(2);

f2=eval(f);

for k=1:n-1

x=a(1)+k*h;

t=t+eval(f);

end

T=h*(f1+f2+2*t)/2

%%%%%%%%%%%%%%%%%%%%%复化辛普森积分公式

('复化辛普森积分公式')

h=(a(2)-a(1))/n;

x=a(1);

f1=eval(f);

x=a(2);

f2=eval(f);

t=0;

for k=1:n

x=a(1)+((2*k-1)/2)*h;

t=t+eval(f);

end

tt=0;

for k=1:n-1

x=a(1)+k*h;

tt=tt+eval(f);

end

S=h*(f1+f2+4*t+2*tt)/6

%%%%%%%%%%%%%%%%%%%%%复化柯特斯积分公式

('复化柯特斯积分公式')

h=(a(2)-a(1))/(4*n);

x=a(1);

f1=eval(f);

x=a(2);

f2=eval(f);

t1=0;

for k=1:2*n

x=a(1)+(2*k-1)*h;

t1=t1+eval(f);

end

t2=0;

for k=1:n

x=a(1)+(4*k-2)*h;

t2=t2+eval(f);

end

t3=0;

for k=1:n-1

x=a(1)+4*k*h;

t3=t3+eval(f);

end

I=(7*f1+32*t1+12*t2+14*t3+7*f2)*(4*h)/90

%实例验证p179 例7.9

%输入被积函数f=4/(1+x^2)

%输入积分区间[a  b]=[0   1]

转载本文请联系原作者获取授权,同时请注明本文来自殷春武科学网博客。

收藏

分享

分享到:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值