2014理学院计算方法课程设计报告

合集下载

数值分析(计算方法)课程设计实验报告(附程序)

数值分析(计算方法)课程设计实验报告(附程序)

n=4 时,max[L(X)-h(X)]=0.4020;
n=8 时,max[L(X)-h(X)]=0.1708;
n=10 时,max[L(X)-h(X)]=0.1092。
图象分析: 从图象可以看出随着插值节点数的增加出现异常的摆动,中间能较好的接近 原函数,但两边却出现很大的误差。
(3).对定义在(-5,5)上的函数
程序代码 2:
x=[-1:0.2:1]; y=1./(1+25.*x.^2); x0=[-1:0.01:1]; y0=lagrange(x,y,x0); y1=1./(1+25.*x0.^2);
plot(x0,y0,'--r'); hold on; plot(x0,y1,'-b'); x2=abs(y0-y1); max(x2) ; 程序代码3: n=3; for i=1:n x(i)=cos(((2.*i-1).*pi)./(2.*(n+1))); y(i)=1./(1+25.*x(i).*x(i)); end x0=-1:0.01:1; y0=lagrange(x,y,x0); y1=1./(1+25.*x0.^2); plot(x0,y0,'--r') hold on plot(x0,y1,'-b')
以 x1,x2,„,xn+1 为插值节点构造上述各函数的 Lagrange 插值多项式, 比较其 结果。
设计过程: 已知函数 f(x)在 n+1 个点 x0,x1,…,xn 处的函数值为 y0,y1,…,yn 。 求一 n 次多 项式函数 Pn(x),使其满足: Pn(xi)=yi,i=0,1,…,n. 解决此问题的拉格朗日插值多项式公式如下

“计算方法”教学大纲-哈尔滨工业大学(威海)(5篇范例)

“计算方法”教学大纲-哈尔滨工业大学(威海)(5篇范例)

“计算方法”教学大纲-哈尔滨工业大学(威海)(5篇范例)第一篇:“计算方法”教学大纲 - 哈尔滨工业大学(威海)“计算方法”教学大纲 Computational methods大纲编制:金承日教研室主任:丁效华课程代码:0600000012 课程名称:计算方法教学性质:必修适用专业:工科本科学时:34 学分:2一、课程性质、目的及任务随着科学技术的进步与发展,人们不断地提出各种复杂的数值计算问题,这些问题的解决不是人工手算或计算器之类简单的计算工具所能胜任的,必须依靠电子计算机。

因此,熟练地运用计算机进行科学计算,已经成为广大科技工作者必须掌握的一项基本技能,这就要求高等学校向理工科学生传授有关数值计算方面的知识。

《计算方法》是数学的一个分支,是随着电子计算机的问世迅速发展起来的一门实用性很强的学科,它的研究内容是各种数学问题的数值计算方法的建立与理论分析。

其任务是,提供理论上可靠、在计算机上行之有效的常用算法。

通过本课程的教学,使学生掌握数值计算方法的基本概念、基本理论与基本方法,逐步培养和提高学生的算法设计能力、算法分析能力以及编程上机能力,为将来运用计算机解决实际问题奠定基础。

二、课程基本要求通过本课程的学习,使学生掌握科学计算的基本概念、基本理论与基本方法,逐步培养和提高学生的算法设计能力、算法分析能力以及编程上机能力,会用电子计算机求解非线性方程、线性代数方程组、非线性方程组、定积分、插值与数据拟合、常微分方程等问题。

三、本课程与相关课程的联系与分工本课程的前期课程是《工科数学分析》、《空间解析几何与线性代数》以及《C程序设计》等。

本课程以微积分、微分方程、线性代数等数学知识为基础,但不仅仅研究这些数学内容本身的理论,而是着重研究用计算机解决数学问题的行之有效的数值计算方法。

因此,本课程既带有纯数学的高度抽象性与严密科学性的特点,又具有应用的广泛性与编程上机操作的高度技术性的特点。

四、教学大纲内容使用教材与参考教材1.使用教材金承日、孙振绮:计算技术与程序设计机械工业出版社2004.10 2.参考教材颜庆津等:计算方法高等教育出版社1991.10五、教学大纲内容及学时分配在教学要求中,对概念、理论从高到低用“理解”、“了解”、“知道”三级区分;对运算方法从高到低用“熟练掌握”、“掌握”、“会”或“能” 三级区分。

大学计算方法实验报告

大学计算方法实验报告

《计算方法》实验报告实验题目实验报告1:非线性方程组的求解···················P1~2实验报告2:线性方程组解法·······················P3~4 实验报告3:Lagrange 插值多项式··················P5~7姓名:学号:班级:指导老师:时间:专业 序号 日期实验报告1:非线性方程组的求解【实验目的】1.用MATLAB 来实践进行牛顿法的变形,即对牛顿法进行了修正,使其应用更为方便,掌握用MATLAB 运用割线法求解非线性方程组。

2.运用MATLAB 进行隐函数作图。

【实验内容】[方法] 设a,b 为迭代初值,求两点(a,f(a)) 与 (b,f(b)) 的连线(割线)与 x 轴的交点记为 c ,再把迭代初值换成 b,c,重复计算.[要求] 把下面程序复制为新的 M-文件,去掉开头的 %再把 '?' 部分改写正确就是一个完整的程序,找前面一个例子试算【解】在牛顿迭代公式中用差商代替导数。

带入初值(a,f(a)),(b,f(b)),两点的连线与x 轴的交点作为c ,再把迭代初值换为b ,c ,重复计算。

【计算机求解】以y= x-exp(-x)为例初值a=0,b=1,误差不超过1.0*10^(-5)进行计算。

《计算方法》实验报告材料

《计算方法》实验报告材料

《计算方法》实验报告材料引言:计算方法是一门应用数学的基础课程,通过实验教学,能够帮助学生更好地理解和掌握各种数值计算的方法和技巧。

本次实验旨在通过编程实现一些常用的数值计算方法,并通过对比分析实验结果,验证方法的有效性和可行性。

实验一:插值算法插值算法是利用已知的数据点,构建一个连续函数以逼近数据的方法。

本次实验中使用的插值算法为拉格朗日插值和牛顿插值。

通过编程实现这两种算法,并选取若干个数据点进行测试,得到插值函数的结果。

通过比较原始数据和插值函数的结果,可以验证插值算法的准确性和可行性。

实验二:方程求解方程求解是数值计算中的一个重要问题,求解非线性方程、线性方程组和特征值问题等都需要采用相应的迭代方法。

本次实验中,我们实现了常用的牛顿迭代法和二分法,并选择数学问题进行求解。

通过比较实验结果和理论值的误差,可以验证求解方法的精确性和可行性。

实验三:数值积分数值积分是利用数值方法对定积分进行近似求解的过程。

本次实验中,我们实现了矩形法、梯形法和辛普森法等常用的数值积分方法,并选取若干函数进行数值积分的计算。

通过比较数值积分的结果和解析解或数值解的误差,可以验证数值积分方法的准确性和可行性。

实验四:常微分方程求解常微分方程求解是数值计算中的一个重要问题,常常涉及到物理、化学、生物等科学领域。

本次实验中,我们实现了欧拉方法和龙格-库塔方法等常用的常微分方程求解算法,并选取若干常微分方程进行求解。

通过比较数值解和解析解或数值解的误差,可以验证常微分方程求解方法的精确性和可行性。

实验五:线性方程组求解线性方程组求解是数值计算中的一个重要问题,常常涉及到矩阵的运算和迭代方法。

本次实验中,我们实现了高斯消元法和追赶法等常用的线性方程组求解算法,并选择一些矩阵进行求解。

通过比较数值解和解析解或数值解的误差,可以验证线性方程组求解方法的精确性和可行性。

结论:通过本次实验,我们掌握了插值算法、方程求解、数值积分、常微分方程求解和线性方程组求解等常用的计算方法。

微分方程数值解课程设计

微分方程数值解课程设计
[3]泽明,丁春丽等。精通MATLAB 6。清华大学。2006.6
[4]Cleve B.Moler。MATLAB数值计算。机械工业2006.6
指导教师签字
基层教学单位主任签字
说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。
年 月 日
燕山大学课程设计评审意见表
指导教师评语:
成绩:
指导教师:
论文阐述的是常微分方程数值解法的几个问题,通过对以下问题的求解
一.比较Adams四阶PECE模式和PMECME模式。
二.求解贝塞尔方程并与精确解比较。
三.小型火箭初始重量为1400kg,其中包括1080kg燃料。火箭竖直向上发射时燃料燃烧率为18kg/s,由此产生32000N的推力,火箭引擎在燃料用尽时关闭。设火箭上升时空气阻力正比于速度的平方,比例系数为0.4kg/m,求引擎关闭瞬间火箭的高度、速度、加速度,及火箭到达最高点时的高度和加速度,并画出高度、速度、加速度随时间变化的图形。
院(系):理学院 教学单位:
学 号
XXX
学生
XXX
专业(班级)
11计算数学
设计题目
常微分方程数值解法课程设计



一.比较Adams四阶PECE模式和PMECME模式。
二.求解贝塞尔方程并与精确解比较。
三.小型火箭初始重量为1400kg,其中包括1080kg燃料。火箭竖直向上发射时燃料燃烧率为18kg/s,由此产生32000N的推力,火箭引擎在燃料用尽时关闭。设火箭上升时空气阻力正比于速度的平方,比例系数为0.4kg/m,求引擎关闭瞬间火箭的高度、速度、加速度,及火箭到达最高点时的高度和加速度,并画出高度、速度、加速度随时间变化的图形。

计算方法实验报告格式2014

计算方法实验报告格式2014

一、 实验总体要求1. 实验报告要求用实验报告纸;2. 实验报告要求手写;3. 根据规定格式写实验报告,具体见第五节;4. 实验报告前四项内容在上实验前写好;5. 实验报告第五项在实验课上根据具体情况写;6. 每节实验课下课前交实验报告;7. 提倡实验程序事先编完,带程序或笔记本电脑到实验室直接根据所选择的的题目完成实验报告。

二、 实验内容1. 秦九韶公式与数值稳定实验实验内容:1)编写利用秦九韶算法计算N 阶多项式值的函数;2)编写计算绝对误差和相对误差的函数;3)编写函数实现将输入的浮点数进行规格化为指定位数的有效数字;4)编写函数采用不同方法求解15nn x I dx x =+⎰等类似问题,并计算误差。

实验要求:1)应用MATLAB 编程并上机调试通过;2)内容4要将每次迭代结果用图形显示;3)按规定格式撰写实验报告;4)实验时间为2学时。

2. 非线性方程实验实验内容:1)编写函数实现求实根的二分法;2)编写函数实现求实根的迭代法;3)编写函数实现求实根的牛顿法;4)编写函数实现弦截法实验要求:1)应用MATLAB 编程并上机调试通过;2)比较同一方程不同解法的误差;3)要将每次迭代结果用图形显示;4)与MATLAB 提供的函数的结果进行比较分析;5)按规定格式撰写实验报告;6)实验时间为2学时。

3. 常微分方程数值解法实验实验内容:1)编写函数实现欧拉法;2)编写函数实现改进欧拉法实验要求:1)应用MATLAB 编程并上机调试通过;2)比较同一方程不同解法的误差;3)要将每次迭代结果用图形显示;4)与MATLAB 提供的函数的结果进行比较分析;5)按规定格式撰写实验报告;6)实验时间为2学时。

4.插值实验实验内容:1)编写函数实现拉格朗日法;2)编写函数实现牛顿均差法实验要求:1)应用MATLAB 编程并上机调试通过;2)比较不同方法的误差;3)与MATLAB 提供的函数的结果进行比较分析;4)按规定格式撰写实验报告;4)实验时间为2学时。

计算方法A课程设计

计算方法A课程设计

计算方法A课程设计一、课程目标知识目标:1. 让学生掌握计算方法A的基本原理和步骤,理解其在数学及实际问题中的应用。

2. 使学生能够运用计算方法A解决数据分析和数值计算中的问题,并对结果进行合理的解释。

3. 引导学生了解计算方法A的发展历程,理解其在科学技术进步中的地位。

技能目标:1. 培养学生运用计算方法A进行数据分析和数值计算的能力,提高数学建模和问题解决技巧。

2. 培养学生运用计算机软件(如Excel、Python等)辅助计算方法A解决问题的能力。

3. 培养学生的团队协作和沟通能力,通过小组讨论和报告,提高表达和交流技巧。

情感态度价值观目标:1. 激发学生对计算方法A的兴趣,培养其主动探索、积极学习的态度。

2. 培养学生的创新意识和实践精神,使其认识到计算方法在解决实际问题中的价值。

3. 引导学生树立正确的价值观,认识到科技发展对社会进步的重要性。

本课程针对高年级学生设计,充分考虑了学生的认知水平、兴趣和实际需求。

通过本课程的学习,旨在提高学生的数学素养,为后续相关课程的学习打下坚实基础。

课程目标具体、可衡量,便于教学设计和评估,有助于学生和教师清晰地了解课程预期成果。

二、教学内容本课程教学内容紧密结合课程目标,选取以下部分进行详细讲解:1. 计算方法A基本原理:包括插值法、数值积分、常微分方程数值解等核心内容,对应教材第2章至第4章。

2. 计算方法A应用实例:分析实际问题,如数据分析、优化问题等,结合教材第5章实例进行讲解。

3. 计算机软件辅助计算:运用Excel、Python等软件进行计算方法A的实践操作,结合教材第6章内容进行教学。

教学大纲安排如下:第1周:计算方法A概述,引出基本原理,介绍课程内容和要求。

第2-3周:插值法原理及算法实现,讲解教材第2章内容。

第4-5周:数值积分方法,讲解教材第3章内容。

第6-7周:常微分方程数值解,讲解教材第4章内容。

第8周:计算方法A应用实例分析,讲解教材第5章内容。

计算方法课程设计报告

计算方法课程设计报告

《计算方法》课程设计学部:专业:班级:学号:姓名:指导教师:韩光朋2014年* 月文档资料的统一要求:1.文档中的正文字体用五号宋体。

2.C++源文件要求以学号或姓名命名。

3.每个问题均要有算法分析,源程序代码,运行结果示图。

4.在课程设计最后要有心得体会,描述在设计过程中遇到的困难和解决的方法。

5.没有按要求做的同学则视为本课程设计不合格。

6.每次上机所做的内容用移动磁盘带走。

7.此页内容删除后用来生成目录。

实验一 非线性方程求解1.1设计任务的根。

用牛顿迭代法求方程013=--x x1.2算法分析(用文字或流程图进行描述)1.3源程序代码1.4运行结果实验二 高斯消去法与主元消去法2.1设计任务⎪⎩⎪⎨⎧=++=++=++32303452536432321321321x x x x x x x x x 用主元消去法解方程组2.2算法分析(用文字或流程图进行描述)2.3源程序代码2.4运行结果实验三 解线性代数方程组的迭代法3.1设计任务⎪⎪⎪⎭⎫⎝⎛=⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎭⎫ ⎝⎛-877901081119321x x x Seidel Gauss Jacobi ----迭代法解线性方程组迭代法和用3.2算法分析(用文字或流程图进行描述)3.3源程序代码 3.4运行结果实验四 插值与拟合4.1设计任务的近似值。

插值公式求用的数值表如下:双曲正弦函数已知)596.0(02652.188811.069675.057815.041075.0)(90.080.065.055.040.0)()(f Newton x f x x sh x f k k4.2算法分析4.3源程序代码4.4运行结果实验五 数值积分5.1设计任务已知某河宽20M ,测得水深f (x )如下表(单位:M ):分别用复化梯形公式和复化辛卜生公式计算河水的截面积。

5.2算法分析5.3源程序代码5.4运行结果实验六 常微分方程数值解6.1设计任务6.000141.002'≤<⎩⎨⎧=+=-=x y y y K R h 法求解初值问题阶,用标准取步长6.2算法分析(用文字或流程图进行描述)6.3源程序代码 6.4运行结果总结 心得体会。

14级 数值计算课程设计任务书

14级 数值计算课程设计任务书

华东交通大学数值计算课程设计信息与计算科学专业2014级指导老师:周凤麒理学院数学与信息计算系2017年6月14级信息计算1、2班《数值计算》课程设计一、分组、选题:(1)可独立完成,或分小组完成,每小组不多于3人。

每个题目选题的组数不能超过2组。

(2)亦可自拟题目。

二、时间安排:19周三:上交分组名单及选题,查阅相关资料,划分模块、小组成员分工19周四:理论分析,设计算法。

编制源程序,上机调试。

19周五:编制源程序,上机调试。

上交源代码;撰写、上交课程设计报告(1份/人)上机时间安排表(地点:基础学院201机房):19周:周三下午5、6、7、8节周四上午1、2、3、4节;周四下午5、6、7、8节周五上午1、2、3、4节;周五下午5、6、7、8节提交时间:学生必须在19周周五下午6点以前交到理学院2号楼311。

用B5的纸打印课程设计报告,并购买学校的专用课程设计封面装订。

三、要求1、开发语言及开发工具任选。

2、“课程设计报告”内容的要求:(1)封面;(2)内容提要;(3)目录;(4)“课程设计报告”正文:1.课程设计目的、背景、意义,以及自己所做工作2.理论分析(包括问题分析,理论依据,求解对策等)3.方法详解(包括推导、求解、分析、程序框图等)4. 问题解决(包括计算结果输出、图形演示等)5.结果分析(含对不同方法间的图形、数值等多方位的对比分析,对所得结果的合理解释及误差分析等)。

(5)体会:(6)参考文献。

3、课程设计验收要求:(1)运行所算法的程序;(2)回答有关问题;(3)提交课程设计报告;(4)提交代码(内容有:源程序、执行程序。

有“课程设计报告”内容更好);(5)内容有创新的成绩要高一些。

4、凡发现抄袭,抄袭者与被抄袭者皆以零分计入本课程设计成绩并向学院报告。

凡发现实验报告或源程序雷同,涉及的全部人员皆以零分计入本课程设计成绩并向学院报告。

四、课程设计题目及题目的详细解释1、求解微分方程求解下列初值问题,步长1.0=h ,⎪⎩⎪⎨⎧=≤≤-='1)0(10,2y x y x y y(1)用欧拉法求解; (2)用改进的欧拉法求解;(3)用四阶的龙格库塔法求解。

《计算方法》课内实验报告(实验2)2014

《计算方法》课内实验报告(实验2)2014

《计算方法》课内实验报告学生姓名:张靖2012309010111及学号:学院:理学院班级:信计121课程名称:计算方法实验题目:插值法与函数逼近指导教师周硕教授姓名及职称:朱振菊实验师2014年11月03日目录一、实验题目 (1)二、实验目的 (1)三、实验内容 (1)四、实验结果 (2)五、实验体会或遇到问题 (8)一、实验题目1.熟悉matlab 编写及运行数值计算程序的方法。

2.进一步理解数值积分的基础理论。

3.进一步掌握应用不同的数值积分方法求解给定的积分并给出数据结果及误差分析。

二、实验目的1.熟悉matlab 编写及运行数值计算程序的方法。

2.进一步理解插值法及函数逼近方法的理论基础。

3.进一步掌握给定数据后应用插值法及函数逼近方法进行数据处理并给出图示结果的实际操作过程。

三、实验内容1.分别用复合梯形求积公式及复合辛普森求积公式计算积分xdx x ln 1⎰,要求计算精度达到410-,给出计算结果并比较两种方法的计算节点数. 2.用龙贝格求积方法计算积分dx x x ⎰+3021,使误差不超过510-.3.用3=n 的高斯-勒让德公式计算积分⎰31sin x e x ,给出计算结果.4.用辛普森公式 (取2==M N ) 计算二重积分.5.005.00dydx e x y ⎰⎰-四、 实验结果1.问题1:计算结果如下表表1问题1求解表复合梯形求积公式:取1210-,n=,n为迭代次数,当迭代12次后,精度达到4 n-;节点数为21=4095复合辛普森求积公式:取1000010-,节点数为n=,n为区间数,取精度为4n+=。

1100012.问题2:计算结果如下表表2问题2求解表龙贝格数值积分:给定被积函数0,被积上限3,精度为510-,龙贝格积分表中行的最大数目13,计算出龙贝格数值积分近似解为10.20759362。

3.问题3:计算结果如下表表3问题3求解表高斯-勒让德积分公式:取3n = ,节点横坐标k x 取,n k A 取585999,,,2n 阶导数e sin x x -,求得高斯-勒让德积分近似解为10.94840256。

《计算方法》实验报告

《计算方法》实验报告

《计算方法》实验报告一、实验目的本次《计算方法》实验的主要目的是通过实际操作和编程实现,深入理解和掌握常见的计算方法在解决数学问题中的应用。

通过实验,提高我们运用数学知识和计算机技术解决实际问题的能力,培养我们的逻辑思维和创新能力。

二、实验环境本次实验使用的编程语言为 Python,使用的开发工具为 PyCharm。

实验运行的操作系统为 Windows 10。

三、实验内容与步骤1、线性方程组的求解实验内容:使用高斯消元法和LU分解法求解线性方程组。

实验步骤:首先,定义线性方程组的系数矩阵和常数向量。

对于高斯消元法,通过逐步消元将系数矩阵化为上三角矩阵,然后回代求解。

对于 LU 分解法,将系数矩阵分解为下三角矩阵 L 和上三角矩阵 U,然后通过向前和向后代换求解。

2、插值与拟合实验内容:使用拉格朗日插值法、牛顿插值法进行插值计算,并使用最小二乘法进行曲线拟合。

实验步骤:对于拉格朗日插值法和牛顿插值法,根据给定的节点数据计算插值多项式。

对于最小二乘法,根据给定的数据点和拟合函数形式,计算拟合参数。

3、数值积分实验内容:使用矩形法、梯形法和辛普森法计算定积分。

实验步骤:定义被积函数和积分区间。

对于矩形法,将积分区间等分为若干小区间,每个小区间用矩形面积近似积分值。

梯形法通过构建梯形来近似积分值。

辛普森法利用抛物线来近似积分值。

4、常微分方程的数值解法实验内容:使用欧拉法和改进的欧拉法求解常微分方程。

实验步骤:给定常微分方程和初始条件。

按照欧拉法和改进的欧拉法的公式进行迭代计算,得到数值解。

四、实验结果与分析1、线性方程组的求解高斯消元法和 LU 分解法都能成功求解线性方程组,但在计算效率和数值稳定性上可能存在差异。

对于规模较大的线性方程组,LU 分解法通常更具优势。

实验中通过对比不同方法求解相同线性方程组的结果,验证了算法的正确性。

2、插值与拟合拉格朗日插值法和牛顿插值法在给定节点处能够准确插值,但对于节点之外的区域,可能会出现较大偏差。

太原理工大学算法设计与分析实验报告资料

太原理工大学算法设计与分析实验报告资料
NQueen(0,n,x);
}
int main(){
int x[N];
for(int i = 0;i<N;i++)
*(x+i) = -10;
for(int j = 0;j<k;j++)
if(x[j] == i || abs(x[j]-i) == abs(j-k))
return false;
return true;
}
void NQueen(int k,int n,int *x){
for(int i = 0;i<n;i++)
if(Place(k,i,x)){
//如果最大期限那一天还未安排作业,则将当前作业安排在所允许的最大期限那天
res[Time] = Work[i];
flag[Time] = true;
}
else {
//如果当前作业所允许的最大期限那一天已经安排的其他作业,就向前搜索空位,将该作业安排进去
for (int j = Time - 1; j >= 0; j--)
int j;
for (j = 0; j<7; j++)
maxReap += res[j];
cout << maxReap << endl;
}
HomeWork(){
int i;
for(i = 0;i<8;i++)
flag[i] = false;maxRFra bibliotekap = 0;
}
};
void main() {
HomeWork a = HomeWork();

《计算方法》课程设计任务书

《计算方法》课程设计任务书

四川理工学院数学系 课程设计任务书专业: 信息与计算科学 班级: 信计082 课程名称: 计算方法课程设计 学生姓名: 罗超, 邓丹淋, 陈达, 马朴, 杨勇, 张伟 发题时间: 2010 年 12 月 10 日 一、 课题名称Chua 氏电路数值仿真。

二、 课题条件参考文献:[1].张平文,李铁军. 数值分析. 北京:北京大学出版社,2009.[2].徐瑞,黄兆东,阎凤玉.Matlab 科学与工程分析.北京:科学出版社,2007.三、 设计任务分别用显式Euler 方法预估—校正方法求解Chua 氏电路模型:()()1211212332D x x x f x x x x x x x αβ⎧=--⎡⎤⎣⎦⎪⎪=-+⎨⎪=-⎪⎩ 其中()()()()()111111112121112211211N j j D j j j f x ax a b x x N N --=⎧⎫⎛⎫--⎪⎪⎡⎤=+-+-+-- ⎪⎨⎬⎣⎦ ⎪-+-+⎪⎪⎝⎭⎩⎭∑,初值为()()()12300.0200.0100.01x x x =⎧⎪=⎨⎪=⎩。

,,,a b αβ分别取三组不同的值:0.6846, 1.3203,10,14.160628a b αβ=-=-==、0.672, 1.296,10,14.222a b αβ=-=-== 0.641, 1.23687,10,12.95405a b αβ=-=-==要求:① 设模拟区间为[]0,30、[]0,50和[]0,200,对每一个模拟区间,分别用0.05,0.02,0.01,0.005h =的步长求解Chua 氏电路模型;② 画出每个模拟区间、每个步长、每种方法下数值解123,,x x x 的3维状态图(用plot3命令,自己查阅相关用法),观察混沌吸引子现象;③ 同一个模拟区间、同一个步长下,比较显式Euler 方法和预估-矫正方法的求解效果;④ 给出程序清单。

必须说明程序中哪些是主程序,哪些是子程序;程序中必须有详细的注释和参数说明;必须简明扼要地说明如何运行程序。

计算方法课程设计报告

计算方法课程设计报告

数字图像匹配目录一. 课题分析 (4)二.算法设计 (5)1.概念解释 (5)2.数字图像匹配算法设计 (5)⑴基于灰度的归一化匹配算法 (6)⑵基于灰度的快速模板匹配算法 (8)三.相应matlab程序设计. ...................... .. (10)1.数字图像匹配相关函数.............. (10)2.数字图像匹配函数................ .. (12)(1) 基于灰度的归一化匹配算法 (12)(2) 基于灰度的快速模板匹配算法 (14)四.实验测试........................ ............. (18)1.基于灰度的归一化匹配算法 (18)2. 基于灰度的快速模板匹配算法 (18)五.试验结果评价............................ . (19)六.实例解答.............................. (19)七.实习心得体会.......................... .. (21)参考文献 (22)附录 (23)附录一:testpipei_1.m(基于灰度的归一化匹配算法).... .... . (23)附录二:testpipei_2(基于灰度的快速模板匹配算法).... .... . (23)附录三:getOrder.m (二进制编码)............. .... ........ (25)附录四:gettezheng.m (求特征值) ........................ (27)附录五:图片...................................... .... .. (29)数字图像匹配一. 课题分析背景描述:现代社会已进入信息时代,随着计算机技术、通信技术和数学的发展,图像信息处理能力和水平也不断提高,相应的也得到和更多关注、研究和更加广泛的应用。

计算方法课程设计

计算方法课程设计
7
实验结论: 对于方程(1),两种方法在精确到小数点后 15 位时相同,说明两 种算法的结果都是精确的。 对于方程(2),两种算法结果有相当大的偏差,求根公式所求的一 个根直接为零,求根公式的算法是不精确的。 原因:方程(2)用求根公式计算时, b b2 4ac 公式中,b 是大数, 出现了大数吃掉小数的误差,也出现了两个相近的数相减的误差,所 以出现 x2=0 这样大的误差。改进的结果会比较准确。
9 2
3 1
59.17
1 5
2
2

b1
46.78
1
1 1
2
10
7
0 1
8
(2)
A2
3 5
2.099999999999 1
6 5
2
1
b1
5.9000000000001
5
0
1
0 2
1
实验要求:
(1)计算矩阵的条件数,判断系数矩阵是良态的还是病态的 8
(2)用高斯列主元消去法求得 L 和 U 及解向量 (3)用不选主元的高斯消去法求得 L 和 U 及解向量 (4)观察小主元并分析对计算结果的影响 实验步骤:
c
程序为: syms k a=[ ]; for i=1:100
a(1)=4; a(i+1)=(10^10*a(i)-1)^(1/2); end x1=a(100) x2=1/(x1) 运行结果为: x1 = 1.000000000000000e+010 x2 = 1.000000000000000e-010
实验要求:
(1) 考察单精度计算结果(与真解对比);
(2) 若计算结果与真解相差很大,分析其原因,提出新的算

计算方法课程实践实验报告范文

计算方法课程实践实验报告范文

计算方法课程实践实验报告范文In this experiment, we were tasked with applying different computational methods to solve real-world problems. The experiment aimed to enhance our understanding of how these methods could be employed to tackle complex issues in various disciplines. 在这个实验中,我们的任务是应用不同的计算方法来解决现实世界中的问题。

这个实验旨在加强我们对这些方法如何在各种学科中应用来处理复杂问题的理解。

The first part of the experiment involved utilizing numerical methods to solve differential equations. We were given a set of initial conditions and parameters and asked to solve for the behavior of the system over time. This exercise provided valuable insight into the practical application of numerical methods in modeling dynamic systems. 实验的第一部分涉及利用数值方法来解决微分方程。

我们被给定了一组初始条件和参数,并被要求解出系统随时间的行为。

这个练习为模拟动态系统中数值方法的实际应用提供了宝贵的见解。

The second part of the experiment involved the application of optimization algorithms to solve a resource allocation problem. Wehad to determine the optimal distribution of resources to maximize a certain objective function while considering different constraints. This part of the experiment showcased the effectiveness of computational methods in finding optimal solutions for complex decision-making problems. 实验的第二部分涉及应用优化算法来解决资源分配问题。

计算方法实验指导书(2014.2.27)讲解

计算方法实验指导书(2014.2.27)讲解

实验一——插值方法实验学时:4实验类型:设计 实验要求:必修一 实验目的通过本次上机实习,能够进一步加深对各种插值算法的理解;学会使用用三种类型的插值函数的数学模型、基本算法,结合相应软件(如VC/VB/Delphi/Matlab/JAVA/Turbo C )编程实现数值方法的求解。

并用该软件的绘图功能来显示插值函数,使其计算结果更加直观和形象化。

二 实验内容通过程序求出插值函数的表达式是比较麻烦的,常用的方法是描出插值曲线上尽量密集的有限个采样点,并用这有限个采样点的连线,即折线,近似插值曲线。

取点越密集,所得折线就越逼近理论上的插值曲线。

本实验中将所取的点的横坐标存放于动态数组[]X n 中,通过插值方法计算得到的对应纵坐标存放于动态数组[]Y n 中。

以Visual C++.Net 2005为例。

本实验将Lagrange 插值、Newton 插值和三次样条插值实现为一个C++类CInterpolation ,并在Button 单击事件中调用该类相应函数,得出插值结果并画出图像。

CInterpolation 类为 class CInterpolation { public :CInterpolation();//构造函数CInterpolation(float *x1, float *y1, int n1);//结点横坐标、纵坐标、下标上限 ~ CInterpolation();//析构函数 ………… …………int n, N;//结点下标上限,采样点下标上限float *x, *y, *X;//分别存放结点横坐标、结点纵坐标、采样点横坐标float *p_H,*p_Alpha,*p_Beta,*p_a,*p_b,*p_c,*p_d,*p_m;//样条插值用到的公有指针,分别存放i h ,i α,i β,i a ,i b ,i c ,i d 和i m};其中,有参数的构造函数为CInterpolation(float *x1, float *y1, int n1) {//动态数组x1,y1中存放结点的横、纵坐标,n1是结点下标上限(即n1+1个结点) n=n1;N=x1[n]-x1[0]; X=new float [N+1]; x=new float [n+1]; y=new float [n+1];for (int i=0;i<=n;i++) {x[i]=x1[i]; y[i]=y1[i]; }for (int i=0;i<=N;i++) X[i]=x[0]+i; }2.1 Lagrange 插值()()nn i i i P x y l x ==∑,其中0,()nji j j n i jx x l x x x =≠-=-∏对于一个自变量x ,要求插值函数值()n P x ,首先需要计算对应的Lagrange 插值基函数值()i l x float l(float xv,int i) //求插值基函数()i l x 的值 {float t=1;for (int j=0;j<=n;j++) if (j!=i)t=t*(xv-x[j])/(x[i]-x[j]); return t; }调用函数l(float x,int i),可求出()n P xfloat p_l(float x) //求()n P x 在一个点的插值结果 {float t=0;for (int i=0;i<=n;i++) t+=y[i]*l(x,i); return t; }调用p_l(float x)可实现整个区间的插值float *Lagrange() //求整个插值区间上所有采样点的插值结果 {float *Y=new float [N+1]; for (int k=0;k<=N;k++) Y[k]=p_l(x[0]+k*h); return Y; } 2.2Newton 插值010()(,,)()nn i i i P x f x x x x ω==∑,其中101,0()(),0i i j j i x x x i ω-==⎧⎪=⎨-≠⎪⎩∏,0100,()(,,)()ik i nk k j j j kf x f x x x x x ==≠=-∑∏对于一个自变量x ,要求插值函数值()n P x ,首先需要计算出01(,,)i f x x x 和()i x ωfloat *f() {//该函数的返回值是一个长度为n +1的动态数组,存放各阶差商 }float w(float x, int i) {//该函数计算()i x ω }在求()n P x 的函数中调用*f()得到各阶差商,然后在循环中调用w(float x)可得出插值结果 float p_n(float x) {//该函数计算()n P x 在一点的值 }调用p_n(float x)可实现整个区间的插值 float *Newton() {//该函数计算出插值区间内所有点的值 }2.3 三次样条插值三次样条插值程序可分为以下四步编写: (1) 计算结点间的步长i hi 、i α、i β;(2) 利用i hi 、i α、i β产生三对角方程组的系数矩阵和常数向量; (3) 通过求解三对角方程组,得出中间结点的导数i m ; (4) 对自变量x ,在对应区间1[,]i i x x +上,使用Hermite 插值; (5)调用上述函数,实现样条插值。

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

《计算方法》课程设计报告学生姓名:杜珊珊学号:2012309010105李南飞2012309010116尹明仁2012309010117 学院:理学院班级: 信计121题目: 牛顿法、弦截法及抛物线法求解非线性方程指导教师:周硕职称:教授朱振菊实验师2014年12月30日目录摘要 (1)一、选题背景 (2)1.1 背景介绍 (2)二、算法设计 (2)2.1 理论基础 (2)2.2 算法流程图 (4)三、程序设计及功能说明 (6)3.1 算法功能设计 (6)3.2 算法实例 (6)四、结果分析 (7)4.1 结果分析 (7)4.1.1 例题1结果分析 (7)4.1.2 例题2结果分析 (8)4.1.3 例题3结果分析 (9)4.2 误差分析 (11)五、总结及心得体会 (12)5.1 总结 (12)5.2 心得体会 (12)参考文献 (13)源程序 (14)摘要众所周知,代数方程求根问题是一个古老的数学问题。

早在16世纪就找到了三次、四次方程的求根公式。

但直到19世纪才证明了n>5次的一般代数方程是不能用代数公式求解的,或者求解非常复杂。

因此需要研究用数值方法求得满足一定精度的代数方程的近似解。

在工程和科学技术中许多问题常归结为求解非线性方程的问题。

正因为非线性方程求根问题是如此重要的基础,因此它的求根问题很早就引起了人们的兴趣,并得到了许多成熟的求解方法。

本文主要介绍非线性方程的数值解法是直接从方程出发,逐步缩小根的存在区间,或逐步将根的近似值精确化,直到满足问题对精度的要求,主要的方法有牛顿法、弦截法和抛物线法;牛顿法是方程求根中常用的一种迭代方法,它除了具有简单迭代法的优点外,还具有二阶收敛速度(在单根邻近处)的特点,但牛顿法对初始值选取比较苛刻(必须充分靠近方程的根),否则牛顿法可能不收敛。

弦截法是牛顿法的一种修改,虽然比牛顿法收敛慢,但因它不需计算函数的导数,故有时宁可用弦截法而不用牛顿法,弦截法也要求初始值必须选取得充分靠近方程的根,否则也可能不收敛。

本文还写出这几种非线性方程的数值解法的算法步骤和例题,最后用三种方法进行计算,得出结果并进行比较。

[关键词] 牛顿法;弦截法;抛物线法;非线性方程;一、选题背景1.1 背景介绍在利用数学工具研究社会现象和自然现象,或解决工程技术等问题时,很多问题都可以归结为非线性方程f(x)=0的求解问题,无论在理论研究方面还是在实际应用中,求解非线性方程都占了非常重要的地位。

迭代法是求解非线性方程f(x)=0根的一种最重要的方法,而迭代法的优劣对于非线性问题求解速度的快慢和结果的好坏都有很大的影响,所以从实际出发,进行高计算效能迭代算法的研究具有重要的科学价值和实际意义。

二、算法设计2.1 理论基础(1) 牛顿迭代法牛顿迭代法是一种特殊的不动点迭代法,其计算公式为1(),0,1,2,...'()k k k k f x x x k f x +=-= (2.1) 其迭代函数为()()'()f x x x f x ϕ=-(2.2)牛顿迭代法的收敛速度,当(*)0,'(*)0,''(*)0f x f x f x =≠≠时,容易证明,'(*)0f x ≠,''(*)''(*)0'(*)f x x f x ϕ=≠,牛顿迭代法是平方收敛的,且12''(*)lim 2'(*)k k k e f x e f x +→∞=。

(2.3) 牛顿法几何意义方程f(x)=0的根x*是曲线y=f(x)与x 轴交点的横坐标,设k x 是根x*的某个近似值,过曲线y=f(x)的横坐标为k x 的点))(,(k k k x f x p =引切线交x 轴于1+k x , 并将其作为x*新的近似值,重复上述过程,可见一次次用切线方程来求解方程f(x)=0的根,所以亦称为牛顿切线法。

图2--1 牛顿法几何意义图(2)弦截法将牛顿迭代法中的'()k f x 用()f x 在1k x -,k x 处的一阶差商来代替,即可得弦截法:111()()()()k k k k k k k f x x x x x f x f x ++-=--- (2.4) 弦截法几何意义弦截法也称割线法,其几何意义是用过曲线上两点))(,(000x f x P=,))(,(111x f x P =的割线来代替曲线,用割线与x 轴交点的横座标2x 作为方程的近似根。

再过1P 点和点))(,(222x f x P =作割线求出3x ,再过1P 点和点))(,(333x f x P =作割线求出4x ,余此类推,当收敛时可求出满足精度要求的k x 。

图2--2 弦截法几何意义图(3)抛物线法弦截法可以理解为用过11(,()),(())k k k k x f x x f x ---两点的直线方程的根近似替()0f x =的根。

若已知()0f x =的三个近似根k x ,1k x -,2k x -用过1122(,()),(,()),(,())k k k k k k x f x x f x x f x ----的抛物线方程的根近似代替()0f x =的根,所得的迭代法称为抛物线法,也称密勒(Muller )法。

(4)确定有根区间的方法为了确定根的初值,首先必须圈定根所在的范围,称为圈定根或根的隔离。

在上述基础上,采取适当的数值方法确定具有一定精度要求的初值。

对于代数方程,其根的个数(实或复的)与其次数相同。

至于超越方程,其根可能是一个、几个或无解,并没有什么固定的圈根方法。

求方程根的问题,就几何上讲,是求曲线y=f (x)与x 轴交点的横坐标。

由高等数学知识知, 设f (x)为区间[a,b ]上的单值连续, 如果f (a)·f (b)<0 , 则[a,b ]中至少有一个实根。

如果f (x)在[a,b ]上还是单调地递增或递减,则仅有一个实根。

2.2 算法流程图图2--3 迭代法的算法实现图2--4 弦截法的算法实现三、程序及功能说明3.1 算法功能设计(1)提供牛顿法、弦截法、抛物线法求解非线性方程的通用程序。

(2)能够计算不同非线性方程的解。

(3)完成程序内容应具有可重复性。

3.2 算法实例(1)求3()310f x x x =--=在02x =附近的根。

根的准确值* 1.87938524...x =,要求结果准确到四位有效数字。

用牛顿法;用弦截法:取02x =,1 1.9x =;用抛物线法:取01x =,13x =,22x =。

(2)求123)(23--=x x x f 在10=x 附近的根,要求结果准确到四位有效数字。

用牛顿法;用弦截法:取10=x ,1.11=x ;用抛物线法:取5.00=x ,5.11=x ,12=x 。

(3)求x x x x f 2)(23--=在1.20=x 附近的根,要求结果准确到四位有效数字。

用牛顿法;用弦截法:取1.20=x ,2.21=x ;用抛物线法:取8.10=x ,3.21=x ,1.22=x 。

四、结果分析4.1 结果分析4.1.1 例题1结果分析图4--1 例1运行结果界面即2,误差为6.632695e-005。

即*3 1.87941106x x ≈=,误差为2.582017e-005。

即6 1.87938530x x ≈=,误差为5.621918e-008。

4.1.2 例题2结果分析图4--2 例2运行结果界面即00000000.12=≈*x x ,误差为8.793852e-001。

即2,误差为8.793852e-001。

即00000000.13=≈x x ,误差为8.793852e-001。

4.1.3 例题3结果分析图4--3 例3运行结果界面即00000000.24=≈*x x ,误差为1.206148e-001。

(2)弦截法计算结果即00000000.27=≈*x x ,误差为1.206148e-001。

即00000000.26=≈x x ,误差为1.206148e-001。

4.2 误差分析以例1为例进行误差分析,把得到的结果汇总,得到如下列表:从表中可以明显看出,在同一精度的要求下,得到的误差却不相同,可以看出逐步搜索法的精度取决于步长的大小,而步长的大小又决定了计算量的大小,牛顿法明显没有弦截法和抛物线法的精度高,但是运算次数却比两者都少,因此牛顿法只适用于那些对精度要求不高的计算;对于牛顿法来说,首先需要判断迭代函数是否收敛,迭代序列是否收敛于x*,如果不收敛还需要更换新的迭代函数,甚至有的函数无法进行这种方式的计算,因此迭代法对函数的要求比较高;我们还可以看到弦截法它的计算次数比抛物线法要少,计算的速度更快,精度要比牛顿法还要高;而抛物线法比较容易理解,易达到所要求的精度;也是一种较为理想的计算方法。

五、总结及心得体会5.1 总结迭代法是解非线性方程的主要方法,牛顿法就是最有效的迭代法之一,它在单根附近具有较高阶的收敛速度。

而弦截法用差商代替导数,对于较复杂的函数运算变的方便。

抛物线法也是超线性收敛的,适用于求多项式的实根和复根。

通过本次报告加深了对牛顿法、弦截法和抛物线法求解非线性方程根的理解,同时掌握了MATLAB强大的计算功能,增强了对数值分析课程的学习兴趣。

5.2 心得体会这次数值分析课程设计我们经历了一个月,真是受益匪浅。

在这次课程设计中,我们运用到了以前所学的《数值分析》、《数学分析》、《常微分方程》等相关专业课的知识,以及matlab汇编语言等。

虽然过去都将这些知识用于解题中,但只是独立应用过它们去做题,但在这次课程设计中,把这么多方法拿到一起,去解决同一个问题,并对它们的运算过程和结果进行比较,才发现其中大有奥秘,因此在学习中,注意那些一题多解的例子,要善于分析和比较,不同方法的各有千秋,有的虽然简便,但对精度要求不高,有的虽然复杂还是精度却很高,要善于对不同的方法根据实际需要进行取舍,才能使计算既好又快。

同时我们还发现,有目的性的带着问题去学习,学习的效率很高。

一个课程设计过程,好比我们的成长历程,常有一些不如意,难免会遇到各种各样的问题。

这也激发了我们今后努力学习的兴趣,通过这次设计,我们懂得了学习的重要性,了解到理论知识与实践结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作打下基础。

杜珊珊:通过本次试验,使我熟悉了matlab编程的技巧,以及非线性方程组的根的方法,收获了很多。

但是在以后的实验中仍须要保持细心认真的态度,求实学习。

李南飞:做实验遇到困难是家常便饭。

你的第一反应是什么?反复尝试?放弃?看书?这些做法都有道理,但首先应该想到的是交流。

相关文档
最新文档