⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exp6_1.m

📁 使用matlab软件编制的计算程序
💻 M
字号:
% exp6_1.m --- 学习数值积分命令

% [1] -------- 自适应Simpson积分法 --------
% [简介]  quad 命令是递归自适应Simpson积分法(recursive adaptive Simpson quadrature).
%         这是最常用的命令
%         所谓自适应就是程序自动判别函数的变化情况,在变化剧烈的地方,
%         划分的较细,在变化平稳的地方,划分的较粗,这样在保证精度的情况下
%         比等分节省了计算量.(自适应的原理暂不学)
% [调用方法]
%         I = quad(FUN,a,b,tol)
%         FUN 是被积函数, [a,b]是积分区间, tol是绝对误差容差(缺省值1e-6)

FUN = inline('13*(x-x.^2).*exp(-3*x./2)');   % 注意:quad 要求必须用点运算
a = 0;  b = 4;  tol = 1e-6;
I1  = quad(FUN,a,b,tol);
clc,fprintf('\n辛甫生积分  %15.10f',I1)

% [2] -------- 样条积分法 --------
% [简介]  这是对付表格函数的常用方法,
%         就是用样条插值(分段多项式)近似代替被积函数

xx = 0:0.1:4;  yy = FUN(xx);         % 对上面函数产生函数表格
pp = spline(xx,yy);                  % 求样条,当然也可调用你的其它样条
int_pp = fnint(pp);                  % 求样条积分,相当于样条的不定积分
I2 = ppval( int_pp,[0,4] ) * [-1;1]; % 据样条函数(原函数)计算所给区间的积分值,相当于定积分
fprintf('\n样条积分    %15.10f',I2)
% ---------------------------------

I3 = 4108/27*exp(-6)-52/27;          % 精确值
fprintf('\n精 确 值    %15.10f',I3)




% ******** 你的实验 ********
% 【实验一】自学
% [1]精度更高的数值积分命令 quadl (第一章已用过了)
%    和
% [2]样条数值微分命令 fnder (参见 P150)

%★【实验二】
%  按照 P138 图6-2 编复化Simpson求积程序 S = mysimp(f,a,b,n)
%  我们不写出程序框架了,通过前面的训练相信你一定能够完成得很好.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -