文档库 最新最全的文档下载
当前位置:文档库 › 龙贝格算法求数值积分程序说明及流程图

龙贝格算法求数值积分程序说明及流程图

龙贝格算法求数值积分程序说明及流程图
龙贝格算法求数值积分程序说明及流程图

陆韶琦 3110000441 程序说明:本程序计算 sinx

dx b ,程序初始要求输出需要得到的精度,最后输出得到流程图:

程序代码:

%定义函数

function f=sin1(x)

if(x==0)

f=1;

else

f=sin(x)/x;

end

%龙贝格算法求数值积分

clc;clear all;

flag=zeros(1,4);

In=zeros(25,4);

eps1=input('what precision do you want to get?');

i=0;

%计算一些初始序列

while(flag(4)<2)

for k=flag(1)+1:i+4

for j=1:2^(k-1)

In(k,1)=In(k,1)+sin1(a+(2*j-1)*(b-a)/(2^k));

end

if k>1

In(k,1)=In(k,1)/2^k+In(k-1,1)/2;

else

In(k,1)=(b-a)*(sin1(b)+sin1(a))/2;

end

end

flag(1)=i+4;

for k=flag(2)+1:i+3

In(k,2)=4*In(k+1,1)/3-In(k,1)/3;

end

flag(2)=i+3;

for k=flag(3)+1:i+2

In(k,3)=16*In(k+1,2)/15-In(k,2)/15;

end

flag(3)=i+2;

for k=flag(4)+1:i+1

In(k,4)=64*In(k+1,3)/63-In(k,3)/63;

end

flag(4)=i+1;

i=i+1;

end

%根据递推式计算龙贝格序列

i=1;

while (abs(In(i+1,4)-In(i,4))>eps1)

for j=1:2^(i+4)

In(i+5,1)=In(i+5,1)+sin1(a+(2*j-1)/(2^(i+5)));

end

In(i+5,1)=In(i+5,1)/2^(i+5)+In(i+4,1)/2; In(i+4,2)=4*In(i+5,1)/3-In(i+4,1)/3;

In(i+3,3)=16*In(i+4,2)/15-In(i+3,2)/15; In(i+2,4)=64*In(i+3,3)/63-In(i+2,3)/63;

i=i+1;

end

%输出高精度计算值

vpa(In(i+1,4))

程序执行结果:

高中信息技术《算法与程序设计》试题

高中信息技术《算法与程序设计》试题 一、单选题(每小题3分,20小题,共60分) 1、用计算机解决问题时,首先应该确定程序“做什么?”,然后再确定程序“如何做?”请问“如何做?”是属于用计算机解决问题的哪一个步骤?() A、分析问题 B、设计算法 C、编写程序 D、调试程序 2、在调试程序过程中,下列哪一种错误是计算机检查不出来的?() A、编译错误 B、执行错误 C、逻辑错误 D、任何错误计算机都能检查出来 3、下列关于算法的叙述中,错误的是() A、一个算法至少有一个输入和一个输出 B、算法的每一个步骤必须确切地定义 C、一个算法在执行有穷步之后必须结束 D、算法中有待执行的运算和操作必须是相当基本的。 4、流程图中表示判断的是()。 A、矩形框B、菱形框C、圆形框D、椭圆形框 5、任何复杂的算法都可以用三种基本结构组成,下列不属于基本结构的是() A、顺序结构 B、选择结构 C、层次结构 D、循环结构 6、能够被计算机直接识别的语言是() A、伪代码 B、高级语言 C、机器语言 D、汇编语言 7、在VB语言中,下列数据中合法的长整型常量是() A、08A B、2380836E C、88.12345 D、1.2345E6 8、求Mid(“ABCDEFG”,3,2)的结果是() A、“ABC” B、“CD” C、“ABCDEF” D、“BCD” 9、表达式 A+B+C=3 OR NOT C<0 OR D>0 当A=3,B=4,C=-5,D=6时的运算结果是() A、0 B、1 C、TRUE D、FALSE 10、在循环语句 For x=1 to 100 step 2 …… Next x 中,x能达到的最大值是() A、100 B、99 C、98 D、97 11、在下列选项中,不属于VB的对象的是() A、窗体的背景颜色 B、命令按钮 C、文本框 D、标签 12、在调试程序的时候,经常要设置断点,设置断点的快捷键是()

数值分析—龙贝格算法

数值分析 实 验 报 告 专业:信息与计算科学 班级: 10***班 学号: 1008060**** 姓名: ******

实验目的: 用龙贝格积分算法进行积分计算。 算法要求: 龙贝格积分利用外推方法,提高了计算精度,加快了收敛速度。 1--4R R R R 1-j 1-j 1-k 1-j k 1-j k j k ,,,,+= ,k=2,3,… 对每一个k ,j 从2做到k ,一直做到|R R 1-k 1-k k k -,,| 小于给定控制精 度时停止计算。 其中: T R h k 1k =,(复化梯形求积公式),2h 1-k k a -b = 程序代码: #include #include #define M 10 static float a, b, T[M], S[M], C[M], R[M]; float f(float x) { float y; if(0.0 == x) { x = 0.0000001f; } y = (float)1/sqrt(1-x*x); return y; } int p(int n) { int i=0,t=1;

while(t!=n) { t*=2; ++i; } return i; } float t(int n) { float g,h,q=0; if(1==n) { h = (float)fabs(b-a); q = (f(a)+f(b))*h/2; } else { float x = a; g = 0; h = (float)fabs(b-a)*2/n; x = x+h/2; while(x

教科版高中信息技术选修一《算法与程序设计》选修教案.doc

学习必备欢迎下载 第一课初识算法与程序设计 一、教学目标 1、知识与技能 (1)理解算法的概念,培养学生自我探索信息,高效获取信息的能力; (2)能初步利用算法解决简单的问题,培养学生的理论联系实际能力和动 手操作能力。 2、情感、态度、价值观 学生在学习过程中,通过亲身经历体验获得对此算法的感性认识,培养学 生自我获取信息、分析评价信息、、表达呈现信息的能力,进一步提高其信息素养。 二、教学重点难点 重点:算法概念的理解 难点:如何科学合理的选择和设计算法。 三、教学策略与手段 以趣味性问题设置情境,激发学生探索解决问题的兴趣,与学生进行互动 探讨,通过 Flash 演示材料,比较直观地把抽象的问题简单化,使学生的思考 逐步深入,从而总结出算法的概念,学会如何设计和选择算法,培养学生自主 探究学习的能力。 四、教学过程( 1 课时) (一)我们来共同寻找下面一些生活中比较现实的问题的解决方法。 【问题一】天下真的有“不要钱的午餐”吗? 某一餐馆门口海报上写着“不要钱的午餐”,规则如下:在三个月内,来

的顺序都坐一遍,以后来吃饭就可永远免费” 。于是有人想,这太容易了,每人每次坐不同的位置,吃五次不就行了?于是他就叫上自己的朋友参加这项活动,可是,吃了十次之后,还没有吃上免费午餐,这是怎么回事呢? 学生们感觉非常有意思,很快以小组为单位进行热烈的讨论并得出了破解问题 的步骤:①第一个座位5个人都有坐的机会②第二个座位只有4个人中的任一 个有坐的机会(一个人不能同时坐两个座位)③第三个座位只有3个人中的任 一个有坐的机会④第四个座位只有2个人中的任一个有坐的机会⑤第五个座位 只有1个人有坐的机会⑥计算:5×4×3×2×1=120⑦得出结论:需 要吃120次才有可能吃上免费午餐。 【问题二】有三个和尚和三个妖怪过河,只有一条能装下两个人的船,在河的 任何一方或者船上,如果妖怪的人数大于和尚的人数,那么和尚就会有被吃掉 的危险。你能不能找出一种安全的渡河方法呢?请写一写你的渡河方案。学 生:学生讨论回答。 〖展示步骤〗 ①两个妖怪先过河,一个妖怪回来; ②再两个妖怪过河,一个妖怪回来; ③两个和尚过河,一个妖怪和一个和尚回来; ④两个和尚过河,一个妖怪回来; ⑤两个妖怪过河,一个妖怪回来; ⑥两个妖怪过河。 【F lash 动画展示】通过讨论和动画展示,我们可以知道,计算机解决问题和 人解决问题一样需要有清晰的解题步骤。算法就是解决问题的程序或步骤。(二)【课件展示】算法的概念:

数值积分算法与MATLAB实现陈悦5133201讲解

东北大学秦皇岛分校 数值计算课程设计报告 数值积分算法及MATLAB实现 学院数学与统计学院 专业信息与计算科学 学号5133201 姓名陈悦 指导教师姜玉山张建波 成绩 教师评语: 指导教师签字: 2015年07月14日

1 绪论 数值分析是计算数学的一个主要部分,计算数学是数学科学的一个分支,它研究用计算机求解各种数学问题的数值检索方其理论与软件的实现.而数值分析主要研究数值计算. 现科学技术的发展与进步提出了越来越多的复杂的数值计算问题,这些问题的圆满解决已远人工手算所能胜任,必须依靠电子计算机快速准确的数据处理能力.这种用计算机处理数值问题的方法,成为科学计算.今天,科学计算的应用范围非常广泛,天气预报、工程设计、流体计算、经济规划和预测以及国防尖端的一些科研项目,如核武器的研制、导弹和火箭的发射等,始终是科学计算最为活跃的领域. 1.1 数值积分介绍 数值积分是数值分析的重要环节,实际问题当中常常需要计算积分,有些数值方法,如微分方程和积分方程的求解,也都和积分计算相联系. 求某函数的定积分时,在多数情况下,被积函数的原函数很难用初等函数表达出来,因此能够借助微积分学的牛顿-莱布尼兹公式计算定积分的机会是不多的.另外,许多实际问题中的被积函数往往是列表函数或其他形式的非连续函数,对这类函数的定积分,也不能用不定积分方法求解.由于以上原因,数值积分的理论与方法一直是计算数学研究的基本课题.对微积分学做出杰出贡献的数学大师,如I.牛顿、L.欧拉、C.F.高斯、拉格朗日等人都在数值积分这个领域作出了各自的贡献,并奠定了这个分支的理论基础. 构造数值积分公式最通常的方法是用积分区间上的n 次插值多项式代替被积函数,由此导出的求积公式称为插值型求积公式.特别在节点分布等距的情形称为牛顿-科特斯公式,例如梯形公式(Trapezoidal Approximations)与抛物线公式(Approximations Using Parabolas)就是最基本的近似公式.但它们的精度较差.龙贝格算法是在区间逐次分半过程中,对梯形公式的近似值进行加权平均获得准确程度较高的积分近似值的一种方法,它具有公式简练、计算结果准确、使用方便、稳定性好等优点,因此在等距情形宜采用龙贝格求积公式(Rhomberg Integration).当用不等距节点进行计算时,常用高斯型求积公式计算,它在节点数目相同情况下,准确程度较高,稳定性好,而且还可以计算无穷积分.数值积分还是微分方程数值解法的重要依据.许多重要公式都可以用数值积分方程导出.现探讨数值积分算法以及运用MATLAB软件的具体实现

数值分析与实验复化辛卜生公式龙贝格算法

数值分析与实验课程设计 班级: 姓名: 学号:

08级应用数学《数值分析与实验(实践)》任务书 一、设计目的 通过《数值分析与实验(实践)》实践环节,掌握本门课程的众多数值解法和原理,并通过编写C语言或matlab程序,掌握各种基本算法在计算机中的具体表达方法,并逐一了解它们的优劣、稳定性以及收敛性。在熟练掌握C语言或matlab语言编程的基础上,编写算法和稳定性均佳、通用性强、可读性好,输入输出方便的程序,以解决实际中的一些科学计算问题。 二、设计教学内容 1、数值方法的稳定性; 2、利用牛顿法和割线法程序求出非线性方程的解,并比较它们之间的优 劣; 3、高斯消去法和列主元高斯消去法求解线性方程组; 雅克比法和高斯-赛德尔迭代法解方程组; 4、利用Lagrange插值多项式求未知点的近似值; 5、利用所给数据进行数据的多项式和可转化成多项式形式的函数拟合; 6、编写复化辛卜生公式和龙贝格算法,通过实际计算体会各种方法的精确 度; 7、利用改进Euler方法和四阶Runge-Kutta方法求解初值问题的微分方 程组; 8、利用幂法求矩阵按模最大的特征值及对应特征向量; (8个中选取1个) 三、设计时间 2011—2012学年第1学期:第16周共计一周 教师签名: 2011年12月12日

前言 数值计算方法是一种利用计算机解决数学问题的数值近似解方法,特别是无法用人工过计算器计算的数学问题。数值计算方法常用于矩阵高次代数方程矩阵特征值与特征向量的数值解法,插值法,线性方程组迭代法,函数逼近,数值积分与微分,常微分方程初值问题数值解等。 作为数学与计算机之间的一条通道,数值计算的应用范围已十分广泛,作为用计算机解决实际问题的纽带,数值算法在求解线性方程组,曲线拟合、数值积分、数值微分,迭代方法、插值法、拟合法、最小二乘法等应用广泛。 数值计算方法是和计算机紧密相连的,现代计算机的出现为大规模的数值计算创造了条件,集中而系统的研究适用于计算机的数值方法是十分必要的。数值计算方法是在数值计算实践和理论分析的基础上发展起来的。 通过数值计算方法与实验将有助于我们理解和掌握数值计算方法基本理论和相关软件的掌握,熟练求解一些数学模和运算,并提高我们的编程能力来解决实际问题。

高中信息技术算法及程序设计

高中信息技术《算法与程序设计VB (选修)》 知识要点 相关知识点 (一)算法 1.定义 相关题解: 1算法:就是解决问题的方法和步骤。算法是程序设计的“灵魂”,算法+数据结构=程序。 单选题 1、运用计算机程序解决实际问题时,合理的步骤是(B )。 A 、设计算法→分析问题→编写程序→调试程序 B 、分析问题→设计算法→编写程序→调试程序 C 、分析问题→编写程序→设计算法→调试程序 D 、设计算法→编写程序→分析问题→调试程序 2.算法的描述方法: 1算法的描述:可分多种表达方法,一般用自然语言、流程图和伪代码进行描述。 2自然语言描述法:指用人们日常生活中使用的语言(本国语言),用自然语言描述符合我们的习惯,且容易理解。 3流程图描述:也称程序框图,它是算法的一种图形化表示方法。且描述算法形象、直观,更易理解。 4伪代码描述法:是介于自然语言和计算机程序语言之间的一种算法描述。是专业软件开发人员常用方法。 相关题解: 单选题 1、图形符号"在算法流程图描述中表示( B ). A 处理或运算的功能 B 输入输出操作 C D 算法的开始或结束 2、图形符号在算法流程图描述中表示( A ). A 输入输出操作 C 用来判断条件是否满足需求 D 算法的开始或结束 3、以下哪个是算法的描述方法( A ) A 流程图描述法 B 枚举法 C 顺序法 D 列表法 4、以下哪个是算法的描述方法( D ) A 顺序法 B 列表法 C 集合法 D 自然语言描述法 介于自然语言和计算机语言之间的一种算法描述是下列哪个选项( )

B、流程图 C、高级语言 D、VB 程序设计语言 (二)程序设计基础 (1)常用高级编程语言:BASIC、VB、Pascal、C、C++、Java 1面向对象的程序设计语言:其中的对象主要是系统设计好的对象,包括窗体等、控件等 2控件:是指工具箱中的工具在窗体中画出的、能实现一定功能的部件,如文本框,命令按钮等。 对象属性=属性值 对象中属性可以在设计界面时通过属性窗中设置,也可以在运行时通过程序代码设置,方法如下例:给文本框“Txt123”的“Text”属性赋值为字符串“20”,代码如下 =”20”

Romberg龙贝格算法实验报告.

Romberg龙贝格算法实验报告 2017-08-09 课程实验报告 课程名称: 专业班级: CS1306班学号: U201314967 姓名:段沛云指导教师:报 告日期: 计算机科学与技术学院 目录 1 实验目的 (1) 2 实验原理 (1) 3 算法设计与流程框图 (2) 4 源程序 (4) 5 程序运行 (7) 6 结果分析 (7) 7 实验体会 (7) 1 实验目的 掌握Romberg公式的用法,适用范围及精度,熟悉Romberg算法的流程,并能够设计算法计算积分 31 得到结果并输出。 1x 2 实验原理 2.1 取k=0,h=b-a,求T0= 数)。 2.2 求梯形值T0( b-a

),即按递推公式(4.1)计算T0。 k 2 h [f(a)+f(b)],令1→k,(k记区间[a,b]的二分次2 2.3 求加速值,按公式(4.12)逐个求出T表的第k行其余各元素Tj(k-j) (j=1,2,….k)。 2.4 若|Tk+1-Tk| n-1 11T2n=[Tn+hn∑f(xi+)] 22i=0 1 Sn=T2n+(T2n-Tn) 31 Cn=S2n+(S2n-Sn) 151 Rn=C2n+(C2n-Cn) 63 3 算法设计与流程框图 算法设计:(先假定所求积分二分最大次数次数为20) 3.1 先求T[k][0] 3.2 再由公式T (k)m 4m(k+1)1)=mTm-1-mTm(k-1(k=1,2,) 求T[i][j] 4-14-1 3.3 在求出的同时比较T[k][k]与T[k-1][k-1]的大小,如果二者之差的绝对 值小于1e-5,就停止求T[k][k];此时的k就是所求的二分次数,而此时的T[k][k]就是最终的结果 3.4 打印出所有的T[i][j];程序流程图

算法与程序设计教案

算法与程序设计思想 【基本信息】 【课标要求】 (一)利用计算机解决问题的基本过程 (1)结合实例,经历分析问题、确定算法、编程求解等用计算机解决问题的基本过程,认识算法和程序设计在其中的地位和作用。 (2)经历用自然语言、流程图或伪代码等方法描述算法的过程。 (4)了解程序设计语言、编辑程序、编译程序、连接程序以及程序开发环境等基本知识。 【学情分析】 高一年级的学生已具备了一定的观察、思考、分析和解决问题能力,也已有了顺序结构、分支结构、循环结构等知识的储备。因此,对于如何将解决问题的思路画成流程图已有一定的基础,但可能还不很熟练,尤其对刚学过的循环结构,教师在课堂上要注意引导。 『此处说“已有了顺序结构、分支结构、循环结构等知识的储备”,应该是指在必修部分对“计算机解决实际问题的基本过程”已有所体验与了解,或是指已学习过数学中相关模块的知识,这是本案例教学得以实施的必不可少的前提条件。』 【教学目标】 1.知识与技能: 建立求一批数据中最大值的算法设计思想,并将算法的设计思想用流程图表示出来。 2.过程与方法: 利用现实生活中比较身高的活动,以及对武术比赛中“打擂台”流程的逐步梳理,让学生学会从此类生活实际中提炼出求最大值的思想方法,即算法思想。 培养学生分析问题、解决问题的能力,让学生学会在面对问题时能梳理出解决问题的清晰思路,进而设计出解决某个特定问题的有限步骤,从而理解计算机是如何解决、处理某种问题的。 『在过程上,通过现实生活中的实例来引导学生总结“求最大值”的算法思想。过程的实现关键在于实例引用是否贴切,是否有利于学生向抽象结论的构建。本案例的实例选择是符合这一要求的。在方法上,注重培养学生分析、解决问题的一般能力,再次体验与理解应用计算机解决问题的基本过程,为后面更一步的学习打下基础,积累信心。』 3.情感态度与价值观:

算法与程序设计模块(选择题)汇总

算法与程序设计模块(选择题) 1.用流程图描述算法中表示“条件判断”的图形符号是 A. B. C. D. 答案:A 2.以下为求0到1000以内所有奇数和的算法,从中选出描述正确的算法 A. ①s=0; ②i=1; ③s=s+i; ④i=i+2; ⑤如果i≤1000,则返回③; ⑥结束 B. ①s=0; ②i=1; ③i=i+2; ④s=s+i; ⑤如果i≤1000,则返回③; ⑥结束 C. ①s=1; ②i=1; ③s=s+i; ④i=i+2; ⑤如果i≤1000,则返回③; ⑥结束 D. ①s=1;

②i=1; ③i=i+2; ④s=s+i; ⑤如果i≤1000,则返回③; ⑥结束 答案:A 3.在VB语言中,下列数据中合法的长整型常量是 A. 123456 B. 1234.56 C. 12345A D. A12345 答案:A 4.在VB语言中可以作为变量名的是 A. Print B. ab=cd C. 123abc D. abc_123 答案:D 5.设置TextBox的字体时,应改变TextBox的 A. Text属性 B. Font属性 C. ForeColor属性 D. Name属性 答案:B 7.代数式a ac b 24 2 对应的VB表达式是 A. sqr(b*b-4*a*c)/2*a B. sqr(b*b-4*a*c)/2/a C. sqr(b*b-4*a*c)/(2/a) D. sqr(b*b-4*a*c)/2a

答案:B 8.在VB语言中,下列正确的赋值语句是 A. I=I+1 B. I+1=I C. I*3=I D. 2I=I+1 答案:A 9.下列计算机程序设计语言中不属于高级语言的是 A. C++ B. Visual Basic C.机器语言 D. Java 答案:C 计算机程序设计语言:机器语言010*******汇编语言高级语言10.在VB语言中,下列逻辑表达式的值为"假"的是 A. #1/11/2009# > #11/15/2008# B. #1/11/2009# < #11/15/2008# C. 5 > 3 and 6 < 9 D. 5 > 3 or 6 > 9 答案:B 11.用流程图描述算法中表示“开始/结束”的图形符号是 A. B. C. D. 答案:B

龙贝格算法的matlab实现

作业三——龙贝格算法的matlab实现程序流程图:

程序源代码: 文件f.m function fx = f(x) if x == 0 fx = 1; else fx = sin(x) / x; end end 文件longbeige.m clc clear all; format long a=input('请输入你要求得积分的下限:'); b=input('请输入你要求得积分的上限:'); e=input('请输入你要求得积分的结束精度:'); k=input('请输入你要求得积分的最大次数:'); fx=@(x)sin(x)/x; lbg(@f,a,b,k,e) 文件lbg.m function lbg(fx,a,b,k,e) T=zeros(k,k); T(1,1)=(b-a)*(1+fx(b))/2; for i=1:k m=0; for j=1:2^(i-1) m=m+fx(a+(2*j-1)*(b-a)/(2^i)); end T(i+1,1)=0.5*T(i,1)+(b-a)*m/2^i; for n=1:i T(i+1,n+1)=(4^n*T(i+1,n)-T(i,n))/(4^n-1); end if abs(T(i+1,i+1)-T(i,i))<=e & i>=4 break; else ; end end for i=1:k

if T(i,1)==0 j=i; break; else ; end end if j==k error('所求次数不够或不可积') else ; end T=T(1:j-1,1:j-1) disp('所求的积分值为:') disp(T(j-1,1))

高中信息技术算法与程序设计教案沪教版选修1

解析法 一、基本说明 1、教学内容所属模块:信息技术选修1《算法与程序设计》 2、年级:高一年级 3、所用教材出版单位:上海科技教育出版社 4、所属的章节:第三章第一节 5、学时数:45分钟 二、教学设计 1、教学目标: (1)了解解析算法的基本概念。通过实例的学习,掌握用解析算法设计程序的基本思路。 (2)学会根据问题寻找恰当算法和解决问题的方法,并进一步理解分析问题、设计算法、编写程序、调试程序这一用计算机解决问题的过程和方法。 (3)学会合作、交流,培养勇于实践、勤于思考和善于总结的精神和态度。 2、内容分析: 本节内容为用解析法设计程序,解析法是一种最基本的常用算法,在之前三种基本结构程序设计的例题分析中也曾使用过,该算法的分析也为今后的各种算法学习做好了准备。本课教学重点是“理解解析算法的思想,能写出求解问题的解析式并用程序实现”,本课的教学难点是“如何学会分析问题,合理设计算法,建立求解问题的解析式”。 3、学情分析: 学生已经具备了可视化编程的能力及程序设计的基本技能,这样就可以将教学的重点放在算法的分析上,培养学生解决实际问题的能力。 4、设计思路: 本课采用一个测量树高的例子进行引入,用简单的例子分析解析算法,然后采用教材上的活动“求解铁丝问题”让学生掌握解析算法的实现过程,用“求岛屿面积”的实践环节巩固学生的学习。课堂教学中主要采用任务驱动、分析归纳、小组合作、自主探究相结合的学习方法。

题 2’ 从A、B两点仰角的角度与两点之 间的距离可计算出MN的高度。 引出课题:解析法 探究学习 8’[学习任务一] 问题:MN是竖直于地面的物体, 其底部N不可到达。为了测量MN 的高度,在地面上选取一条与MN 在同一平面的水平线线段AB为 基线,测得AB的长为a=20米, 在A点向M点张望的仰角α =38.4°,在B点向M点张望的仰 角β=22.8°。试设计程序计算高 度MN。 要求:完成“学习任务一”(填 写电子文档) 1、问题分析:怎样写出计算表达 式。(请学生回答) 2、设计求解表达式MN=a/(1/tan β- 1/tanα)的算法。 (以下部分小组合作完成) 3、实现应用程序:老师提供程序 的可视化界面及不完整的程序, 要求学生程序填空,完善程序。 4、将程序输入到程序窗体的按钮 中并调试计算本题结果。附带计 算学校中一棵桂花树和一棵龙柏 的高度。 1、由α、β与a 推导出计算表达 式。 2、根据计算表达 式,分析解题算 法。 3、小组合作,填 空完成程序,交流 填空结果。 4、复制程序,调 试并得出运算结 果。 让学生在 老师的带 领下了解 解析法解 题的一般 过程。 学习小结2’老师提问:请同学说说求解任务 一的步骤是怎样的? 老师用流程图表示这个步 骤,提出解析法的概念。 了解解析算法的 概念。 让学生初 步了解解 析算法的 概念。 [学习任务二]求解“铁丝问题” “智力大比拼”活动: (1)一根长为6米,可制作一个 2平方米的矩形框,问该矩形长 和宽各为多少? (2)上面同样的问题,制作的面 积为2.1平方米,那么长、宽各 参与“智力大比 拼”活动。 产生计算机程序 解决问题与简单 人脑思维运算的 比较。 让学生参 与“智力大 比拼”活 动,产生冲 突,激发学 生学习的 兴趣。

几种常用数值积分方法的比较汇总

学科分类号110.3420 州 GUIZHOU NORMAL COLLEGE 本科毕业论文 题目—几种常用数值积分方法的比较_____________ 姓名潘晓祥学号1006020540200 院(系)数学与计算机科学学院 __________________ 专业数学与应用数学年级_____________2010级 指导教师雍进军职称______________________讲师 二O—四年五月

贵州师范学院本科毕业论文(设计)诚信声明本人郑重声明:所呈交的本科毕业论文(设计),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议,除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 本科毕业论文作者签名: 年月曰

贵州师范学院本科毕业论文(设计)任务书

研究方法: 本论文主要通过对相关文献和书籍的参考,合自己的见解,复化求积公式,Newton —Cotes求积公式,Romberg求积公式,高斯型求积公式进行讨论并进行上机实验,从代数精度,求积公式误差等角度对这些方法进行分析比较完成期限和采取的主要措施: 本论文计划用6个月的时间完成,阶段的任务如下: (1) 7月份查阅相关书籍和文献; (2) 8月份完成开题报告并交老师批阅; (3) 9月份完成论文初稿并交老师批阅; (4) 10月份完成论文二搞并交老师批阅; (5) 11月份完成论文三搞; (6) 12月份定稿. 主要措施:考相关书籍和文献,合自己的见解,老师的指导下和同学的帮助下完成 主要参考文献及资料名称: [1] 关治?陆金甫?数学分析基础(第二版) [M].北京:等教育出版社.2010.7 [2] 胡祖炽.林源渠.数值分析[M]北京:等教育出版社.1986.3 [3] 薛毅.数学分析与实验[M] 北京:业大学出版社2005.3 [4] 徐士良.数值分析与算法[M].北京:械工业出版社2007.1 [5] 王开荣.杨大地.应用数值分析[M]北京:等教育出版社2010.7 [6] 杨一都.数值计算方法[M].北京:等教育出版社.2008.4 [7] 韩明.王家宝.李林.数学实验(MATLAB版[M].上海:济大学出版社2012.1 [8] 圣宝建.关于数值积分若干问题的研究[J].南京信息工程大学.2009.05.01. : 42 [9] 刘绪军.几种求积公式计算精确度的比较[J].南京职业技术学院.2009. [10] 史万明.吴裕树.孙新.数值分析[M].北京理工大学出版社.2010.4. 指导教师意见: 签名: 年月日

数值积分法

第7章 数值积分法 7.1 实验目的 了解求积公式及代数精度概念,理解并掌握求定积分的求积公式的算法构造和计算,学习用计算机求定积分的一些科学计算方法和简单的编程技术和能用程序实现这些算法。 7.2 概念与结论 1. 求积公式 计算定积分的如下形式的近似公式: 称为求积公式。 2.代数精度 若求积公式 对一切不高于m 次的 多项都准确成立,而对于m+1次多项式等号不成立,则称此求积公式 的代数精度为m 。 代数精度越高,求积公式越好。 3.求积余项 4.Newton-Cotes 求积公式的代数精度 n 点Newton-Cotes 求积公式的代数精度至少可以达到n-1,且当n 为奇数时,可以达到n 。 ?∑=≈b a n k k k x f A dx x f 1 ) ()(?∑=≈b a n k k k x f A dx x f 1 ) ()(?∑=-=b a n k k k x f A dx x f f R 1 ) ()()(

? =b a dx x f I )(5.Richardson 外推定理 设函数F 1(h)逼近量F*的余项为: F*-F 1(h)=a 1h p1 +a 2h p2 +····+a k p k +··· 式中p k >p k-1>···>p 2>p 1>0, F*和a i (i=1,2, ···)都是与h 无关的常数,且k ≥1时,a k ≠0,则由: 定义的函数F 2(h)也逼近F*,且有 F*-F 2(h)= b 2h p2 +····+b k p k +··· 6. 关于复合梯形公式的展开定理 设f(x)在[a,b]区间上无穷次可微,则有如下展开式: T(h)=I+a 1h 2 +a 2h 4 +a 3h 6 +…+a m h 2m +… 式中T(h)是函数f(x)在[a,b]区间上的复化梯形值Tn, 7.3 程序中Mathematica 语句解释 1. 随机函数 Random[] 随机给出闭区间[0,1]内的一个实数 Random[Real, xmax] 随机给出闭区间[0,xmax]内的一个实数 Random[Real, {xmin, xmax}] 随机给出闭区间[xmin,xmax]内的一个实数 Random[Integer] 随机给出整数0或1 Random[Integer, {xmin, xmax}] 随机给出xmin 到xmax 之间的一个整数 Random[Complex] 随机给出单位正方形内的一个复数 2.{a1,a2,…,an} 表示由元素a1,a2,…,an 组成的一个表,元素可以是任何内容。 ) 10(1) ()()(1 1112<<--= q q h F q qh F h F p p

龙贝格公式和辛普森公式和复合梯形公式

实验八数值积分 信息与计算科学金融崔振威201002034031 一、实验目的: 1、掌握数据积分算法设计及程序实现 二、实验内容: 1、p290-1、p301-2 三、实验要求: 主程序: 复合梯形公式: function [I,step,h2] = CombineTraprl(f,a,b,eps) %f 被积函数 %a,b 积分上下限 %eps 精度 %I 积分结果 %step 积分的子区间数 if(nargin ==3) eps=1.0e-4; end n=1; h=(b-a)/2; I1=0; I2=(subs(sym(f),findsym(sym(f)),a)+subs(sym(f),findsym(sym(f)),b))/h; while abs(I2-I1)>eps n=n+1; h=(b-a)/n; I1=I2; I2=0; for i=0:n-1 x=a+h*i; x1=x+h; I2=I2+(h/2)*(subs(sym(f),findsym(sym(f)),x)+subs(sym(f),findsym(sym(f)),x1)); end end I=I2; step=n; h2=(b-a)/n;

function [I,step,h] = IntSimpson(f,a,b,type,eps) %type = 1 辛普森公式 %type = 2 辛普森3/8公式 %type = 3 复合辛普森公式 if(type==3 && nargin==4) eps=1.0e-4; %精度为0.0001 end I=0; switch type case 1, I=((b-a)/6)*(subs(sym(f),findsym(sym(f)),a)+... 4*subs(sym(f),findsym(sym(f)),(a+b)/2)+... subs(sym(f),findsym(sym(f)),b)); step=1; case 2, I=((b-a)/8)*(subs(sym(f),findsym(sym(f)),a)+... 3*subs(sym(f),findsym(sym(f)),(2*a+b)/3)+ ... 3*subs(sym(f),findsym(sym(f)),(a+2*b)/3)+subs(sym(f),findsym(sym(f)),b)); step=1; case 3, n=2; h=(b-a)/2; I1=0; I2=(subs(sym(f),findsym(sym(f)),a)+subs(sym(f),findsym(sym(f)),b))/h; while abs(I2-I1)>eps n=n+1; h=(b-a)/n; I1=I2; I2=0; for i=0:n-1 x=a+h*i; x1=x+h; I2=I2+(h/6)*(subs(sym(f),findsym(sym(f)),x)+... 4*subs(sym(f),findsym(sym(f)),(x+x1)/2)+... subs(sym(f),findsym(sym(f)),x1)); end end I=I2; step=n; end

1面向方程的数值积分方法仿真

实验1面向方程的数值积分方法仿真 1. 实验目的 运用CSS01.C 仿真程序解题,培养阅读及修改仿真程序的能力,学习并了解仿真程序的结构及特点.通过实验,加深理解4阶龙格-库塔法的原理及其稳定域. 2. 实验设备:装有BC 语言的PC 机一台 3. 实验内容 修改CSS01.C 仿真程序,对如下系统进行仿真. (1) 线性定常系统 ??????????321x x x =????????? ?---00600120000120??????????321x x x +??????????60000u y=[]00 1[]T x x x 32 1 ??????????)0()0()0(321x x x =???? ? ?????000, u=1(t) a)、对龙格库塔法进行分析:它是一种数值积分法,也就是微分方程初 值问题数值计算法,是对初值微分方程的离散化求解。对于数值积分法我们常用的是欧拉法以及二阶和四阶龙格库塔法其原理分别如下: 对于形如 dt dy =),(y t f 的微分方程 用欧拉法仿真其迭代公式为 ),(*1k k k k y t f h y y +=+,其中h 为仿真步长(下同);

二阶龙格库塔法其迭代公式为 y k+1= y k +h/2*(k1+k2),其中),(1k k y t f k =, );*,(21h k y h t f k k k ++= 四阶龙格库塔法其迭代公式为:)432221(*6/1k k k k h y y k k ++++=+, 其中),(1k k y t f k =,k2= f(t k +h/2,y k +k1*h/2),k3= f(t k +h/2,y k +k2*h/2), k4= f(t k +h,y k +k3*h); 本程序中大致分以下四次计算: 第一次计算: g[1]*h/2——k[1][2],y[1]——k[1][1],把y[1]的值赋给k[1][1] Y[1]= k[1][1]+ k[1][2]; dt dy =),(y t f ——g[1] , (计算k1), g[1]*h/2——k[1][2],(把k1*h/2存储到k[1][2]) 第二次计算: Y[1]= k[1][1]+ k[1][3]; dt dy =),(y t f ——g[1] , (计算k2), g[1]*h/2——k[1][3],(把k2*h/2存储到k[1][3]) 第三次计算: dt dy =),(y t f ——g[1],(计算k3), Y[1]= k[1][1]+ k[1][4]; k[1][4]= g[1]*h ;(把k3*h 存储到k[1][4]) 第四次计算: dt dy =),(y t f ——g[1],(计算k4), 此时 把k1,k2,k3,k4 的值代入下式: ) 432221(*6/1k k k k h y y k k ++++=+ 即为 6/)4*3**22**21*(1k h k h k h k h y y k k ++++=+ , 由于h*k1=2*k[1][2],2*h*k2=4*k[1][3],2*h*k3=2*k[1][4],h*k4=h*g[1] 所以可得如程序中的计算公式: Y[1]= k[1][1]+(2*k[1][2]+4* k[1][3]+2* k[1][4]+h*g[1]); 可见该仿真程序为四阶龙格库塔法的数值积分仿真程序。

历年算法与程序设计学业水平考试真题带答案

一、选择题 1、流程图是描述()的常用方式。 A、程序 B、算法 C、数据结构 D、计算规则 2、下面不属于算法描述方式的是()。 A、自然语言 B、伪代码 C、流程图 D、机器语言 3、以下运算符中运算优先级最高的是()。 A、+ B、^ C、>= D、* 4、某程序中三个连续语句如下: a=1 b=2 c=b+a 它属于() A、顺序结构 B、选择结构 C、循环结构 D、以上三种都不是 5、穷举法的适用范围是() A、一切问题 B、解的个数极多的问题 C、解的个数有限且可一一列举 D、不适合设计算法 6、在现实生活中,人工解题的过程一般分为() A、理解分析问题→寻找解题方法→用工具计算→验证结果

B、寻找解题方法→理解分析问题→用工具计算→验证结果 C、用工具计算→验证结果→寻找解题方法→理解分析问题 D、用工具计算→验证结果→理解分析问题→寻找解题方法 7、下列关于算法的特征描述不正确的是() A、有穷性:算法必须在有限步之内结束 B、确定性:算法的每一步必须确切的定义 C、输入:算法必须至少有一个输入 D、输出:算法必须至少有一个输出 8、下列哪一个不是用于程序设计的软件() A、BASIC B、C语言 C、Word D、Pascal 9、下列可以作为合作变量名的是() A、a7 B、7a C、a-3 D、8 10、编程求1+2+3+........+1000的和,该题设计最适合使用的控制结构为()。 A、顺序结构 B、分支结构 C、循环结构 D、选择结构 11、下列步骤不属于软件开发过程的是() A、任务分析与系统设计 B、软件的销售 C、代码编写与测试 D、软件测试与维护12.以下程序段运行时,语句k=k+1 执行的次数为()次。

数值积分的matlab实现

实验10 数值积分 实验目的: 1.了解数值积分的基本原理; 2.熟练掌握数值积分的MATLAB 实现; 3.会用数值积分方法解决一些实际问题。 实验内容: 积分是数学中的一个基本概念,在实际问题中也有很广泛的应用。同微分一样,在《微积分》中,它也是通过极限定义的,由于实际问题中遇到的函数一般都以列表形式给出,所以常常不能用来直接进行积分。此外有些函数虽然有解析式,但其原函数不是初等函数,所以仍然得不到积分的精确值,如不定积分?1 0 d sin x x x 。这时我们一般考虑用数值方法计算其 近似值,称为数值积分。 10.1 数值微分简介 设函数()y f x =在* x 可导,则其导数为 h x f h x f x f h ) ()(lim )(**0* -+='→ (10.1) 如果函数()y f x =以列表形式给出(见表10-1),则其精确值无法求得,但可由下式求得其近似值 h x f h x f x f ) ()()(*** -+≈' (10.2) 一般的,步长h 越小,所得结果越精确。(10.2)式右端项的分子称为函数()y f x =在 *x 的差分,分母称为自变量在*x 的差分,所以右端项又称为差商。数值微分即用差商近似

代替微商。常用的差商公式为: 000()() ()2f x h f x h f x h +--'≈ (10.3) h y y y x f 243)(2 100-+-≈ ' (10.4) h y y y x f n n n n 234)(12+-≈ '-- (10.5) 其误差均为2 ()O h ,称为统称三点公式。 10.2 数值微分的MATLAB 实现 MATLAB 提供了一个指令求解一阶向前差分,其使用格式为: dx=diff(x) 其中x 是n 维数组,dx 为1n -维数组[]21321,, ,n x x x x x x ---,这样基于两点的数值导 数可通过指令diff(x)/h 实现。对于三点公式,读者可参考例1的M 函数文件diff3.m 。 例1 用三点公式计算()y f x =在=x 1.0,1.2,1.4处的导数值,()f x 的值由下表给出。 解:建立三点公式的M 函数文件diff3.m 如下: function f=diff3(x,y) n=length(x);h=x(2)-x(1); f(1)=(-3*y(1)+4*y(2)-y(3))/(2*h); for j=2:n-1 f(j)=(y(j+1)-y(j-1))/(2*h); end f(n)=(y(n-2)-4*y(n-1)+3*y(n))/(2*h);

《算法与程序设计》VB教案

1-1节计算机解决问题的过程 一、教学目标 1、知识与技能 (1)让学生了解算法、穷举法、程序设计语言、编写程序和调试程序等概念。 (2)让学生知道对现实问题的自然语言的描述,特别是类似程序设计语言的自然语言描述。 (3)让学生理解分析问题、设计算法、编写程序、调试程序这一用计算机解决问题的基本步骤,认识其在算法与程序设计中的作用。 2、方法与过程 (1)培养学生发现旧知识的规律、方法和步骤,并把它运用到新知识中去的能力。 (2)培养学生调试程序的能力。 (3)培养学生合作、讨论、观摩、交流和自主学习的能力。 3、情感态度和价值观 通过“韩信点兵”这个富有生动情节的实例和探究、讲授、观摩、交流等环节,让学生体验用计算机解决问题的基本过程。 二、重点难点 本节的重点用计算解决问题的过程中的分析问题、设计算法、和上机调试程序等步骤。用计算机解决问题的过程中的分析问题、设计算法也是本节的难点。 三、教学环境 1、教材处理 教学内容选用中华人民共和国教育部制订的《普通高中技术课程标准》(2003年4月版)中信息技术部分的选修模块1“算法与程序设计”第一章的第一课“计算机解决问题的过程”。教材选用《广东省普通高中信息技术选修一:算法与程序设计》第三章第一节,建议“算法与程序设计”模块在高中一年级下学期或高中二年级开设。 根据2003年4月版《普通高中技术课程标准》的阐述,“算法与程序设计”是普通高中信息技术的选修模块之1,它的前导课程是信息技术的必修模块“信息技术基础”。学生在“信息技术基础”模块里已经学习了计算机的基本操作,掌握了启动程序、窗口操作和文字编辑等基础知识。学生可以利用上述的基础知识,用于本节课的启动Visual Basic程序设计环境,输入程序代码,运行程序等操作。本节课“计算机解决问题的过程”是“算法与程序设计”模块的第一节课,上好这节课是使学生能否学好“算法与程序设计”这一模块的关键。本节课的教学目的是让学生理解分析问题、设计算法、编写程序和调试程序等用计算机解决问题的基本过程,认识其在算法与程序设计中的地位和作用,它也是后续课程如模块化程序设计、各种算法设计等课程的基础。 让学生在人工解题中发现分析问题、设计算法等步骤,并把它应用到用计算机解决问题中去,这是构建主义中知识迁移的方法。本节课还采用了探究、讲授、观摩、交流、阅读材料等多种教学活动的有机结合的方法。 2、预备知识 本节课相联系的旧知识是计算机的基本操作中鼠标、键盘操作,启动、关闭程序,窗口、菜单操作和文字编辑等基础知识,还有解决数学问题的步骤等知识。 3、硬件要求 可以进行屏幕广播的多媒体电脑室。教师自行设计制作的课件。准备《计算机解决问题的过程》教学活动表。 4、所需软件 学生机要安装VB6.0或以上版本。 5、所需课时 2课时(100分钟) 四、教学过程 (一)引入

相关文档
相关文档 最新文档