数值分析课程设计题目与要求
数值分析课程设计
数值分析课程设计
一、题目描述
在本次数值分析课程设计中,我们需要实现下列内容:
给定一个函数f(x),任取一个初值x0,使用牛顿法求出f(x)=0的一个根。
二、算法实现
在数值计算中,牛顿法(Newton’s method) 是一种迭代算法,可以快速地求
解方程的数值解,对于一般的实数函数,牛顿法可以用来求方程f(x)=0的根。
设x n是f(x)的根的一个近似值,y=f(x n)是对应的函数值,则用f(x)
的一阶泰勒展开式
$$ f(x) \\approx f(x_n)+f'(x_n)(x-x_n) $$
且令上式等于零,得到牛顿迭代公式:
$$ x_{n+1}=x_n-\\frac{f(x_n)}{f'(x_n)} $$
若x0是f(x)的一个根的初始近似值,则
$$ x_{n+1}=x_n-\\frac{f(x_n)}{f'(x_n)}, \\ n=0,1,2,\\cdots $$
是迭代序列,如果 $\\lim\\limits_{n\\rightarrow \\infty}x_n=\\alpha$,且 $f(\\alpha)=0$,则 $\\alpha$ 是方程的一个根。
三、实验步骤
1.确定初始值x0,计算f(x0)和f′(x0)。
2.按照牛顿法迭代公式计算x n+1。
3.如果满足指定的条件,则停止迭代,并输出x n+1。
4.否则,返回第二步迭代计算x n+2,直至满足指定的条件。
四、实验代码
def newton_method(f, df, x0, eps=1e-8, max_iter=1000):
数值分析方法课程设计
数值分析方法课程设计
背景介绍
数值分析是一门研究求解各种数学问题的有效数值计算方法的学科,其应用广泛,如科学计算、工程设计和金融计算等领域。在数值分析中,许多方法依赖于计算机的计算能力。此外,数值分析还需要对数学理论和计算机科学两方面的知识有较深的理解。
本课程设计旨在通过实践,帮助学生深入了解数值分析方法及其应用,并提高学生的计算机编程能力。
课程设计目标
•熟练掌握数值分析中的基本算法和方法,如插值法、数值积分等
•能够将所学算法应用于实际问题,并编写可靠的程序解决问题
•加深对计算机编程的理解和掌握,增强编程实践和创新能力
•提高对数值分析和计算机科学交叉领域的理解
课程内容
第一部分:基本算法和方法
1.数值微积分基本概念和原理
2.插值法及其在实际中的应用
3.数值积分的基本方法和理论基础
4.常微分方程常用数值解法
第二部分:实践应用与编程实现
1.利用插值法和数值积分求解实际问题
2.实现数值微积分和常微分方程的求解程序
3.利用现有的数值分析软件解决实际问题,如 MATLAB 和 Python 等
课程设计方案
1.向学生介绍数值分析基本算法和方法,并讲解其理论基础和实际应用。
2.向学生提供一些实际问题,引导学生根据所学算法和方法进行求解。
3.给予学生一定的编程实践机会,让他们能够将所学算法实现为程序,
并运用到具体的问题中。
4.通过课程作业、仿真实验等形式对学生进行考核和评价,确保学生能
够有效掌握所学知识和能力。
评价标准
1.学生掌握数值分析基本算法和方法的程度
2.学生在实际问题中应用所学算法的能力
3.学生编程实践和创新能力的水平
《数值分析》课程设计—作业实验一...
《数值分析》课程设计—作业
实验一
1.1 水手、猴子和椰子问题:五个水手带了一只猴子来到南太平洋的一个荒岛上,发现那里有一大堆椰子。由于旅途的颠簸,大家都很疲惫,很快就入睡了。第一个水手醒来后,把椰子平分成五堆,将多余的一只给了猴子,他私藏了一堆后便又去睡了。第二、第三、第四、第五个水手也陆续起来,和第一个水手一样,把椰子分成五堆,恰多一只猴子,私藏一堆,再去入睡,天亮以后,大家把余下的椰子重新等分成五堆,每人分一堆,正好余一只再给猴子,试问原先共有几只椰子?
试分析椰子数目的变化规律,利用逆向递推的方法求解这一问题。
解:
一、问题分析:对于本题,比较简单,我们只需要判断原来椰子的个数及每个人私藏了一份之后剩下的是否能被5除余1,直到最后分完。
二、问题求解:通过matlab 建立M 文件,有如下程序:
或者
对于第一个程序,n 取2000;对于第二个程序,n 取20001,就能得到我们想要的结果,即原先一共有15621个椰子,最终平均每人得4092个椰子。
n=input('input n:');
for
x=1:n p=5*x+1;
for k=1:5 p=5*p/4+1;
end if p==fix(p) break ; end end
disp([x,p]) input n:2000
1023 15621
function fentao(n)
a=cat(1,7);
for j=n:-1:1 a(1)=j;i=1; while i<7
a(i+1)=4*(a(i)-1)/5; i=i+1;
end
if a(7)==fix(a(7)) a, end end end
《数值分析》 温度问题
float step;
for(step=X[i];step<X[i+1];step+=0.5)
{
float temp=M[i]*(X[i+1]-step)*(X[i+1]-step)*(X[i+1]-step)/(6*h[i])+M[i+1]*(step-X[i])*(step-X[i])*(step-X[i])/(6*h[i])+(Y[i]-1/6*M[i]*h[i]*h[i])*(X[i+1]-step)/h[i]+(Y[i+1]-1/6*M[i+1]*h[i]*h[i])*(step-X[i])/h[i];
fBaidu Nhomakorabeaoat f(int i,int j)
{
if(j-i==1) return (Y[j]-Y[i])/(X[j]-X[i]);
else return (f(i+1,j)-f(i,j-1))/(X[j]-X[i]);
}
void main()
{
ifstream istrm("data.txt");
ofstream ostrm("output.xls");
for(i=1;i<=n;i++)
{
m[i]=m[i]-(u[i]/m[i-1])*q[i-1];
数值分析课设实验报告 多项式求解
《数值分析》课程设计任务书
根据课设任务书要求,我们的任务是计算出给定的任意的多项式方程:
n
n n n x
a x
a x a x a a ++++--1
12
210 根的值。在此我们选用牛顿迭代法进行计算。但为了
避免重根的问题,我们在得到一个给定函数后,先要将其函数图像画出。在图像中我们能清晰的看出每个根的大概位置,再选取其中一个根的近似值记为初始值,之后确定精度和误差界后就可以计算这个根的值了。
计算中我们将用到三个M 文件,分别存放牛顿迭代函数、原函数及导函数。其中原函数和到函数是以迭代形式表现出来的,以此来表示任意阶多项式。
这个模型选取依次求根的方式,能将根的精确度进一步提高,因此适于解决小型多项式的求根问题。
关键字:
牛顿迭代函数、多项式、原函数、导函数
一、问题的提出————————————————————————4
二、模型的假设与符号说明———————————————————5
三、问题的分析、模型的建立和测试求解————————————6
问题分析———————————————————————6
模型建立———————————————————————6
测试数据的结果分析——————————————————8
四、模型的优缺点和评价————————————————————11
五、课设总结—————————————————————————12
六、参考文献—————————————————————————13
七、附录———————————————————————————14
一、问题的提出
1.1问题的背景
数值分析课程设计---多项式插值的振荡现象
数值分析课程设计
课程设计的目的和意义:
⏹ 《课程设计》是数值分析的同步课程,是《数值分析》的上机实习课。 ⏹ 《数值分析》课程中构造了各种有效的算法和有效公式,同学们通过上机作课程设计,学习揣摩这些算法的思想和构造,评价算法的优劣性。 ⏹ 通过上机,可以提高我们运用数学软件编程解决问题的能力,为今后从事科学计算和软件开发打下良好的基础。
课程设计的题目:
多项式插值的振荡现象
设计目的:
通过对多项式插值现象的观察,了解多项式的次数与逼近效 的关系,提高同学们分析实验结果的能力。
问题提出:
考虑在一个固定区间上用插值逼近一个函数。显然,Lagrange 插值中使用的节点越多,插值多项式的次数就越高。我们自然关心插值多项式增加时,Ln(x)是否也更加靠近被逼近的函数。龙格(Runge)给出的一个例子是极著名并富有启发性的。设区间[-1,1]上的函数
2
1()125f x x =
+
区间[-考虑设计1,1]的一个等距划分,节点为
21,
0,1,2,,i i
x i n
n
=-+=
则拉个朗日插值多项式为
201
()()125n
n i
i i L x l x x ==+∑
其中的l i(x),i=0,1,2,…,n 是n 次Lagrange 插值基函数。
设计要求:
1.选择不断增大的分点数n=2,3,…
*画出原函数f(x)及插值多项式函数Ln(x)在[-1,1]上的图像; *给出每一次逼近的最大误差; *比较并分析实验结果。
2.选择其它函数,例如定义在区间[-5,5]上的函数。
4
(),()arctan 1x
h x g x x x ==+
数值分析课程课程设计
课程设计
我再也回不到大二了,
大学是那么短暂
设计题目 __________ 数值分析
学生姓名 __________ 李飞吾___________ 学号 ________ XXXXXXXX
专业班级信息计XXXXX班
指导教师______________________________
数值分析课程设计
1.1水手、猴子和椰子问题:五个水手带了一只猴子来到南太平洋的 一个荒岛上,发现那里有一大堆椰子。由于旅途的颠簸,大家都很疲惫, 很快就入睡了。第一个水手醒来后,把椰子平分成五堆,将多余的一只 给了猴子,他私藏了一堆后便又去睡了。第
二、第三、第四、第五个水 手也陆续起来,和第一个水手一样,把椰子分成五堆,恰多一只猴子, 私藏一堆,再去入睡,天亮以后,大家把余下的椰子重新等分成五堆, 每人分一堆,正好余一只再给猴子,试问原先共有几只椰子? ( 15621) 试分析椰子数目的变化规律,利用逆向递推的方法求解这一问题 解:算法分析:解该问题主要使用递推算法,关于椰子数目的变化规律 可以设起初的椰子数为p o ,第一至五次猴子在夜里藏椰子后,椰子的数 目分别为Pb ,p 1,p 2,P 3,P 4
再设最后每个人分得x 个椰子,由题:
4
1 p k 1 (p k I
( k=0,1,2,3,4 ) x -( p 5 1) 5 5
所以P 5
5x 1, p< p< 1 1利用逆向递推方法求解 P k - P k 1 1,
( k=0,1,2,3,4 )
4 MATLAB^码: n 二in put(' n 二'); n= 15621 for x=1: n p=5*x+1;
(完整word版)数值分析课程设计含代码
成绩评定表
学生姓名班级学号
专业信息与计算课程设计题目数值分析算法案
科学例
评
语
组长签字:
成绩
日期20年月日
课程设计任务书
学院理学院专业信息与计算科学学生姓名班级学号
课程设计题目数值分析算法案例
实践教学要求与任务 :
要求:格式以学校毕业论文格式要求为准,不准粘贴图片,尤其公式。
对每个试验,要求有:实验基本原理,实验目的,实验内容及数据来源和实验结论。
以班级为单位统一装订封皮。
6 月 25 日,十八周的周二交论文
每人至少四个实验,最少15 页
任务(实验项目):
线性方程组数值解法参考题目:( 1) 列主元 Gauss 消去法( 2) LU 分解法
插值法和数据拟合参考题目:( 1) Lagrange 插值( 2) Newton 插值( 3)最小二乘拟合
数值积分参考题目:(1)复化Simpon积分(2)变步长的梯形积分公式(3)龙贝格求积公式常微分方程数值解Runge-Kutta 方法
数值方法实际应用用数值方法解决实际问题(自选)
工作计划与进度安排:
线性方程组数值解法(4 学时)
插值法和数据拟合(4 学时)
数值积分(4 学时)
常微分方程数值解(4 学时)
数值方法实际应用(4 学时)
答辩(4 学时)
指导教师:专业负责人:学院教学副院长:
201年月日201年月日201年月日
实验方法与理论方法是推动科学技术发展的两大基本方法,但有局限性。许多研究对象,由于空间或时间的限制,既不可能用理论精确描述,也不能用实验手段实现。
数值模拟或称为科学计算突破了实验和理论科学的局限,在科技发展中起到越来越重要的作用。可以认为,科学计算已于实验、理论一起成为科学方法上不可或缺的三个主要手段。
2016级数值分析课程设计选题
一、必选题 水塔流量问题 二、自选题目
1、某厂房容积为45156m m m ⨯⨯,经测定,空气中含有0.2%的二氧化碳。开动通风设备,以3360/m s 的速度输入含有0.05%的二氧化碳的新鲜空气,同时又排出同等数量的室内空气。求30min 后室内二氧化碳的百分比。
(1)给出该问题的方程,并求出精确解。
(2)用Euler 法、改进Euler 法及四阶经典Runge-kutta 求出近似解,取步长110h =
(步长取30min 的110
h =) (3)比较近似解与精确解的误差,并绘出近似解与精确解的图形。 注:2-6 用到将要学的偏微分方程数值解,可到图书馆借书。) 2、已知椭圆方程第一初值问题:
222sin ,01
(0)(1)0d u
u x x dx
u u ⎧-+=<<⎪⎨⎪==⎩
(1)求出精确解。
(2)建立方程的中心差分格式,取步长1
20
h =
。 (3)用Jacobi 迭代,Gauss-Seidel 迭代,SOR 迭代求解差分方程。 (4)比较近似解与精确解的误差,并绘出近似解与精确解的图形。 3、求抛物方程的初边值问题的解:
22
,01,0(,0)sin ,01(0,)(1,)0,
u u x t t x u x x x u t u t t π∂∂=<<>∂∂=<<==> 其精确解为2
sin t u e x ππ-=。
(1)建立向前差分格式,计算方案为:1) 11,10100h τ=
=; 2) 11
,1050
h τ== 计算到时间层100t 。比较两种结果的差异,并说明原因。
数值分析课程设计题目
课程设计1(三个人,用不同方法) 土木工程和环境工程师在设计一条排水渠道时必须考虑渠道的各种参数(如宽度,深度,渠道内壁光滑度)及水流速度、流量、水深等物理量之间的关系。
假设修一条横断面为矩形的水渠,其宽度为B ,假定水流是定常的,也就是说水流速度不随时间而变化。
根据质量守恒定律可以得到 Q=UBH (1.1)
其中Q 是水的流量(s m /3
),U 是流速(s m /),H 是水的深度(m )。 在水工学中应用的有关流速的公式是
3
/23
/22/1)
2()(1H B BH S n U += (1.2)
这里n 是M a nnin g 粗糙系数,它是一个与水渠内壁材料的光滑性有关的无量纲量;S 是水渠
的斜度系数,也是一个无量纲量,它代表水渠底每米内的落差。
把(1.2)代入(1.1)就得到
3
/23
/52/1)
2()(1H B BH S n U += (1.3)
为了不同的工业目的(比如说要把污染物稀释到一定的浓度以下,或者为某工厂输入一定量
的水),需要指定流量Q 和B ,求出水的深度。这样,就需要求解
0)
2()(1)(3
/23
/52/1=-+=Q H B BH S n H f (1.4)
一个具体的案例是
s m Q S n m B /5 ,0002.0 ,03.0 ,203====
求出渠道中水的深度H 。
所涉及的知识——非线性方程解法。
课程设计2 (三个人,用不同方法) 在化学工程中常常研究在一个封闭系统中同时进行的两种可逆反应
《数值分析》水塔问题
淮海工学院计算机工程学院实验报告书
课程名:《数值分析》
题目:水塔问题
班级:
学号:
姓名:
一、课程设计目的:
1.训练学生灵活应用所学数值分析知识,独立完成问题分析,结合数值分析理论知识,编写程序求解指定问题。
2.初步掌握解决实际问题过程中的对问题的分析、系统设计、程序编码、测试等基本方法和技能;
3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力;
4.训练用数值分析的思想方法和编程应用技能模拟解决实际问题,巩固、深化学生的
理论知识,提高学生对数值分析的认知水平和编程水平,并在此过程中培养他们严谨的科
学态度和良好的工作作风
二、课程设计任务与要求:
课程设计题目:计算水塔的水流量
【问题描述】
某居民区的民用自来水是由一个圆柱形的水塔提供,水塔高12.2米,直径17.4米。
水塔是由水泵根据水塔内水位高低自动加水,一般每天水泵工作两次,现在需要了解该居
民区用水规律与水泵的工作功率。按照设计,当水塔的水位降至最低水位,约8.2米时,
水泵自动启动加水;当水位升高到一个最高水位,约10.8米时,水泵停止工作。
可以考虑采用用水率(单位时间的用水量)来反映用水规律,并通过间隔一段时间测
量水塔里的水位来估算用水率,原始数据表是某一天的测量记录数据,测量了28个时刻,但是由于其中有3个时刻遇到水泵正在向水塔供水,而无水位记录。
试建立合适的数学模型,推算任意时刻的用水率、一天的总用水量。
进一步:可自己增加一些新的计算功能。
【问题假设】
1.水塔中水流量是时间的连续光滑函数,与水泵工作与否无关,并忽略水位高度对
数值分析课程设计课程设计
数值分析课程设计
一、课程设计目的和意义
数值分析课程设计是通过选择数值分析中的一些基础算法,设计并编写计算机程序来解决实际的算法问题。课程设计有助于学生更好地理解和掌握数值分析的基础理论知识,同时对于提高学生的编程能力以及培养学生解决实际问题的能力都具有很大的意义。
二、课程设计内容
1.矩阵求解
矩阵运算是数值分析中的一项基础知识,但学生在初学阶段往往会遇到矩阵运算方面的问题。因此,在本课程的矩阵求解部分,学生将会学会如何利用数值分析算法对矩阵进行求解。
2.牛顿迭代法
牛顿迭代法是数值分析中常用的一种迭代算法,它可以用来求解函数的根。在课程设计的牛顿迭代法部分,学生将会深入学习该算法的理论知识,并通过编程实践来深化对其的理解。
3.插值和拟合
对于实际问题中的数据,我们需要通过插值和拟合等方法来求取相关的函数。因此,在课程设计的插值和拟合部分,学生将会学习到常用的插值和拟合算法,并通过实现相应的程序来加深对该算法的理解。
4.数值微积分
数值微积分是数值分析中的一项基础知识,它是计算机科学中的一个重要组成部分。在课程设计的数值微积分部分,学生将会在学习理论知识的基础上,通过编写相应的程序来巩固和加深对该算法的理解。
三、课程设计流程
1.熟悉课程设计要求
在开始课程设计之前,学生应该熟悉课程设计的要求和流程,明确自己需要完成的任务,并制定相应的计划。
2.确定课程设计题目
根据课程设计的要求和个人兴趣,学生可以选择一些自己感兴趣的题目,并请教老师和同学进行相关意见的讨论和确认。
3.学习相关理论知识
学生在开始进行课程设计之前,需要对所选择的算法进行深入的学习,并完成必要的理论知识的掌握。
数值分析课程设计
数值分析课程设计题目与要求
(12级应数及创新班)
[设计题一]
编写顺序Gauss消去法和列主元Gauss消去法地函数,再分别调用这两个函数求解下面地84阶方程组:
= ,
然后考虑将方程组地阶数取为10至100之间多个值进行求解.将你地计算结果与方程组地精确解进行比较.从“快”、“准”、“省”三个方面分析以上两个算法,试提出改进地算法并加以实现和验证.
[设计题二]
编写平方根法和改进地平方根法(参见教材《计算方法》P54地例题2.5)地函数,然后分别调用这两个函数求解对称正定方程组Ax=b,其中A和b分别为:
(1)系数矩阵A为矩阵(阶数取为10至100之间多个值):
,
向量b随机地选取;
(2)系数矩阵A为Hilbert矩阵(阶数取为5至40之间多个值),即A地第i行第j列元素,向量b地第i个分量取为.将你地计算结果与方程组地精确解进行比较.
若出现问题,分析其原因,提出改进地设想并尝试实现之.
对于迭代法 ,......)2,1,0(99.02
1=-=+k x x x k k k , 它显然有不动点0*
=x .试设计2个数值实验得
到收敛阶数地大概数值(不利用判定收敛阶地判据定理):
(1) 直接用收敛阶地定义; (2) 用最小二乘拟合地方法.
[设计题四]
湖水在夏天会出现分层现象,接近湖面温度较高,越往下温度变低.这种上热下冷地现象影响了水地对流和混合过程,使得下层水域缺氧,导致水生鱼类地死亡.如果把水温T 看成深度x 地函数T(x),有某个湖地观测数据如下:
环境工程师希望:
1) 用三次样条插值求出T(x).
数值分析课程设计--最速下降法
课程设计报告
课程名称数值分析
课题名称最速下降法
专业信息与计算科学
班级
学号
姓名
指导教师
2013年1月日
一、设计内容与设计要求 1.)设计内容: 用最速下降法求最优解:
给定初始点t x )0.6,5.7,5.1(0=
2.设计要求:
● 课程设计报告正文内容
a. 问题的描述及算法设计;
b. 算法的流程图(要求画出模块图);
c. 算法的理论依据及其推导;
d. 相关的数值结果(通过程序调试),;
e. 数值计算结果的分析;
f. 附件(所有程序的原代码,要求对程序写出必要的注释)。
● 书写格式
a .要求用A4纸打印成册
b .正文格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。
c .正文的内容:正文总字数要求在3000字左右(不含程序原代码)。
d .封面格式如下页。
● 考核方式
指导老师负责验收程序的运行结果,并结合学生的工作态度、实际动手能力、创新精神和设计报告等进行综合考评,并按优秀、良好、中等、及格和不及格五个等级给出每位同学的课程设计成绩。具体考核标准包含以下几个部分:
a .平时出勤 (占10%)
b .系统需求分析、功能设计、数据结构设计及程序总体结构合理与否(占10%)
c .程序能否完整、准确地运行,个人能否独立、熟练地调试程序(占40%)
d .设计报告(占30%)
注意:不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。
e.独立完成情况(占10%)。
课程验收要求
a.判定算法设计的合理性,运行相关程序,获得正确的数值结果。
b.回答有关问题。
c.提交课程设计报告。
《数值分析》课程设计
问题的提出
3.3 用SOR 方法解下列方程组(去松弛因子w=1.2),要求14||||10k k X X +-∞-<。 1214
2145x x x x +=⎧⎨
-=⎩ 3.4 设 411011A ⎛⎫= ⎪⎝⎭
,
计算()cond A ∞。
3.5 用选列主元Gauss 消元法求解方程组
1231231
2334721320x x x x x x x x x -+=⎧⎪-+-=-⎨⎪-+=⎩
3.6 用追赶法解三对角方程组
12345210001121000012100001210000120x x x x x -⎛⎫⎛⎫⎛⎫ ⎪ ⎪ ⎪-- ⎪ ⎪ ⎪
⎪ ⎪ ⎪=-- ⎪ ⎪ ⎪-- ⎪ ⎪ ⎪ ⎪ ⎪ ⎪-⎝⎭⎝⎭
⎝⎭ 3.7 用三角分解法解方程组
123248541816862207x x x -⎛⎫⎛⎫⎛⎫ ⎪⎪ ⎪--= ⎪⎪ ⎪ ⎪⎪ ⎪--⎝⎭⎝⎭⎝⎭
3.8 用选主元消元法计算下列行列式
126
324951
。
一、问题分析
1. 超松弛法是迭代方法的一种加速方法,其计算公式简单,但需要选择合适的松弛因子,以保
证迭代过程有较快的收敛速度。
2. A 的条件数计算首先要获得A 的逆,而求A 的逆可以转化为求n 个方程组。
3. 完全主元消元法在计算过程中花费了大量的时间用于寻找主元。同时,各变量的位置在消元
过程中也可能会发生变化。而列选主元法则可消除这个弊病。
4. 追赶法主要是解三对角方程组。所谓追指消元过程,赶指回代过程。
5. Gauss 消元法是通过逐步消元过程,将方程组的系数矩阵A 转变为一个上三角矩阵。三角分
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数值分析课程设计题目与要求
(10级应数及创新班)
[设计题一]
编写顺序Gauss消去法和列主元Gauss消去法的函数,再分别调用这两个函数求解下面的84阶方程组:
= ,
然后考虑将方程组的阶数取为10至100之间多个值进行求解。将你的计算结果与方程组的精确解进行比较。从“快”、“准”、“省”三个方面分析以上两个算法,试提出改进的算法并加以实现和验证。
[设计题二]
编写平方根法和改进的平方根法(参见教材《计算方法》P54的例题2.5)的函数,然后分别调用这两个函数求解对称正定方程组Ax=b,其中A和b分别为:
(1)系数矩阵A为矩阵(阶数取为10至100之间多个值):
,
向量b随机地选取;
(2)系数矩阵A为Hilbert矩阵(阶数取为5至40之间多个值),即A的第i行第j列元素,向量b的第i个分量取为。将你的计算结果与方程组的精确解进
行比较。
若出现问题,分析其原因,提出改进的设想并尝试实现之。
对于迭代法 ,......)2,1,0(99.021=-=+k x x x k k k , 它显然有不动点0*
=x 。试设计2个数值实验
得到收敛阶数的大概数值(不利用判定收敛阶的判据定理):
(1) 直接用收敛阶的定义; (2) 用最小二乘拟合的方法。
[设计题四]
湖水在夏天会出现分层现象,接近湖面温度较高,越往下温度变低。这种上热下冷的现象影响了水的对流和混合过程,使得下层水域缺氧,导致水生鱼类的死亡。如果把水温T 看成深度x 的函数T(x),有某个湖的观测数据如下:
环境工程师希望:
1) 用三次样条插值求出T(x)。
2) 求在什么深度处dx
dT
的绝对值达到最大( 即02
2=dx T d )。
[设计题五]
某飞机头部的光滑外形曲线的型值点坐标由下表给出:
...值y 及一阶、二阶导数值y ’,y ”。绘出模拟曲线的图形。
给定初值问题
其精确解为,分别按下列方案求它在节点
处的数值解及误差。比较各方法的优缺点,并将计算结果与精确解做比较(列表、画图)。
(方案I)欧拉法,步长h = 0.025, h = 0.1;
(方案II)改进的欧拉法,步长h = 0.05, h = 0.1;
(方案III)四阶经典龙格—库塔法,步长h = 0.1。
[设计题七]
生态环境学家在研究自然界中两个生物种群数目变化时得到一组常微分方程。
x(t),后者在假设有两种生物(例如一种是蓝鲸,另一种是南极磷虾),前者在时刻t时的数量为
1
时刻t 时的数目为2x (t ),并假设它们都是t 的连续可微函数。蓝鲸是以磷虾为主要食物的。当没有食物来源时蓝鲸数目会减少,其减少速度与当时蓝鲸的数目成线性关系,即
)(11
t cx dt
dx -= . (1) 当有食物来源时,蓝鲸的数目会增加。增加的速度和它捕食的数目有关,即
dt
dx 1
= d 1x (t ) 2x (t ) . (2) 合并(1)和(2),得到蓝鲸变化速度满足的微分方程
+-=)(11
t cx dt
dx d 1x (t ) 2x (t ). (3) 同样,在没有蓝鲸时,磷虾的增加速度满足
dt
dx 2
=2ax (t ). (4) 考虑到被捕食情况,则磷虾的数目满足
dt
dx 2
=2ax (t )-b 1x (t ) 2x (t ). (5) 合并(3)和(5),得到著名的Lotka-Volterra 方程
1
112
2212
dx cx dx x dt dx ax bx x
dt
⎧=-+⎪⎪⎨
⎪=-⎪⎩ (6) 其中d c b a ,,,均为正常数。
(6)是一个非线性常微分方程组,不可能有解析解。
假设,3.0,8.0,6.0,2.1====d c b a 而且初始值为1x (0)=2, 2x (0)=1.
1) 分别用欧拉法、改进的欧拉法和四阶经典龙格—库塔法,取多种步长求解(6)。 把1x (t ) 和2x (t )
画在同一张图上,并给予解释。 2) 把(6)的两个方程相除,得到
2
112
1212x dx cx x bx ax dx dx +--= (7) 尝试用数值方法求出2x ~1x 之间的函数关系。并把它画在以1x ,2x 为坐标的图上,对所得结果加以解释。
[要求]
一、设计题必须用Matlab 完成;设计题一、二、三必做;设计题四、五选做一题,设计题六、七选做
一题(也可全做)。
二、须提交纸质课程设计报告,基本内容包括(可进一步发挥):
1)设计思路、算法步骤(或流程图);
2)程序清单(函数文件、命令文件)(加上必要的注释);
3)程序运行操作过程与输出结果(必须附上相应的截屏图,图中须有任务栏和命令历史窗口中的日期、时间);
4)对计算过程与结果的分析(如误差分析,收敛性,稳定性,计算量,存储量,方法比较等);各设计的优缺点(如特色、自己最满意之处、需改进的地方等);
5)自己在课程设计中的心得体会(须含程序调试过程中遇到的问题与困难及解决办法)以及对本课程的认识;
6)课程设计自我评价(优、良、中、及格、差之一)及其支持依据。
其中2)、3)两部分必须打印,其余部分打印、手写皆可。
须加封面,格式:题目(即“数值分析课程设计报告”);学生班级;姓名;学号;完成日期。
三、请将全班同学的电子版设计报告和相关的M文件刻录在一张光盘上上交。
严禁抄袭!若发现雷同,不区分抄与被抄,一并处理,成绩不及格或要求重做。
敢于说“不!”,以免害人又害己。
判断抄袭的参考标准:出现下列情形之一
(1)无截屏图;
(2)截屏图与他人相同;
(3)需编写的M文件(含注释)与他人完全相同;
(4)设计题一、二中方程组的阶数取得与他人完全相同;
(5)无“课程设计中的心得体会”或过于简短;
(6)“课程设计中的心得体会”不含“遇到的问题与困难及解决办法”;
(7)“课程设计中的心得体会”与他人相同。
必要时,进行面试和当场上机操作。
课程设计提交时间: