12级数值分析课程设计

合集下载

12级课程设计题目及要求

12级课程设计题目及要求

12级数据结构课程设计题目及要求一、课程设计目的《数据结构》是计算机专业一门重要的专业技术基础课程,是一门关键性核心课程。

《数据结构》课程的目标是使学生学会分析研究计算机加工对象的特性,选择合适的数据结构和存储表示,以及编制相应的实现算法,培养和提高学生程序设计的能力。

《数据结构》课程也是一门实践性较强的课程,设置实践环节是十分重要的。

本课程设计的目标就是要达到理论与实际应用相结合,提高学生组织数据及编写大型程序的能力,并培养基本的、良好的程序设计技能以及合作能力。

二、课程设计内容题目一:仓库管理系统(线性表应用)[问题描述]建立一个仓库管理程序,可以按顺序和货物名称查询仓库存储情况,也可以增加、修改或删除货物以及建立新的仓库存储系统。

[实现提示]可以采用双向链表的存储结构,如可定义如下的存储结构:typedef struct dnode /*定义单向链表结构体*/{int number; /*货物编号*/char name[max]; /*货物名称*/int counter; /*货物数量*/struct dnode *prior,*next; /*定义指针*/}dlnode;题目二:学生成绩管理系统(线性表应用)[问题描述]提供身份验证,和使用系统的权限设置、判定。

教师用户能实现本班同学各学期各科成绩的录入、编辑,数据必须保存在文件中,以便反复使用。

学生用户提供对学号或姓名,各学期、各学科成绩的查询。

学生和教师用户能按各学期、各学科分数排序输出。

教师用户能统计各科成绩分数段的分布,并输出。

[实现提示]1、操作界面美观、友好,有必要的容错处理。

2、分数段统计结果要求保存在单独的文件中。

题目三:员工通讯录管理系统(线性表应用)[问题描述]建立一个通讯录管理系统,可以方便查询每一个员工的办公室电话、手机号、及电子邮箱。

其功能包括通讯录链表的建立、员工通讯信息的查询、修改、插入与删除、以及整个通讯录表的输出。

大学数值分析课程设计

大学数值分析课程设计

大学数值分析课程设计一、课程目标知识目标:1. 理解数值分析的基本概念,掌握数值计算方法及其数学原理;2. 掌握线性代数、微积分等基本数学工具在数值分析中的应用;3. 学会分析数值算法的稳定性和误差,评估数值结果的正确性。

技能目标:1. 能够运用数值分析方法解决实际工程和科学研究问题;2. 掌握常用数值分析软件的使用,提高数据处理和问题求解的效率;3. 培养编程实现数值算法的能力,提高解决复杂问题的技能。

情感态度价值观目标:1. 培养学生对数值分析的浓厚兴趣,激发学习积极性;2. 培养学生的团队合作精神,提高沟通与协作能力;3. 增强学生的数学素养,使其认识到数学在科学研究和社会发展中的重要性。

课程性质分析:本课程为大学数值分析课程,旨在教授学生数值计算的基本理论和方法,培养学生解决实际问题的能力。

学生特点分析:学生具备一定的高等数学基础,具有较强的逻辑思维能力和抽象思维能力。

教学要求:1. 注重理论与实践相结合,提高学生的实际操作能力;2. 鼓励学生主动参与讨论,培养学生的创新意识和解决问题的能力;3. 结合实际案例,强化学生对数值分析在工程和科研中的应用认识。

二、教学内容1. 数值分析基本概念:包括误差分析、稳定性、收敛性等;教材章节:第一章 数值分析概述2. 数值线性代数:矩阵运算、线性方程组求解、特征值与特征向量计算等;教材章节:第二章 线性代数的数值方法3. 数值微积分:数值积分、数值微分、常微分方程数值解等;教材章节:第三章 微积分的数值方法4. 非线性方程与系统求解:迭代法、牛顿法、弦截法等;教材章节:第四章 非线性方程与系统的数值解法5. 优化问题的数值方法:线性规划、非线性规划、最小二乘法等;教材章节:第五章 优化问题的数值方法6. 数值模拟与数值实验:蒙特卡洛方法、有限元方法、差分方法等;教材章节:第六章 数值模拟与数值实验7. 数值软件应用:MATLAB、Python等数值计算软件在数值分析中的应用;教材章节:第七章 数值软件及其应用教学进度安排:第1-2周:数值分析基本概念第3-4周:数值线性代数第5-6周:数值微积分第7-8周:非线性方程与系统求解第9-10周:优化问题的数值方法第11-12周:数值模拟与数值实验第13-14周:数值软件应用及综合案例分析教学内容确保科学性和系统性,注重理论与实践相结合,提高学生的实际操作能力。

列主消元法课程设计

列主消元法课程设计

《数值分析》课程设计列主消元法解方程组院(系)名称信息工程学院专业班级学号学生姓名指导教师2013 年05 月31日数值分析课程设计评阅书题目列主消元法解方程组学生姓名学号指导教师评语及成绩指导教师签名:年月日答辩评语及成绩答辩教师签名:年月日教研室意见总成绩:教研室主任签名:年月日课程设计任务书2012—2013学年第二学期专业班级:学号:姓名:课程设计名称:数值分析Ⅰ、Ⅱ设计题目:列主消元法解方程组完成期限:自2013 年05月21 日至2013年05 月31日共10天设计依据、要求及主要内容:一、设计目的熟练掌握求解方程组的列主消元法,并应用Matlab软件编写列主消元法解方程组的程序,应用列主消元法求解线性方程组.二、设计内容(1) 掌握列主消元法的背景及其构造原理;(2) 编写列主元高斯消去法和列主消元法的Matlab程序;(3) 调用编写的函数求解方程组;(4) 通过所学知识对列主消元法有一个充分的认识并对该课程设计进行总结.三、设计要求1.了解列主消元法的背景及构造原理.2.正确编写列主消元法的MATLAB程序并调用求解方程组.3. 对列主消元法求解方程组有一个充分认识,并进行总结.计划答辩时间:2013年06 月 5 日工作任务与工作量要求:查阅文献资料不少于3篇,课程设计报告1篇不少于3000字.指导教师(签字):教研室主任(签字):批准日期:2013 年05 月20 日列主消元法解方程组摘要在自然科学和工程中有很多问题的解决归结为求解线性方程组或者非线性方程组的数学问题。

求解线性方程组的直接法主要有选主元高斯消去法、平方根法、追赶法等.列主元素消去法既是选主元高斯消去法的一种,也是实际计算中常用的部分选主元消去法.本文即是讨论利用列主元素消去法求解线性方程组问题.通过掌握的列主消元法的背景及构造原理,编写MATLAB程序并调用函数成功求解线性方程组.并对其结果进行分析与讨论,得到结果比之高斯法更为精确.关键词:列主消元法,MATLAB,线性方程组目录1 前言 (1)2 列主元消去法的背景 (1)3 列主元消去法的构造原理 (2)3.1 列主高斯消元法 (4)4 MATLAB程序实现 (5)4.1 列主高斯消元法 (7)5算法分析 (9)总结 (10)参考文献 (10)1 前言在科学研究和工程技术中有许多问题可归结为求解线性代数方程组,其中所产生的线性方程组,其系数矩阵大致可分为两种:一种是低阶稠密矩阵;另一类是大型稀疏矩阵(此类矩阵阶数高,但零元素较多).对于这两种矩阵,我们可以把线性代数方程组的数值解法大致的分为两类:直接法和迭代法。

《数值分析课程设计》课程教学大纲(本科)

《数值分析课程设计》课程教学大纲(本科)

《数值分析课程设计》教学大纲课程编号:sx080课程名称:数值分析英文名称:Numerical Analysis课程类型:实践教学课程要求:必修学时/学分:1周/I开课学期:4适用专业:数学与应用数学授课语言:中文课程网站:超星泛雅平台一、课程设计性质与任务数值分析课程设计是一门借助计算机实现数值计算方法设计的课程。

通过数值算法基本理论和实现能力的训练,具有利用计算机实现算法的能力,具有分析和优化算法能力;通过查找文献熟悉科学与工程计算问题中的领先的数值算法理论,形成自主学习以及独立设计和运用数值算法解决实际问题的能力。

二、课程设计与其他课程或教学环节的联系先修课程:《数值分析》,《C语言程序设计》后续课程:《数学模型》、《微分方程数值解法》联系:《数值分析》是数值分析课程设计的理论基础,《C语言程序设计》是数值分析课程设计实现工具之一。

数值分析课程设计为《微分方程数值解》的算法实现提供算法基础,为《数学模型》中数学问题的求解提供了一种重要的实现手段。

三、课程设计教学目标1 .通过应用C语言、Matlab等计算机语言,使学生具有编程实现数值算法并解决实际问题的能力;(支撑毕业要求指标点5.1)2.通过基本算法原理的学习与实现,具有优化算法和根据具体问题改进算法的能力;(支撑毕业要求指标点3.3)3.通过查阅资料和应用数值算法解决实际科学问题,形成学生的自主学习意识和有效的学习方法。

(支撑毕业要求指标点12.1)四、教学内容、基本要求与学时分配课程思政元素案例解析:1 .崇尚科学,敢于创新通过从牛顿法到其变形方法这样一个循序渐进的算法改进过程,来向学生阐释什么叫科学研究无止境,从而培养学生的永不满足的科学精神,激发学生努力学习,掌握好知识,敢于创新的精神。

2.热爱祖国,奋发图强在讲授数值积分的梯形公式和辛普森公式时,将会给同学们介绍华罗庚先生写的一本书——《数值积分及其应用》,突出介绍华罗庚先生与王元教授合作在数值积分方法与应用等的研究成果,并同时介绍了华罗庚先生的生平事迹,特别是他放弃美国优越生活条件和良好的科研环境,克服重重困难回到祖国怀抱,投身我国数学科研事业,为中国数学事业发展做出了杰出的贡献,被誉为“人民的数学家”,激发学生的爱国热情。

数值分析方法课程设计

数值分析方法课程设计

数值分析方法课程设计背景介绍数值分析是一门研究求解各种数学问题的有效数值计算方法的学科,其应用广泛,如科学计算、工程设计和金融计算等领域。

在数值分析中,许多方法依赖于计算机的计算能力。

此外,数值分析还需要对数学理论和计算机科学两方面的知识有较深的理解。

本课程设计旨在通过实践,帮助学生深入了解数值分析方法及其应用,并提高学生的计算机编程能力。

课程设计目标•熟练掌握数值分析中的基本算法和方法,如插值法、数值积分等•能够将所学算法应用于实际问题,并编写可靠的程序解决问题•加深对计算机编程的理解和掌握,增强编程实践和创新能力•提高对数值分析和计算机科学交叉领域的理解课程内容第一部分:基本算法和方法1.数值微积分基本概念和原理2.插值法及其在实际中的应用3.数值积分的基本方法和理论基础4.常微分方程常用数值解法第二部分:实践应用与编程实现1.利用插值法和数值积分求解实际问题2.实现数值微积分和常微分方程的求解程序3.利用现有的数值分析软件解决实际问题,如 MATLAB 和 Python 等课程设计方案1.向学生介绍数值分析基本算法和方法,并讲解其理论基础和实际应用。

2.向学生提供一些实际问题,引导学生根据所学算法和方法进行求解。

3.给予学生一定的编程实践机会,让他们能够将所学算法实现为程序,并运用到具体的问题中。

4.通过课程作业、仿真实验等形式对学生进行考核和评价,确保学生能够有效掌握所学知识和能力。

评价标准1.学生掌握数值分析基本算法和方法的程度2.学生在实际问题中应用所学算法的能力3.学生编程实践和创新能力的水平4.学生对数值分析和计算机科学交叉领域的理解总结本课程设计旨在培养学生的数值分析和计算机编程实践,通过课程作业和编程实践等形式将理论知识与实际问题相结合,提高学生的实践应用能力。

同时,本课程设计也为学生未来的研究和工作提供了一定的基础。

数值分析课程设计(最终版)

数值分析课程设计(最终版)

数值分析课程设计(最终版)本⽂主要通过Matlab 软件,对数值分析中的LU 分解法、最⼩⼆乘法、复化Simpon 积分、Runge-Kutta ⽅法进⾏编程,并利⽤这些⽅法在MATLAB 中对⼀些问题进⾏求解,并得出结论。

实验⼀线性⽅程组数值解法中,本⽂选取LU 分解法,并选取数据于《数值分析》教材第5章第153页例5进⾏实验。

所谓LU 分解法就是将⾼斯消去法改写为紧凑形式,可以直接从矩阵A 的元素得到计算L 、U 元素的递推公式,⽽不需要任何步骤。

⽤此⽅法得到L 、U 矩阵,从⽽计算Y 、X 。

实验⼆插值法和数据拟合中,本⽂选取最⼩⼆乘拟合⽅法进⾏实验,数据来源于我们课堂学习该章节时的课件中的多项式拟合例⼦进⾏实验。

最⼩⼆乘拟合是⼀种数学上的近似和优化,利⽤已知的数据得出⼀条直线或者曲线,使之在坐标系上与已知数据之间的距离的平⽅和最⼩。

利⽤excel 的⾃带函数可以较为⽅便的拟合线性的数据分析。

实验三数值积分中,本⽂选取复化Simpon 积分⽅法进⾏实验,通过将复化Simpson 公式编译成MATLAB 语⾔求积分∫e ;x dx 10完成实验过程的同时,也对复化Simpon 积分章节的知识进⾏了巩固。

实验四常微分⽅程数值解,本⽂选取Runge-Kutta ⽅法进⾏实验,通过实验了解Runge-Kutta 法的收敛性与稳定性同时学会了学会⽤Matlab 编程实现Runge-Kutta 法解常微分⽅程,并在实验的过程中意识到尽管我们熟知的四种⽅法,事实上,在求解微分⽅程初值问题,四阶法是单步长中最优秀的⽅法,通常都是⽤该⽅法求解的实际问题,计算效果⽐较理想的。

实验五数值⽅法实际应⽤,本⽂采⽤最⼩⼆乘法拟合我国2001年到2015年的⼈⼝增长模型,并预测2020年我国⼈⼝数量。

关键词:Matlab ;LU 分解法;最⼩⼆乘法;复化Simpon 积分;Runge-Kutta⼀.LU分解法 (1)1.1实验⽬的 (1)1.2基本原理 (1)1.3实验内容 (2)1.4数据来源 (3)1.5实验结论 (3)⼆.Lagrange插值 (4)2.1实验⽬的 (4)2.2基本原理 (5)2.3实验内容 (5)2.4数据来源 (6)2.5实验结论 (6)三.复化simpon积分 (7)3.1实验⽬的 (7)3.2基本原理 (7)3.3实验内容 (7)3.4数据来源 (8)3.5实验结论 (8)四.Runge-Kutta⽅法 (9)4.1实验⽬的 (9)4.2基本原理 (9)4.3实验内容 (10)4.4数据来源 (11)4.5实验结论 (11)五.数值⽅法实际应⽤ (11)5.1实验⽬的 (11)5.2基本原理 (12)5.3实验内容 (12)5.4数据来源 (13)5.5实验结论 (13)总结 (16)参考⽂献 (17)⼀.LU 分解法1.1实验⽬的[1] 了解LU 分解法的基本原理和⽅法;[2] 通过实例掌握⽤MATLAB 求线性⽅程组数值解的⽅法; [3] 编程实现LU 分解1.2基本原理对于矩阵A ,若存在⼀个单位下三⾓矩阵L 和⼀个上三⾓U ,使得A =LU (1.1)。

《数值分析》课程设计

《数值分析》课程设计

1.直接三角形分解#include<stdio.h>#include<math.h>#define N 10double a[N][N],b[N],X[N],Y[N],u[N][N],v[N][N],c[N][N];int n;void input(){int i,j;printf("请输入矩阵的阶数n=");scanf("%d",&n);printf("请输入矩阵的各项元素(按矩阵形式输入以空格隔开)a[n][n]:\n");for(i=0;i<n;i++)for(j=0;j<n;j++)scanf("%lf",&a[i][j]);printf("请输入矩阵的常数列:\n");for(i=0;i<n;i++)scanf("%lf",&b[i]);}void solveUandV(){int i,j,k;double temp1,temp2;for(i=n-1;i>=0;i--){for(j=i;j>=0;j--){temp1=0;for(k=i+1;k<n;k++){temp1+=u[j][k]*v[k][i];}u[j][i]=a[j][i]-temp1;temp2=0;for(k=i+1;k<N;k++){temp2+=u[i][k]*v[k][j];}v[i][j]=(a[i][j]-temp2)/u[i][i];}}printf("上三角u为:\n");for(i=0;i<n;i++){for(j=0;j<n;j++)printf("%lf\t",u[i][j]);printf("\n");}printf("下三角单位矩阵v为:\n");for(i=0;i<n;i++){for(j=0;j<n;j++)printf("%lf\t",v[i][j]);printf("\n");}}void substituting(){int i,j;double temp1,temp2;printf("中间解Y=\n");for(i=n-1;i>=0;i--){temp1=0;for(j=i+1;j<n;j++)temp1+=Y[j]*u[i][j];Y[i]=(b[i]-temp1)/u[i][i];printf("%lf\t\t",Y[i]);}printf("\n");for(i=0;i<n;i++){temp2=0;for(j=0;j<i;j++){temp2+=X[j]*v[i][j];}X[i]=Y[i]-temp2;}}void verification(){int i,j,k;double t;for(i=0;i<n;i++){for(j=0;j<n;j++){t=0;for(k=0;k<n;k++)t+=u[i][k]*v[k][j];c[i][j]=t;}}printf("原系数矩阵为:\n");for(i=0;i<n;i++){for(j=0;j<n;j++)printf("%lf\t",c[i][j]);printf("\n");}}void output(){int i;printf("方程的解为:\n");for(i=0;i<n;i++)printf("x[%d]= %lf\n",i,X[i]); }void main(){input();solveUandV();substituting();verification();output();}结果:#include"iostream.h"#include"math.h"#define e 0.00000000000001 double f(double x){double y;if (x==0){return y=1.0;}else y=sin(x)/x;return y;}void romberg(double a,double b) {int n=1,k=0;double h,T2,S2=0,C2=0,R2=0,T1,C1,S1,R1;h=(b-a)/2;T2=h*(f(a)+f(b));while (fabs((R2-R1))>e){R1=R2;T1=T2;S1=S2;C1=C2;double sum=0;int i;for(i=1;i<=n;i++){sum=sum+f(a+(2*i-1)*h);}T2=T1/2+sum*h;S2=(4*T2-T1)/3;C2=(16*S2-S1)/15;R2=(64*C2-C1)/63;n=n*2;k++;h=h/2;}cout<<"*****最后结果为:"<<"I="<<R2<<endl;}void main(){double a,b;cout<<"***输入上下限a,b的值用空格隔开***"<<endl;cin>>a>>b;cout<<"***下限a="<<a<<endl;cout<<"***上限b="<<b<<endl;cout<<"***被积函数为:y=sin(x)/x"<<endl;cout<<"*********************结果如下*********************"<<endl;romberg(a,b);}牛顿插值:#include <iostream.h>#include <math.h>void main(){int n,i,j;double A[50][50];double x[50],y[50];double K=1,X=0,N=0,P;cout<<"请输入所求均差阶数:";cin>>n;for(i=0;i<=n;i++){cout<<"请输入x"<<i<<"=";cin>>x[i];cout<<"请输入y"<<i<<"=";cin>>y[i];A[i][0]=x[i]; A[i][1]=y[i];}for(j=2;j<=n+1;j++){for(i=1;i<=n;i++){A[i][j]=(A[i][j-1]-A[i-1][j-1])/(A[i][0]-A[i-j+1][0]);}}for(i=0;i<=n;i++){cout<<"输出第"<<i<<"阶均差为:"<<A[i][i+1]<<endl;}cout<<"请所要代入计算的x的值:X=";cin>>X;for(i=0;i<n;i++){K*=X-x[i];N+=A[i+1][i+2]*K;P=A[0][1]+N;}cout<<"所要求的函数值为:y="<<P<<endl;}(1)Jacobi迭代法#include<stdio.h>#include<math.h>void main(){float a[10][11],x1[10],x2[10],temp=0,fnum=0; int i,j,n,bk=0;printf("输入方程组的未知数的个数(n<10):\nn="); scanf("%d",&n);for(i=1;i<n+1;i++)x1[i]=0;printf("\n输入方程组的系数矩阵:\n");for(i=1;i<n+1;i++){j=1;while(j<n+1){printf("a%d%d=",i,j);scanf("%f",&a[i][j]);j++;}}printf("输入方程组的常数项:\n");for(i=1;i<n+1;i++){printf("b%d=",i);scanf("%f",&a[i][n+1]);}printf("\n");while(bk!=1){for(i=1;i<n+1;i++){for(j=1;j<n+1;j++){if (j!=i)temp=a[i][j]*x1[j]+temp;}x2[i]=(a[i][n+1]-temp)/a[i][i]; temp=0;}for(i=1;i<n+1;i++){fnum=float(fabs(x1[i]-x2[i])); if(fnum>temp) temp=fnum;}if(temp<=pow(10,-4)) bk=1;for(i=1;i<n+1;i++)x1[i]=x2[i];}printf("原方程组的解为:\n");for(i=1;i<n+1;i++){printf("x%d=%7.4f ",i,x1[i]); printf("\n");}}(2)Gauss-Seidel迭代法# include <stdio.h># include <math.h>double sd(double c[3][3],double d[3],int n,double x[3],double ep,int ip,int nmax) {int i,j,k;double emax,s;k=0;do{emax=0;for(i=0;i<n;i++){s=d[i];for(j=0;j<n;j++){s=s+c[i][j]*x[j];}if(fabs(s-x[i])>emax) emax=fabs(s-x[i]);x[i]=s;}k=k+1;}while((emax>ep)&&(k<nmax));if(k>=nmax) ip=-1;else ip=1;return(x[0],x[1],x[2]);}void main(){double ep;int n,ip,nmax;double c[3][3]={{0,0.2,0.1},{0.2,0,0.1},{0.2,0.4,0}};static double d[3]={0.3,1.5,2};static double x[3]={0,0,0};n=3;ip=1;ep=0.000001;nmax=10;sd(c,d,3,x,ep,ip,nmax);if(ip==1){printf("Guass-Seideln");printf("the solution of equestion:n");printf("x1=%1.10fnx2=%1.10fnx3=%1.10fn",x[0],x[1],x[2]);} else printf("seidel method is failure");}。

(完整word版)数值分析课程设计含代码

(完整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年月日实验方法与理论方法是推动科学技术发展的两大基本方法,但有局限性。

许多研究对象,由于空间或时间的限制,既不可能用理论精确描述,也不能用实验手段实现。

数值模拟或称为科学计算突破了实验和理论科学的局限,在科技发展中起到越来越重要的作用。

可以认为,科学计算已于实验、理论一起成为科学方法上不可或缺的三个主要手段。

计算数学的研究是科学计算的主要组成部分,而数值分析则是计算数学的核心。

数值计算是研究使用计算机来解决各种数学问题的近似计算方法与理论,其任务是提供在计算机上可解的、理论可靠的、计算复杂性低的各种常用算法。

数值分析的主要内容:1)、数值代数:求解线性和非线性方程组的解,分直接方法和间接方法两大类;2)、插值、曲线拟合和数值逼近;3)、数值微分和数值积分;4)、常微分和偏微分方程数值解法。

12级课程设计

12级课程设计

附录1.量程自动转换数字式频率计内容及要求:(1)测量的频率范围是1~100KHz,频率计的测量范围为1MHz,量程分10KHz、100KHz和1000KHz三档(最大读数分别为9.99KHz、99.9KHz、999KHz)。

测量结果用三位十进制显示。

(2)具有自动校验和测量两种功能,即能用标准时钟校验测量精度。

要求量程可根据被测量的大小自动转换。

即当计数器溢出时,产生一个换档信号,让整个计数时间减少为原来的1/10,从而实现换档功能。

(3)具有超量程报警功能,在超出目前量程档的测量范围时,发出灯光和音响信号。

(4)复位后输出为0;(5)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、下载验证等2.电子秒表设计内容及要求:(1)计时精度1ms,最大计时240秒;并可将结果逐一显示在7段数码管上(2)至少对6个目标计时,并可显示于7段数码管,格式为xxx.yyy,秒为单位;(3)计时值可逐一顺序回显;(4)按下一次终止键完成一个对象的计时,计时间隔小于最大计时值;(5)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、时序仿真、下载验证等。

3. 出租车计价器电路内容及要求:(1)计费包括起步价、行车里程计费、等待时间计费三部分(2)起步8元/3公里,此后1元/550米;等待时间单价为每1分钟0.1元(3)前进里程开始之前显示价钱,精确到0.1元;用两位数码管显示总里程,最大值为99公里,用两位数码管显示等待时间,最大值为99分钟。

(5)停车后,显示价钱和的里程;(6)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、时序仿真、下载验证等。

4.数码锁设计内容及要求(1)实现8位密码的设定与开锁。

(2)4x4的键盘进行密码输入,由左到右、由上到下的顺序:1/2/3/4,5/6/7/8,*/9/0/#;(3)密码初始值为55555555;开锁方式:xxxxxxxx#(x代表密码数字,位数大于等于1位小于等于8位);密码设定方式:*yyyyyyyy*yyyyyyyy(y旧密码,输入两次,正确时数码管有提示),然后输入#xxxxxxxx#xxxxxxxx#xxxxxxxx(x为新密码,连续3次,正确/错误时有提示);(4)工作时钟1khz;连续6次输错密码则锁死,只有重启电路;连续3次错误点亮警报灯,1次正确点亮指示灯;(5)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、下载验证等。

(完整word版)数值分析课程设计实验二

(完整word版)数值分析课程设计实验二

实验二2.1一、题目:用高斯消元法的消元过程作矩阵分解。

设20231812315A ⎡⎤⎢⎥=⎢⎥⎢⎥-⎣⎦消元过程可将矩阵A 化为上三角矩阵U ,试求出消元过程所用的乘数21m 、31m 、31m 并以如下格式构造下三角矩阵L 和上三角矩阵U(1)(1)212223(2)313233120231,1L m U a a m m a ⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦验证:矩阵A 可以分解为L 和U 的乘积,即A =LU 。

二、算法分析:设矩阵111213212223313233a a a A a a a a a a ⎛⎫ ⎪= ⎪ ⎪⎝⎭,通过消元法可以将其化成上三角矩阵U ,具体算法如下: 第1步消元:111111(1)22112(1)331130,0;;2,3;i i i i i i i i a m a a a a m a i a a m a +=≠⎧⎪=+=⎨⎪=+⎩ 得到111213(1)(1)12223(1)(1)323300a a a A a a a a ⎛⎫ ⎪= ⎪ ⎪⎝⎭第2步消元:(1)(1)(1)32322222(2)(1)(1)333332230,0;;a m a a a a m a ⎧+=≠⎪⎨=+⎪⎩ 得到的矩阵为111213(1)(1)22223(2)33000a a a A a a a ⎛⎫ ⎪= ⎪ ⎪⎝⎭三、程序及运行结果b1.mA=[20 2 3;1 8 1;2 -3 15];for i=1:2M(i)=A(i+1,1)/A(1,1);endfor j=2:3A1(j,2)=A(j,2)-M(j-1)*A(1,2);A1(j,3)=A(j,3)-M(j-1)*A(1,3);endM(3)=A1(3,2)/A1(2,2);A1(3,2)=0;A1(3,3)=A1(3,3)-M(3)*A1(2,3);M,A1运行结果为:M =0.0500 0.1000 -0.4051A1 =0 0 00 7.9000 0.85000 0 15.0443所以:10020230.051007.90.850.10.405110015.0443L U ⎛⎫⎛⎫ ⎪ ⎪== ⎪ ⎪ ⎪ ⎪-⎝⎭⎝⎭验证:L=[1 0 0;0.05 1 0;0.1 -0.4051 1];U=[20 2 3;0 7.9 0.85;0 0 15.0443];A1=L*UA1 =20.0000 2.0000 3.00001.0000 8.0000 1.00002.0000 -3.0003 15.0000四、精度分析因为根据LU 的递推公式可知,L ,U 分别为下三角和上三角矩阵,其中L 不在对角线上的元素值为111()k ik ik is sk s kk l a l u u -==-∑,在计算每个系数时会产生相应的计算误差。

数值分析课程设计反幂法

数值分析课程设计反幂法

数值分析课程设计反幂法一、教学目标本节课的教学目标是让学生掌握反幂法的原理及其在数值分析中的应用。

知识目标要求学生了解反幂法的定义、性质及其在求解非线性方程中的应用;技能目标要求学生能够运用反幂法求解实际问题,并能够对结果进行分析和评价;情感态度价值观目标则是培养学生的探究精神、合作意识以及对于数学问题的兴趣。

二、教学内容本节课的教学内容主要包括反幂法的原理及其在数值分析中的应用。

首先,介绍反幂法的定义和性质,通过具体的例子让学生理解反幂法的含义和作用。

然后,讲解反幂法在求解非线性方程中的应用,并通过实际问题让学生掌握反幂法的具体操作步骤。

最后,对反幂法的优缺点进行总结,并引导学生思考如何选择合适的数值方法。

三、教学方法为了达到本节课的教学目标,将采用多种教学方法进行教学。

首先,运用讲授法为学生讲解反幂法的原理和性质,让学生掌握基本知识。

其次,通过讨论法让学生探讨反幂法在实际问题中的应用,培养学生的动手能力和解决问题的能力。

此外,还可以采用案例分析法和实验法,让学生在实际操作中感受反幂法的应用,并能够对其进行评价。

四、教学资源为了支持本节课的教学内容和教学方法的实施,将准备以下教学资源。

首先,教材和相关参考书,为学生提供理论知识的学习;其次,多媒体资料,包括PPT、视频等,用于直观展示反幂法的原理和应用;最后,实验设备,如计算机、计算器等,让学生能够在实际操作中掌握反幂法。

通过这些教学资源的使用,丰富学生的学习体验,提高学生的学习效果。

五、教学评估本节课的教学评估将采取多元化方式进行,以确保评估的客观性和公正性,并全面反映学生的学习成果。

评估方式包括平时表现、作业、小测验和期末考试。

平时表现主要评估学生的课堂参与度和提问回答情况;作业则是对学生掌握反幂法知识的检验,要求学生独立完成相关练习题;小测验则是在课程中期进行,用以检查学生对反幂法的理解和应用能力;期末考试则是对学生整个学期学习成果的全面考核,包括理论知识的理解和实际问题的解决。

数学分析课程设计

数学分析课程设计

实验一1.1水手、猴子和椰子问题:五个水手带了一只猴子来到南太平洋的一个荒岛上,发现那里有一大堆椰子。

由于旅途的颠簸,大家都很疲惫,很快就入睡了。

第一个水手醒来后,把椰子平分成五堆,将多余的一只给了猴子,他私藏了一堆后便又去睡了。

第二、第三、第四、第五个水手也陆续起来,和第一个水手一样,把椰子分成五堆,恰多一只猴子,私藏一堆,再去入睡,天亮以后,大家把余下的椰子重新等分成五堆,每人分一堆,正好余一只再给猴子,试问原先共有几只椰子?试分析椰子数目的变化规律,利用逆向递推的方法求解这一问题。

解:问题分析:假设第n个人分椰子前,有An个椰子,即第n-1醒来面对的椰子数为An-1,第n个水手醒来后,把椰子平分成五堆,将多余的一只给了猴子,他私藏了一堆后便又去睡了则易得:*51A-14Ann+=(1)设最后一堆为a个,则第五个人分完后余下A(6)=5*a+1;由(1)式可得出A(1),A(2)...A(5);由于椰子数目为整数,有a=1开始,建立循环,可以由matlab求得最小的a=1023 ,五次数量变化如下:Matlab窗口输入如下:>> a=1;A=zeros(1,6);while a>0,A(6)=5*a+1;if A(6)~=fix(A(6)),a=a+1;continue;endi=6;while i>=2,A(i-1)=A(i)*5/4+1;if A(i-1)~=fix(A(i-1)),break;endi=i-1;endif (A(1)~=0)&&(A(1)==fix(A(1))),break;enda=a+1;end>> aa =1023>> A(1)ans15621>>plot(A,’k’)1.2当0,1,2,,100n=时,选择稳定的算法计算积分1d10nxn xeI xe--=+⎰解:用蒙特卡罗方法求解该问题,在(0,1)上随机选取一定数量的点,以落在积分区域内的频率近似所求积分,matlab 程序如下: mtj.mfunction a=mtj(n)f=@(x)exp(-n*x)/(exp(-x)+10); N=10000; r=0;for i=1:N,A=rand(1,2); if A(2)<=f(A(1)) r=r+1; end end a=r/N;1.3 绘制静态和动态的Koch 分形曲线问题描述:从一条直线段开始,将线段中间的三分之一部分用一个等边三角形的另两条边代替,形成具有5个结点的新的图形;在新的图形中,又将图中每一直线段中间的三分之一部分都用一个等边三角形的另两条边代替,再次形成新的图形,这时,图形中共有17个结点。

数值分析课程设计95分

数值分析课程设计95分

数值分析课程设计95分一、教学目标本节课的教学目标是让学生掌握数值分析的基本概念和方法,培养学生运用数值分析解决实际问题的能力。

具体目标如下:1.知识目标:(1)了解数值分析的基本概念和研究对象;(2)掌握数值逼近、数值积分和数值解方程等基本方法;(3)了解数值分析在工程和科学计算中的应用。

2.技能目标:(1)能够运用数值分析方法解决实际问题;(2)能够正确选择合适的数值方法并分析其优缺点;(3)能够编写简单的数值计算程序。

3.情感态度价值观目标:(1)培养学生对数值分析的兴趣和好奇心;(2)培养学生勇于探索、严谨治学的科学态度;(3)培养学生团队协作、交流分享的合作精神。

二、教学内容本节课的教学内容主要包括数值分析的基本概念、数值逼近、数值积分和数值解方程等。

具体安排如下:1.数值分析的基本概念:介绍数值分析的研究对象、特点和方法。

2.数值逼近:包括插值法、函数逼近法和数值微积分。

3.数值积分:介绍数值积分的基本方法和误差分析。

4.数值解方程:包括线性方程组的求解、非线性方程的求解和最优化问题。

三、教学方法为了提高学生的学习兴趣和主动性,本节课将采用多种教学方法相结合的方式。

具体方法如下:1.讲授法:用于讲解数值分析的基本概念、原理和方法。

2.案例分析法:通过分析实际案例,让学生了解数值分析在工程和科学计算中的应用。

3.实验法:让学生动手编写数值计算程序,培养实际操作能力。

4.讨论法:学生分组讨论,促进学生间的交流与合作。

四、教学资源为了支持教学内容和教学方法的实施,本节课将采用以下教学资源:1.教材:《数值分析教程》;2.参考书:《数值分析与应用》;3.多媒体资料:数值分析相关视频、动画等;4.实验设备:计算机、编程环境等。

通过以上教学资源的使用,丰富学生的学习体验,提高学生的学习效果。

五、教学评估本节课的评估方式包括平时表现、作业和考试等,以全面反映学生的学习成果。

具体评估方式如下:1.平时表现:通过观察学生在课堂上的参与程度、提问回答等情况,评估学生的学习态度和理解程度。

《数值分析》教案

《数值分析》教案

讲授新 进展内容
介绍等距节点插值公式在工程设计上的应用,例如在微电机设计在设计上的 应用。
课后总结
5
河北工程大学教师授课教案(5)
学院(部): 数理学院 教师姓名:
课程名称
数值分析
授课专业和班级
授课时间:
学术型研究生
授课内容
2.5 埃尔米特插值
授课学时 2 学时
教材
《数值分析》,周少玲,张振辉编,西安交通大学出版社。
6
河北工程大学教师授课教案(6)
学院(部): 数理学院 教师姓名:
课程名称
数值分析
授课专业和班级
授课时间:
学术型研究生
授课内容
2.6 曲线拟合的最小二乘法
授课学时 2 学时
教材
《数值分析》,周少玲,张振辉编,西安交通大学出版社。
教学目的和要求
1. 掌握最小二乘法的基本原理;2. 掌握多项式拟合方法; 3. 了解可化为多项 式拟合的最小二乘方法。
课后总结
8
河北工程大学教师授课教案(8)
学院(部): 数理学院 教师姓名:
课程名称
数值分析
授课专业和班级
授课时间:
学术型研究生
授课内容
3.2 牛顿--柯特斯公式
授课学时 2 学时
教材
《数值分析》,周少玲,张振辉编,西安交通大学出版社。
教学目的和要求 1. 掌握牛顿--柯特斯公式; 2. 了解低阶牛顿--柯特斯公式的截断误差。
1、复习旧课(15 分钟)
回顾差商的定义。
2、讲授部分(25 分钟)
引入重节点的差商,并于 Taylor 展开式联系,介绍两者的关系(难点)。
3、复习部分(5 分钟)

数值分析课程设计课程设计

数值分析课程设计课程设计

数值分析课程设计一、课程设计目的和意义数值分析课程设计是通过选择数值分析中的一些基础算法,设计并编写计算机程序来解决实际的算法问题。

课程设计有助于学生更好地理解和掌握数值分析的基础理论知识,同时对于提高学生的编程能力以及培养学生解决实际问题的能力都具有很大的意义。

二、课程设计内容1.矩阵求解矩阵运算是数值分析中的一项基础知识,但学生在初学阶段往往会遇到矩阵运算方面的问题。

因此,在本课程的矩阵求解部分,学生将会学会如何利用数值分析算法对矩阵进行求解。

2.牛顿迭代法牛顿迭代法是数值分析中常用的一种迭代算法,它可以用来求解函数的根。

在课程设计的牛顿迭代法部分,学生将会深入学习该算法的理论知识,并通过编程实践来深化对其的理解。

3.插值和拟合对于实际问题中的数据,我们需要通过插值和拟合等方法来求取相关的函数。

因此,在课程设计的插值和拟合部分,学生将会学习到常用的插值和拟合算法,并通过实现相应的程序来加深对该算法的理解。

4.数值微积分数值微积分是数值分析中的一项基础知识,它是计算机科学中的一个重要组成部分。

在课程设计的数值微积分部分,学生将会在学习理论知识的基础上,通过编写相应的程序来巩固和加深对该算法的理解。

三、课程设计流程1.熟悉课程设计要求在开始课程设计之前,学生应该熟悉课程设计的要求和流程,明确自己需要完成的任务,并制定相应的计划。

2.确定课程设计题目根据课程设计的要求和个人兴趣,学生可以选择一些自己感兴趣的题目,并请教老师和同学进行相关意见的讨论和确认。

3.学习相关理论知识学生在开始进行课程设计之前,需要对所选择的算法进行深入的学习,并完成必要的理论知识的掌握。

4.开始进行编程在掌握相关的理论知识之后,学生开始进行计算机程序的编写,并不断尝试改进和优化。

5.进行结果验证在完成计算机程序的编写之后,学生需要对其进行一定程度的结果验证,并分析测试结果。

6.撰写课程设计报告在完成验证工作之后,学生需要根据要求撰写课程设计报告,并逐步改进报告的质量和便于理解程度。

《数值分析》课程设计

《数值分析》课程设计

问题的提出3.3 用SOR 方法解下列方程组(去松弛因子w=1.2),要求14||||10k k X X +-∞-<。

12142145x x x x +=⎧⎨-=⎩ 3.4 设 411011A ⎛⎫= ⎪⎝⎭,计算()cond A ∞。

3.5 用选列主元Gauss 消元法求解方程组12312312334721320x x x x x x x x x -+=⎧⎪-+-=-⎨⎪-+=⎩3.6 用追赶法解三对角方程组12345210001121000012100001210000120x x x x x -⎛⎫⎛⎫⎛⎫ ⎪ ⎪ ⎪-- ⎪ ⎪ ⎪⎪ ⎪ ⎪=-- ⎪ ⎪ ⎪-- ⎪ ⎪ ⎪ ⎪ ⎪ ⎪-⎝⎭⎝⎭⎝⎭ 3.7 用三角分解法解方程组123248541816862207x x x -⎛⎫⎛⎫⎛⎫ ⎪⎪ ⎪--= ⎪⎪ ⎪ ⎪⎪ ⎪--⎝⎭⎝⎭⎝⎭3.8 用选主元消元法计算下列行列式126324951。

一、问题分析1. 超松弛法是迭代方法的一种加速方法,其计算公式简单,但需要选择合适的松弛因子,以保证迭代过程有较快的收敛速度。

2. A 的条件数计算首先要获得A 的逆,而求A 的逆可以转化为求n 个方程组。

3. 完全主元消元法在计算过程中花费了大量的时间用于寻找主元。

同时,各变量的位置在消元过程中也可能会发生变化。

而列选主元法则可消除这个弊病。

4. 追赶法主要是解三对角方程组。

所谓追指消元过程,赶指回代过程。

5. Gauss 消元法是通过逐步消元过程,将方程组的系数矩阵A 转变为一个上三角矩阵。

三角分解法,就是把系数矩阵分解为两个三角阵。

6.将某一向量坐标同乘以某非零实数,加到另一向量上,行列式的值不变。

用选主元法将行列式矩阵变为三角阵,对角线上的数值相乘即为行列式的值。

二、编程解决3.3Sor法c语言编程:#include<stdio.h>#include<math.h>#include<stdlib.h>#define omega 1.2 //取值不合适结果可能发散void main(){double a[5][5];double b[5],x[5],f,t,y[5]={0,0,0,0,0};int i,j,n,cnt=0;printf("阶数:");scanf("%d",&n);printf("请输入%d阶的A矩阵\n",n);for(i=0;i<n;i++)for(j=0;j<n;j++)scanf("%lf",&a[i][j]);printf("请输入B矩阵\n");for(i=0;i<n;i++)scanf("%lf",&b[i]);printf("count\t");for(i=0;i<n;i++)printf("x[%d]\t\t",i);printf("收敛程度\n");do{for(i=0;i<n;i++)x[i]=y[i];for(i=0;i<n;i++){t=0;for(j=0;j<n;j++)t=t+a[i][j]*(j<i?y[j]:x[j]);y[i]=x[i]+omega*(b[i]-t)/a[i][i];printf("%d",cnt++);for(i=0;i<n;i++)printf("\t%lf",x[i]);f=0;for(i=0;i<n;i++)f+=fabs(y[i]-x[i]);printf("\t%g\n",f);}while(f>1e-4 && cnt<100);}所得结果:3.4 求逆、算条件数编程:#include <stdio.h>#include <math.h>#include <stdlib.h>#define N 5 //可修改,以改变可解决的最大维数。

12级数值分析课程设计

12级数值分析课程设计

12级数值分析课程设计一、课程目标知识目标:1. 理解数值分析的基本概念,掌握数值计算的基本方法,如插值、数值微积分、常微分方程数值解等;2. 掌握误差分析的基本理论,了解数值稳定性和收敛性的概念;3. 掌握线性代数、微积分等数学基础知识在数值分析中的应用。

技能目标:1. 能够运用数值分析方法解决实际问题,如求解非线性方程、线性方程组、优化问题等;2. 能够运用编程语言(如MATLAB、Python等)实现数值算法,并进行调试和优化;3. 能够运用误差分析理论评估数值算法的准确性和稳定性。

情感态度价值观目标:1. 培养学生对数值分析的兴趣和热情,激发学生主动探索数值方法解决实际问题的欲望;2. 培养学生的团队协作意识,学会与他人合作共同解决问题;3. 培养学生的创新精神和批判性思维,敢于对现有数值方法提出质疑,勇于尝试改进和创新。

课程性质:本课程为专业基础课,旨在培养学生运用数值方法解决实际问题的能力。

学生特点:12级学生已具备一定的数学基础和编程能力,具有较强的逻辑思维和分析能力。

教学要求:结合课程性质和学生特点,注重理论与实践相结合,强化上机实践和案例分析,提高学生的实际操作能力和问题解决能力。

通过本课程的学习,使学生能够熟练运用数值分析方法,为后续专业课程学习和未来从事相关工作打下坚实基础。

二、教学内容1. 数值分析基本概念:包括数值计算的误差、稳定性、收敛性等;教材章节:第一章 数值分析引论内容:误差分析、稳定性与收敛性、数值方法的分类与特点。

2. 数值微积分:包括数值积分和数值微分;教材章节:第二章 数值微积分内容:梯形公式、辛普森公式、高斯公式、数值微分方法。

3. 插值与逼近:包括拉格朗日插值、牛顿插值、样条插值等;教材章节:第三章 插值与逼近内容:线性插值、多项式插值、样条插值、最佳逼近问题。

4. 解非线性方程:包括二分法、牛顿法、弦截法等;教材章节:第四章 解非线性方程内容:迭代法、牛顿法、弦截法、非线性方程组的求解。

12级数值分析课程设计

12级数值分析课程设计

数值分析课程设计题目与要求(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.021=-=+k x x x k k k , 它显然有不动点0*=x 。

试设计2个数值实验得到收敛阶数的大概数值(不利用判定收敛阶的判据定理):(1) 直接用收敛阶的定义; (2) 用最小二乘拟合的方法。

[设计题四]湖水在夏天会出现分层现象,接近湖面温度较高,越往下温度变低。

这种上热下冷的现象影响了水的对流和混合过程,使得下层水域缺氧,导致水生鱼类的死亡。

如果把水温T 看成深度x 的函数T(x),有某个湖的观测数据如下:环境工程师希望:1) 用三次样条插值求出T(x)。

2) 求在什么深度处dx dT 的绝对值达到最大( 即022=dxTd )。

[设计题五]某飞机头部的光滑外形曲线的型值点坐标由下表给出:...值y 及一阶、二阶导数值y ’,y ”。

绘出模拟曲线的图形。

给定初值问题其精确解为 ,分别按下列方案求它在节点处的数值解及误差。

比较各方法的优缺点,并将计算结果与精确解做比较(列表、画图)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数值分析课程设计题目与要求
(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)。

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。

[设计题七]
生态环境学家在研究自然界中两个生物种群数目变化时得到一组常微分方程。

假设有两种生物(例如一种是蓝鲸,另一种是南极磷虾),前者在时刻t 时的数量为1x (t ),后者在时刻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)“课程设计中的心得体会”与他人相同。

必要时,进行面试和当场上机操作。

课程设计提交时间:
按要求完成后,统一交给课代表(或学习委员、班长),于下学期开学报到日(8月30日)或之前(下学期第一周便要评优,须完成成绩的评定)交至任课教师处,包括光盘和纸质的课程设计报告。

过期不交作为缺考处理。

附上机安排:
时间:第16周星期四下午2:30-4:30
第17周星期五上午8:30-11:30,下午2:30-4:30
第18周星期二上午8:30-11:30
地点:4号楼底楼数学学院机房
7月6日之前交平时布置的课件Ch9、Ch10习题一至三的七道题,要有调用函数的算例。

提交Word文档。

统一交给课代表(或学习委员、班长),收齐后再发邮件给任课教师。

相关文档
最新文档