概述
%%%程序编写者 西北工业大学自动化学院 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]
转载本文请联系原作者获取授权,同时请注明本文来自殷春武科学网博客。
收藏
分享
分享到:
最后
以上就是踏实月光为你收集整理的matlab的积分公式,科学网-数值分析--复化积分公式matlab程序-殷春武的博文的全部内容,希望文章能够帮你解决matlab的积分公式,科学网-数值分析--复化积分公式matlab程序-殷春武的博文所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复