实验四 数值微积分

实验四 数值微积分

实验四 数值微积分

一、实验目的

1)了解数值微积分的基本思想。

2)学习通过数值计算求解函数微积分的方法及相关函数的使用

二、实验原理

1)数值微分

diff 函数,调用格式为y=diff(x),求序列x 的差分保存在y 中,y 的长度比x 小1。如果x 来自于函数的采样,函数的采样间隔为d ,那么y/d 可以近似表示函数的微分。

gradient(x)函数,调用格式为y=gradient(x),求序列x 的“内点中心差分”, y 的长度为x 相同。如果x 来自于函数的采样,函数的采样间隔为d ,那么y/d 可以近似表示函数的微分。

2)数值积分

sum 函数,调用格式为Sx=sum(x),对矩阵x 按列求和,如果x 为向量,则对所有元素求和。如果x 来自于函数的采样,函数的采样间隔为d ,那么Sx*d 可以近似表示函数的积分值。

cumsum(x)函数,调用格式为Scs=cumsum(x),求序列x 的累积和。Scs*d 可以近似表示函数的累积积分。

trapz 函数,调用格式为St=trapz(x,y),采用梯度法求函数y 关于自变量x 的积分。

cumtrapz(x,y)函数,调用格式为Sct=cumtrapz(x,y),梯度法求函数y 关于自变量x 的累积积分。

S=quad(fun,a,b,tol)或S=quadl(fun,a,b,tol),其中fun 为被积分函数,可以是字符串、内联对象、匿名函数或函数文件的句柄等,其自变量一般为x ,a,b 分别为积分的下限和上限,tol 控制结果的绝对误差。

三、实验内容及步骤

1. 给定一个函数2)(t e t f -=,利用diff 及gradient 函数近似求)(t f 的导函数

)()(t f dt

t df '=,并将函数)(t f 和其导函数曲线绘制在一个图中,同时给出两种方法得到的导函数曲线的细节图,并进行对比。 2. 利用sum 、trapz 、及quad 函数求?=5

0)(dt t f S ,其中)(t f 与第1题中相同。记录结果,要求quad 的计算结果达到绝对精度为10-9。观察各函数计算结果之间的差异。

3. 利用函数cumsum 和cumtrapz 求?=x

dt t f x y 0)()(,其中)(t f 与第1题中相同。将两者计算结果及它们的误差绘制在同一个图中,同时给出误差的细节图。

在以上题目中要求在图中为曲线添加相应的图例,原函数曲线用细线,其他曲线用粗线。

东南大学高等数学数学实验报告上

Image Image 高等数学数学实验报告 实验人员:院(系) ___________学号_________姓名____________实验地点:计算机中心机房 实验一 1、 实验题目: 根据上面的题目,通过作图,观察重要极限:lim(1+1/n)n =e 2、 实验目的和意义 方法的理论意义和实用价值。 利用数形结合的方法观察数列的极限,可以从点图上看出数列的收敛性,以及近似地观察出数列的收敛值;通过编程可以输出数列的任意多项值,以此来得到数列的收敛性。通过此实验对数列极限概念的理解形象化、具体化。 三、计算公式 (1+1/n)n 四、程序设计 五、程序运行结果 六、结果的讨论和分析 当n足够

Image Image 大时,所画出的点逐渐接近于直线,即点数越大,精确度越高。对于不同解题方法最后均能获得相同结果,因此需要择优,从众多方法中尽可能选择简单的一种。程序编写需要有扎实的理论基础,因此在上机调试前要仔细审查细节,对程序进行尽可能的简化、改进与完善。 实验二一、实验题目 制作函数y=sin cx的图形动画,并观察参数c对函数图形的影响。 二、实验目的和意义 本实验的目的是让同学熟悉数学软件Mathematica所具有的良好的作图功能,并通过函数图形来认识函数,运用函数的图形来观察和分析函数的有关性态,建立数形结合的思想。三、计算公式:y=sin cx 四、程序设计五、程序运行结果 六、结果的讨论和分析 c的不同导致函数的区间大小不同。 实验三 一、实验题目 观察函数f(x)=cos x的各阶泰勒展开式的图形。 二、实验目的和意义 利用Mathematica计算函数的各阶泰勒多项式,并通过绘制曲线图形,来进一步掌握泰勒展开与函数逼近的思想。 三、计算公式

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

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

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

matlab数值微积分与方程数值求解

电子一班王申江 实验九数值微积分与方程数值求解 一、实验目的 1、掌握求数值导数和数值积分的方法 2、掌握代数方程数值求解的方法 3、掌握常微分方程数值求解的方法 二、实验内容 1、求函数在指定点的数值导数。 () 23 2 123,1,2,3 026 x x x f x x x x x == >>syms x >>f=[x x^2 x^3;1 2*x 3*x^2;0 2 6*x]; >>F=det(f) F=2*x^3 >>h=0.1 >>x=[0:h:4]; >>f=2*x^3; >>[dy,dx]=diff_ctr(f,h,1); >>y1=dy(dx==1) y1=6.0000 >>y2=dy(dx==2)

y2=24.0000 >>y3=dy(dx==3) y3=54.0000 2、用数值方法求定积分。 (1) 210I π =?的近似值 a=inline('sqrt(cos(t.^2)+4*sin((2*t).^2)+1)'); I=quadl(a,0,2*pi) I = 6.7992 + 3.1526i (2)()1 202ln 11x I dx x +=+? b=inline('log(1+x)./(1+x.^2)'); I=quadl(b,0,1) I = 0.2722 3、分别用3种不同的数值方法解线性方程组。 6525494133422139211 x y z u x y z u x y z u x y u +-+=-??-+-=??++-=??-+=? A=[6,5,-2,5;9,-1,4,-1;3,4,2,-2;3,-9,0,2]; b=[-4,13,1,11]'; x=A\b

最新实验7微积分基本运算

实验7微积分基本运 算

实验7 微积分基本运算 一、实验目的 学会用MATLAB 软件求高等数学中函数的极值、微分、积分的方法. 二、实验内容与要求 1.函数的的极限 格式:limit(F,x,a) %计算符号表达式F=F(x)的极限值,当x →a 时; limit(F,x,a,’right ’) %计算符号表达式F 的右极限,当x →a +时。 limit(F,x,a,’left ’) %计算符号函数F 的左极限,当x a -→时。 【例1.61】 >> syms x a t h n; >> L1=limit((cos(x)-1)/x) %缺省状态下,计算当x →0时的极限值 error!!!!!!!!! >> L2=limit(1/x^3,x,0,'right') >> L3=limit(1/x,x,0,'left') >> L4=limit((log(x+h)-log(x))/h,h,0) >> v=[(1+a/x)^x,exp(-x)]; >> L5=limit(v,x,inf,'left') >> L6=limit((1+2/n)^(3*n),n,inf) 计算结果为: L1 = L2 = Inf L3 = -Inf L4 = 1/x L5 = [ exp(a), 0] L6 = exp(6) 2.求单变量函数的极值 格式:fmin(F,a,b) %计算在区间a-b 上函数F 取最小值时的x 的值. 说明:在5.3及5.3以上版本命令fmin 已改fminbnd,常用格式如下. X=fminbnd(F,a,b) %计算在区间a-b 上函数F 取最小值时的x 的值. [x,fval]=fminbnd(F,a,b)%计算在区间a-b 上函数F 的最小值fval 和对应 的x 值。 【例1.62】 求函数f(x)=3226187x x x --+在区间(-2,4)的极小值,并作图.

数值分析实验指导 - 7 积分

数值分析实验指导 潘志斌 2014年3月

实验七 数值积分 数值实验综述:通过数值积分实验掌握数值积分的实现,理解各种数值积分公式的特性,并能用数值积分求解积分方程和微分方程。 基础实验 7.1 Newton-cotes 型求积公式 实验目的:学会Newton-cotes 型求积公式,并应用该算法于实际问题. 实验内容:求定积分 ? π cos xdx e x 实验要求:选择等分份数n ,用复化Simpson 求积公式求上述定积分的误差不超过810-的近似值,用MATLAB 中的内部函数int 求此定积分的准确值,与利用复化Simpson 求积公式计算的近似值进行比较。 7.2 Romberg 算法 实验目的:学会数值求积的Romberg 算法,并应用该算法于实际问题. 实验内容:求定积分 ? 1 5 .0dx x 实验要求: (1)要求程序不断加密对积分区间的等分,自动地控制Romberg 算法中的加速收敛过程,直到定积分近似值的误差不超过610-为止,输出求得的定积分近似值。 (2)可用MATLAB 中的内部函数int 求得此定积分的准确值与Romberg 算法计算的近似值进行比较。 7.3 Gauss 型求积公式 实验目的:学会Gauss 型求积公式,并应用该算法于实际问题. 实验内容:求定积分 ? -+4 42 1x dx 实验要求: (1)把Gauss 点的表格存入计算机,以Gauss-Legendre 求积公式作为本实验的例子,要求程序可以根据不同的阶数n ,自动地用n 阶Gauss-Legendre 求积

公式计算上述定积分的近似值.体会Gauss型求积公式是具有尽可能高的代数精度的数值求积公式。 (2)可用MATLAB中的内部函数int求得此定积分的准确值与Gauss型求积公式求得的值进行比较。

数值实验部分分析

第二章 数值代数—————————————————————2 P45-46 实验题2(1)(3),5(A 为12阶改为5阶), 8,10(n=300改为n=10); 第三章迭代法——————————————————————25 P71-72 实验题2,3;习题2,12 第四章数据建模—————————————————————34 P106 实验题1,2,4,8;习题3 第五章数值微积分————————————————————43 P135 实验题1(1)-(4)4,5,8; 第六章数值分析及其MATLAB 实验—————————————53 P166 实验题1(1),5,6 第二章 数值代数 实验 2 求下列矩阵的行列式、逆、特征值、特征向量、各种范数、和条件数: (1) ???? ? ?????35 -1 6-231-14 (1) >> A=[4 1 -1;3 2 -6;1 -5 3]; a=det(A),B=inv(A),[V,D]=eig(A),t=eig(A)%矩阵的行列式a 、逆B 、特征值t 、特征向量V [norm(A),norm(A,1),norm(A,inf)]%分别为矩阵A 的2,1,∞-范数 [cond(A),cond(A,1),cond(A,inf)]%分别为矩阵A 的2,1,∞-条件数 a =+ -94 B = 0.2553 -0.0213 0.0426 0.1596 -0.1383 -0.2234 0.1809 -0.2234 -0.0532 V =

0.0185 -0.9009 -0.3066 -0.7693 -0.1240 -0.7248 -0.6386 -0.4158 0.6170 D = -3.0527 0 0 0 3.6760 0 0 0 8.3766 t = -3.0527 3.6760 8.3766 ans = 8.6089 10.0000 11.0000 ans = 3.7494 5.9574 5.7340 (2) ????? ???????1097591086781075675 >> A=[5 7 6 5;7 10 8 7;6 8 10 9;5 7 9 10]; a=det(A),B=inv(A),[V,D]=eig(A),t=eig(A)%矩阵的行列式a 、逆B 、特征值t 、特征向量V [norm(A),norm(A,1),norm(A,inf)]%分别为矩阵A 的2,1,∞-范数 [cond(A),cond(A,1),cond(A,inf)]%分别为矩阵A 的2,1,∞-条件数 a = 1.0000 B = 68.0000 -41.0000 -17.0000 10.0000 -41.0000 25.0000 10.0000 -6.0000 -17.0000 10.0000 5.0000 -3.0000 10.0000 -6.0000 -3.0000 2.0000 V = 0.8304 0.0933 0.3963 0.3803 -0.5016 -0.3017 0.6149 0.5286 -0.2086 0.7603 -0.2716 0.5520 0.1237 -0.5676 -0.6254 0.5209 D = 0.0102 0 0 0

微积分电路实验报告器件实验

示波器的使用及微分、积分电路实验报告 一、实验目的 1、熟练掌握示波器、函数信号发生器、及面包板的使用方法 2、能够准确解读示波器的图像,读出实验所需数据 3、了解微分、积分电路的原理,能够做出简单的微分、积分电路,并 解释其波形 二、实验仪器 双踪示波器、函数信号发生器、面包板、电阻、电容,数字万用表 三、实验原理 微、积分电路原理 所谓的微分及积分电路实际上就是在电路分析中的一阶电路,简单的微、积分电路,可利用电阻和电容、脉冲信号组成。 如图: 其中脉冲信号为矩形波,电阻两端电压输出为微分形式,电容两端输出为积分形式。所以微、积分电路其实为同一电路,只是不同部分电压的输出不同。

因为实验中,函数信号为最小值0V ,最大值5V ,所以我们也以此来计算电容、电阻两端电压变化情况。 因为dq i dt =,而对于电容又有q=Cu ; 所以电容两端有du i C dt =,则根据欧姆定理及基尔霍夫定律(KVL ): c c s du RC u u dt +=; 上式可变为 1 ()c s c du u u dt RC =- 即 1c s c du dt u u RC =-,可变为()1 s c s c d u u dt u u RC --=-, 两端积分,可得1 ln()s c u u t k RC --= + 积分常数可由初始条件加以确定: 当一个信号周期开始,电容两端电压先是从0V 变为5V ,再变为0V 。 所以是两个过程,第一个过程,(0)0c u V = 则,t =0时,可知ln s k u =-; 所以1 ln()ln s c s u u u t RC --=- ,即1ln s c s u u t u RC -=- 两边取反对数,得1t s c RC s u u e u --=,即:1()(1)t RC c s u t u e -=- 而R c s u u u +=,所以1t RC R s u u e - = 第二个过程,(0)c s u u =,则,t =0时,可知s c u u -趋近于0,不能直接算出k 值,所以可以将电容看做一个以电压源0()c u t 与一个初始电压为0的电容的串联,所以10()()()c c u t u t u t =+。 而1()u t 看做零状态响应:110() ()(1)t RC c u t u t e - =--

仿真实验一-RC微分积分电路

一、RC 一阶微积分电路仿真实验 一、电路课程设计目的 1、测定RC 一阶电路的积分、微分电路; 2、掌握有关微分电路和积分电路的概念。 二、仿真电路设计原理 1.RC 电路的矩形脉冲响应 若将矩形脉冲序列信号加在电 压初值为零的RC 串联电路上, 电路的瞬变过程就周期性地发 生了。显然,RC 电路的脉冲响 应就是连续的电容充放电过程。 如图所示。 若矩形脉冲的幅度为U ,脉宽为 tp 。电容上的电压可表示为: 电阻上的电压可表示为: 21010 0)(0)1()(t t t e U t u t t e U t u t t ≤≤?=≤≤-=--K Λττ 即当 0到t1时,电容被充电;当t1到t2 时,电容器经电阻R 放电。 2110 )(0)(t t t e U t u t t e U t u t R t R ≤≤?-=≤≤?=--K Λττ (也可以这样解释:电容两端电压不能突变,电流可以,所以反映在图中就是电阻两端的电压发生了突变。) 2.RC 微分电路 取RC 串联电路中的电阻两端为输出端,并选择适当的电路参数使时间常数τ<

上式说明,输出电压uo(t)近似地与输入电压ui(t)成微分关系,所以这种电路称微分电路。 3.RC 积分电路 如果将RC 电路的电容两端作为输出端,电路参数满足τ>>tp 的条件,则成为积分电路。由于这种电路电容器充放电进行得很慢,因此电阻R 上的电压ur(t)近似等于输入电压ui(t),其输出电压uo(t)为: ????≈?=?==dt t u RC dt R t u C dt t i C t u t u R R C C )(1)(1)(1)()(0 上式表明,输出电压uo(t)与输入电压ui(t)近似地成积分关系。 4.时间常数 RC 电路中,时间常数τ=R*C ; RL 电路中,时间常数τ=L/R 。 三、仿真实验电路搭建与测试 1、一阶RC 微分电路: 1u c u

数值积分的算法比较及其MATLAB实现

编号: 审定成绩: 重庆邮电大学 毕业设计(论文) 设计(论文)题目:数值积分算法与MATLAB实现 学院名称:数理学院 学生姓名: 专业:数学与应用数学 班级: 学号: 指导教师: 答辩组负责人: 填表时间:年月 重庆邮电大学教务处制

摘要 在求一些函数的定积分时,由于原函数十分复杂难以求出或用初等函数表达,导致积分很难精确求出,只能设法求其近似值,因此能够直接借助牛顿-莱布尼兹公式计算定积分的情形是不多的。数值积分就是解决此类问题的一种行之有效的方法。积分的数值计算是数值分析的一个重要分支;因此,探讨近似计算的数值积分方法是有着明显的实际意义的。本文从数值积分问题的产生出发,详细介绍了一些数值积分的重要方法。 本文较详细地介绍了牛顿-科特斯求积公式,以及为了提高积分计算精度的高精度数值积分公式,即龙贝格求积公式和高斯-勒让德求积公式。除了研究这些数值积分算法的理论外,本文还将这些数值积分算法在计算机上通过MATLAB软件编程实现,并通过实例用各种求积公式进行运算,分析比较了各种求积公式的计算误差。 【关键词】数值积分牛顿-科特斯求积公式高精度求积公式MATLAB软件

ABSTRACT When the solution of the definite integral of some function values,because the original function is very complex and difficult to find the elementary function expression, the integral is difficult to accurately calculate, only managed to find the approximate value, and the case is small that allows to direct interface with the Newton - Leibniz formula to calculate the definite integral. Numerical integration is an effective method to solve such problems. The numerical integration is an important branch of numerical analysis; therefore, exploring the approximate calculation of the numerical integration method has obvious practical significance. This article departure from the numerical integration problem, described in detail some important numerical integration methods. This paper has introduced detail the Newton - Coates quadrature formula, and in order to improve the calculation accuracy of numerical integration formulas, More precise formulas have Romberg quadrature formulas and the Gauss - Legendre quadrature formula. In addition to the study of these numerical integration algorithm theory, the article also involve what these numerical integration algorithm be programmed by matlab software on the computer, and an example is calculated with a variety of quadrature formulas, finally analysis and comparison to various quadrature formulas calculation error. 【Key words】Numerical integration Newton-Cotes quadrature formula High-precision quadrature formula Matlab software

微积分电路 实验报告

模拟电路实验报告 微积分电路

一.实验目的 1.微积分电路的工作原理及计算方法。 2.微积分电路的测试分析方法。 二.实验仪器 数字万用表 信号发生器 示波器 交流毫伏表 直流稳压电源 三.实验原理 实验原理可以构成积分和微分运算电路: 微分电路的运算关系:u 。=-RC dt du i 积分电路的运算关系:u 。=-RC 1 i u dt 四.实验内容 1.积分电路 连接积分电路,检查无误后接通+12v 和-12v 直流电源。 ①取ui=-1v,用示波器观察波形u 。,并测量运放输出电压的正向饱和电压值。(即为积分带最大时,为11.118v ) ②取ui=1v,测量运放的负向饱和电压值。(为-11.118v ) 由于波形上下波动很快,所以无法在实验实测其饱和电压值。 ③将电路中的积分电容改为0.1uF ,ui 分别输入1KHz 幅值为2v 的方波和正弦信号,观察u i 和u 。的大小及相位关系,并记录波形,计算电路的有效积分时间。

a. 输入1KHz 的方波时(记录为幅值) b. 输入1KHz 的方波时(记录为幅值) 有效积分时间:31010?==RC τ6101.0-??=0.001s ④改变电路的输入信号的频率,观察ui 和u 。的相位,幅值关系。(输入为正弦波) 随着频率变大,幅值变小,相位不变。 2.微分电路 在输入端串联滑动变阻,改进微分电路,滑动变阻器可以减少电路反馈滞后与内部滞后产生自激引起的失真。

①输入正弦波信号,f=500Hz,有效值为1v,用示波器观察Ui和U。的波形并测量输出电压值。(记录为幅值) 仿真值:ui=1.4V u。=4.3V 实验值:ui=1.4V u。=4.5V 此时滑动变阻为1k欧姆,波形无失真。 ②改变正弦波频率(20Hz——40Hz),观察Ui和U。的相位,幅值变化的情况并记录。(记录为幅值) 随着频率的增大,幅值也在增大,相位没有变化。 ③输入方波,f=200Hz,U=±5v,用示波器观察U。波形,并重复上述实验。 实验:输入方波,f=200Hz,U=±5v,滑动变阻为45k欧姆。 ④输入三角波,f=200Hz,U=±2v,用示波器观察U。波形,重复上述实验。 仿真波形为:输出为4v. 实验:输入方波,f=200Hz,U=±5v,滑动变阻为45k欧姆。 3.积分——微分电路: 在输入端串联滑动变阻,改进微分电路,滑动变阻器可以减少电路反馈滞后与内部滞后产生自激引起的失真。

matlab计算方法实验报告5(数值积分)

计算方法实验报告(5) 学生姓名杨贤邦学号指导教师吴明芬实验时间2014.4.16地点综合实验大楼203 实验题目数值积分方法 实验目的●利用复化梯形、辛普森公式和龙贝格数值积分公式计算定积分的 近似植。 实验内容●梯形、辛普森、柯特斯法及其Matlab实现; ●变步长的梯形、辛普森、柯特斯法及其Matlab实现。 ●题目由同学从学习材料中任意选两题 算法分析梯形:function y=jifeng_tixing(a,b,n,fun) fa=feval(fun,a); fb=feval(fun,b); s=0; h=(b-a)/n; for k=1:n-1 xk=a+k*h; s=feval(fun,xk)+s; end y=(h/2)*(fa+fb+2*s); 辛普生:function y=jifeng_xingpu(a,b,n,fun) fa=feval(fun,a); fb=feval(fun,b); h=(b-a)/n; s=0; s2=feval(fun,a+0.5*h); for k=1:n-1 xk=a+k*h; s=feval(fun,xk)+s; s2=feval(fun,xk+(h/2))+s2; end

与源程序y=(h/6)*(fa+fb+2*s+4*s2); 龙贝格:function r2=jifeng_long(fun,a,b,e) h=b-a; t1=(h/2)*(feval(fun,a)+feval(fun,b)); k=1; r1=10; r2=0; c2=0; while abs(r2-r1)>e; s=0; x=a+h/2; while x=3 r1=r2; c2=s2+(1/15)*(s2-s1); r2=c2+(1/63)*(c2-c1); k=k+1;h=h/2; t1=t2;s1=s2; c1=c2; end end

实验2复化数值积分法

西华数学与计算机学院上机实践报告 课程名称:计算方法C年级:2011级上机实践成绩: 指导教师:严常龙姓名: 上机实践名称:复化梯形积分与龙贝格积分方法学号:上机实践日期:2012.12.08上机实践编号:2上机实践时间: 一、目的 1.通过本实验加深对复化数值积分及龙贝格积分方法构造过程的理解; 2.能对复化梯形积分和龙贝格数值积分方法提出正确的算法描述编程实现。 二、内容与设计思想 自选积分问题,编制复化梯形积分和龙贝格积分的程序完成积分近似值的计算(从课件或教材习题中选题) 例如:利用龙贝格积分算法重新计算 1 2 3 4 x dx x + ?的值,使误差不超过0.5*10^(-6) 三、使用环境 操作系统:Windows 7 软件环境:VC++ 6.0 四、核心代码及调试过程 #include #include #include #define MAXD 50 #define EPS 0.0000005 double f(double x) { return(3*x/(4+x*x)); } void FHTX(double a,double b) {//复化梯形积分 int i,n=1; double h,t1,t2,p,x,fsum; //fsum为累加的新结点值,x为函数自变量 h=b-a; t1=(f(a)+f(b))/2; p=EPS+1.0; while(p>3*EPS) { fsum=0.0; for(i=1;i<=(int)pow(2,n-1);i++) {

x=a+(i-0.5)*h; fsum=fsum+f(x); } t2=(t1+h*fsum)/2.0; cout<EPS)) { temp=0.0; for(i=1;i<=(int)(pow(2,k-1));i++) temp=temp+f(a+(i-0.5)*h); t[k][0]=(t[k-1][0]+h*temp)/2.0; for(j=1;j<=k;j++) { if(j>3)break; t[k][j]=(pow(4,j)*t[k][j-1]-t[k-1][j-1])/(pow(4,j)-1); } if(k>4) p=fabs(t[k][3]-t[k-1][3]); k=k+1;h=h/2.0; } if(k>MAXD) cout<<"方法失败!\n"; else { cout<<"\t"<<"T"<=j) cout<

Romberg数值积分实验报告

Romberg数值积分实验报告 班级:__ 姓名:学号:日期:_ 一、实验目的 1、加深外推法的原理理解, 掌握Romberg外推法的计算方法。 2、用matlab软件实现Romberg数值积分来计算题目的运算。 二、基本理论及背景 1、理论推导: 对区间[a,b],令h=b-a构造梯形值序列{T2K}。 T1=h[f(a)+f(b)]/2 把区间二等分,每个小区间长度为h/2=(b-a)/2,于是 T2 =T1/2+[h/2]f(a+h/2) 把区间四(2)等分,每个小区间长度为h/2 =(b-a)/4,于是 T4 =T2/2+[h/2][f(a+h/4)+f(a+3h/4)..................... 把[a,b] 2等分,分点xi=a+(b-a)/ 2 ·i (i =0,1,2 · · · 2k)每个小区间长度为(b-a)/ 2 . 2、参考Romberg数值积分,实现积分的数值求解,完成下列题目: 三、算法设计及实现 1、算法设计 (a)function y=fun1(x) y=sqrt(4-(sin(x)).^2); (b)function y=fun2 (x) y=log(1+2*x)/3; (c)function y=fun3(x) y=exp(-x).*sin(x.^2) 四、实验步骤 1、○1打开matlab软件,新建Romberg.m文件,在窗口中编辑Romber数值积分函数程序代码,并保存在指定的文件夹下,在Current Directory窗口右边点击《Browse For Folder》按钮指向Romberg.m文件; ○2在Command Window中编辑相应要计算的题目的数值函数及相应的题目的表达式。 2、输出结果和初步分析说明(见附件一)。 五、使用说明实验结果分析 1、在Command Window窗口中编辑要调用的函数名与指定的函数名字不同导致出现错误,通过改正与函数名相同即可。 2、Romberg方法也称为逐次分半加速法。它是在梯形公式、辛卜生公式和柯特斯公式之间的关系的基础上,构造出一种加速计算积分的方法。作为一种外推算法,它在不增加计算量的前提下提高了误差的精度在等距基点的情况下,用计

实验10 符号计算基础与符号微积分(第7章)

实验10 符号计算基础与符号微积分 (第7章 MATLAB 符号计算) 一、实验目的 二、实验内容 1. 利用符号表达式求值 已知x=6,y=5,利用符号表达式求 z = 提示:定义符号常数x=sym(‘6’),y=sym(‘5’)。 程序及运行结果(建议在命令窗口输入命令并运行): 2. 分解因式 (1) x 4-y 4 (2) 5135 程序及运行结果(建议在命令窗口输入命令并运行): 《数学软件》课内实验 王平

3. 化简表达式 21212 483(1)sin cos cos sin (2) 21x x x ββββ++-+ 4. 符号矩阵运算 已知 12010100100,010,001101a b c P P A d e f g h k ???? ?? ??????===?????? ???????????? 完成下列运算: (1) B=P 1·P 2·A 。 (2) B 的逆矩阵并验证结果。 (3) 包括B 矩阵主对角线元素的下三角阵。 (4) B 的行列式值。 5. 用符号方法求下列极限或导数 sin tan 301(1)2(1)1cos(2)(1)lim (2)lim ,',''sin x x x x x e e x y y y x x +→→-+---=求 3222(4),,, cos ln x a t dA d A d A A dx dt dxdt t x x ??=???? 已知分别求 程序及运行结果(建议在命令窗口输入命令并运行): 2222 0,1 (5)(,)(2),, x y xy x y y f f x y x x e x x y ---==??=-???已知求 6. 用符号方法求下列积分 48(1) (2)1dx x x ++?

数值积分算法误差分析

实验名称:数值积分算法误差分析 1.实验原理 1)欧拉法原理 在数学和计算机科学中,欧拉方法(Euler method)命名自它的发明者莱昂哈德·欧拉,是一种一阶数值方法,用以对给定初值的常微分方程(即初值问题)求解。它是一种解决常微分方程数值积分的最基本的一类显型方法(Explicit method)。 微分方程的本质特征是方程中含有导数项,数值解法的第一步就是设法消除其导数值,这个过程称为离散化。实现离散化的基本途径是用向前差商来近似代替导数,这就是欧拉算法实现的依据。欧拉(Euler)算法是数值求解中最基本、最简单的方法,但其求解精度较低,一般不在工程中单独进行运算。所谓数值求解,就是求问题的解y(x)在一系列点上的值y(xi)的近似值yi。对于常微分方程: 0 ) ( ] , [ ), , ( y a y b a x y x f dx dy =∈ = 可以将区间[a,b]分成n段,那么方程在第x i点有y'(x i) = f(x i,y(x i)),再用向前差商近似代替导数则为 : ,在这里,h是步长,即相邻两个结点间的距离。因此可以根据xi点和yi点的数值计算出y i+1来: 1

,i=0,1,2,L 这就是欧拉格式,若初值y i+ 1是已知的,则可依据上式逐步算出数值解y1,y2,L。 1)龙哥库塔法原理 数值分析中,龙格-库塔法(Runge-Kutta)是用于模拟常微分方程的解的重要的一类隐式或显式迭代法。这些技术由数学家卡尔·龙格和马丁·威尔海姆·库塔于1900年左右发明。 龙格库塔法的家族中的一个成员如此常用,以至于经常被称为“RK4”或者就是“龙格库塔法”。该方法主要是在已知方程导数和初值信息,利用计算机仿真时应用,省去求解微分方程的复杂过程。令初值问题表述如下。 则,对于该问题的RK4由如下方程给出: 其中 这样,下一个值(y n+1)由现在的值(y n)加上时间间隔(h)和一个估算的斜率的乘积决定。该斜率是以下斜率的加权平均:

高等数学实验报告matlab

西安交通大学 高等数学 实验报告 班级 组员与学号 2013年

实验名称:学生成绩管理 一、实验目的 二、实验内容 三、详细编程 clear for i=1:10 a{i}=89+i; b{i}=79+i; c{i}=69+i; d{i}=59+i; end c=[d,c]; Name=input('please input name:'); Score=input('please input score:'); n=length(Score); Rank=cell(1,n); S=struct('Name',Name,'Score',Score,'Rank',Rank); for i=1:n switch S(i).Score case 100 S(i).Rank='满分'; case a S(i).Rank='优秀'; case b S(i).Rank='良好'; case c S(i).Rank='及格'; otherwise S(i).Rank='不及格'; end end disp(['学生姓名 ','得分 ','等级']);

for i=1:n disp([S(i).Name,blanks(6),num2str(S(i).Score),blanks(6),S(i).Rank]); end s=0; for i=1:n s=S(i).Score+s; end averscore=s/n; t=S(1).Score; for i=1:(n-1) if(S(i).ScoreS(i+1).Score) m=S(i+1).Score; end end disp(['平均成绩']); disp([averscore]); disp(['最高分']); disp(t); disp(['最低分']); disp(m); 四、实验结果

数值积分法

第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

数值分析实验报告

学生实验报告实验课程名称 开课实验室 学院年级专业班 学生姓名学号 开课时间至学年学期

if(A(m,k)~=0) if(m~=k) A([k m],:)=A([m k],:); %换行 end A(k+1:n, k:c)=A(k+1:n, k:c)-(A(k+1:n,k)/ A(k,k))*A(k, k:c); %消去end end x=zeros(length(b),1); %回代求解 x(n)=A(n,c)/A(n,n); for k=n-1:-1:1 x(k)=(A(k,c)-A(k,k+1:n)*x(k+1:n))/A(k,k); end y=x; format short;%设置为默认格式显示,显示5位 (2)建立MATLAB界面 利用MA TLAB的GUI建立如下界面求解线性方程组: 详见程序。 五、计算实例、数据、结果、分析 下面我们对以上的结果进行测试,求解:

? ? ? ? ? ? ? ? ? ? ? ? - = ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - - - - - - 7 2 5 10 13 9 14 4 4 3 2 1 13 12 4 3 3 10 2 4 3 2 1 x x x x 输入数据后点击和,得到如下结果: 更改以上数据进行测试,求解如下方程组: 1 2 3 4 43211 34321 23431 12341 x x x x ?? ???? ?? ???? ?? ???? = ?? ???? - ?? ???? - ???? ?? 得到如下结果:

相关文档
最新文档