- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数值分析课程设计积分方法实际应用
数值分析课程设计报告
求积公式的实际应用
学 院 数学与统计学院 专 业 信息与计算科学 学号 姓名 成 绩 教师评语:
指导教师签字:
2018年月日1 绪论
数值分析是计算数学的一个主要部分,计算数学是数学科学的一个分支,它研究用计算机求解各种数学问题的数值检索方其理论与软件的实现。
随着计算机和计算方法的飞速发展,几乎所有学科都走向定量化和精确化,从而产生了一系列计算性的学科分支,如计算物理、计算化学、计算生物学、计算地质学、计算气象学和计算材料学等,计算数学中的数值计算方法则是解决“计算”问题的桥梁和工具。我们知道,计算能力是计算工具和计算方法的效率的乘积,提高计算方法的效率与提高计算机硬件的效率同样重要。科学计算已用到科学技术和社会生活的各个领域中。
数值计算方法,是一种研究并解决数学问题的数值近似解方法, 是在计算机上使用的解数学问题的方法,简称计算方法。在科学研究和工程技术中都要用到各种计算方法。 例如,在航天航空、地质勘探、汽车制造、桥梁设计、天气预报和汉字字样设计中都有计算方法的踪影。计算方法既有数学类课程中理论上的抽象性和严谨性,又有实用性和亚丁
2 Gauss求积公式
2.1 基本原理
求积公式
(2.1)
含有2n+2个待定参数,, 当为等距节点时得到的插值求积公其代数精度至少为n次,如果适当选取,有可能使求积公式(2.1)具有2n+1次代数精度,这类求积公式称为高斯求积公式。
为具有一般性,研究带权积分,这里为权函数,求积公式为
(2.2)
为不依赖于的求积系数,为求积节点,可适当选取及,使(2.2)具有2n+1次代数精度。
如果求积公式(2.2)具有2n+1次代数精度,则称其节点为高斯点,相应求积公式(2.2)称为高斯求积公式。
根据定义要使(2.2)式具有2n+1次代数精度,只要对,(),令(2.2)式精确成立,即
. (2.3)
当给定权函数,求出右端积分,则可由(2.3)式解得及
2.2 程序实现
建立gaussl.m文件,写入如下内容:
function s=gaussl(a,b,n)
h=(b-a)/n;
s=0.0;
for m=0:(1*n/2-1)
s=s+h*(gaussf(a+h*((1-1/sqrt(3))+2*m))+gaussf(a+h*((1+1/sqrt(3))+2*m)));
end
2.3 实例分析
例 计算积分
解 建立gaussf.m文件以调用gaussl.m文件中的函数,再写入如下内容:
function y=gaussf(x)
y=sqrt(x)*log(x);
再在命令行中输入:
s=gaussl(0,1,20)
得出如下结果:
s =
-0.4456
3 高斯-勒让德求积公式
3.1 基本原理
在高斯求积公式(2.1)中,若取权函数,区间为,则得公式
(3.1)
由于勒让德多项式是区间 上的正交多项式,因此,勒让德多项式的零点就是求积公式(3.1)的高斯点。形如(3.1)式的高斯公式称为高斯-勒让德求积公式。
3.2 程序实现
建立guasslegendre.m文件,写入如下内容:
function [ql,Ak,xk]=guasslegendre(fun,a,b,n,tol)
if nargin==1
a=-1;b=1;n=7;tol=1e-8;
elseif nargin==3
n=7;tol=1e-8;
elseif nargin==4
tol=1e-8;
elseif nargin==2|nargin5
error(The Number of Input Arguments Is Wrong!);
end
% 计算求积节点
syms x
p=sym2poly(diff((x^2-1)^(n+1),n+1))/(2^n*factorial(n));
tk=roots(p); % 求积节点
% 计算求积系数
Ak=zeros(n+1,1);
for i=1:n+1
xkt=tk;
xkt(i)=[];
pn=poly(xkt);
fp=@(x)polyval(pn,x)/polyval(pn,tk(i));
Ak(i)=quadl(fp,-1,1,tol); % 求积系数
end
% 积分变量代换,将[a,b]变换到[-1,1]
xk=(b-a)/2*tk+(b+a)/2;
% 检验积分函数fun的有效性
fun=fcnchk(fun,vectorize);
% 计算变量代换之后积分函数的值
fx=fun(xk)*(b-a)/2;
% 计算积分值
ql=su
文档评论(0)