第4章-数值计算
- 格式:ppt
- 大小:95.00 KB
- 文档页数:38
数值分析第四章外推法计算数值微分MATLAB计算实验报告数值分析MATLAB计算实验报告姓名班级学号⼀、实验名称⽤MATLAB编程实现数值微分的外推法计算。
⼆、实验⽬的1.掌握数值微分和定义和外推法的计算过程;2.了解数值微分外推法的计算⽅法并且编写出与其算法对应的MATLAB程序代码;3.体会利⽤MATLAB软件进⾏数值计算。
三、实验内容⽤外推法计算f(x)=x2e?x在x=0.5的导数。
四、算法描述1.命名函数。
2.如果输⼊未知数少于四个,默认精度10^-33.描述T表矩阵坐标4.依次赋值计算 T表第⼀列5.根据数值微分计算公式求出T表矩阵的值6.若达到精度则运算结束,若未达到循环计算7.输出T表,得出的值就是导数值五、实验结果六、实验结果分析此实验通过MATLAB实现外推法数值微分计算,得到相应的数据,⽅便对数据进⾏分析。
从结果可以看出,当步长h=0.025时⽤中点微分公式只有3位有效数字,外推⼀次达到5位有效数字,外推两次达到9位有效数字。
七、附录(程序)function g=waituifa(fname,x,h,e)if nargin<4,e=1e-3;end;i=1;j=1;G(1,1)=(feval(fname,x+h)-feval(fname,x-h))/(2*h);G(i+1,1)=(feval(fname,x+h/2)-feval(fname,x-h/2))/h;G(i+1,j+1)=(4^j*G(i+1,j)-G(i,j))/(4^j-1);while abs(G(i+1,i+1)-G(i+1,i))>ei=i+1;G(i+1,1)=(feval(fname,x+h/2^i)-feval(fname,x-h/2^i))/(2*h/2^i); for j=1:iG(i+1,j+1)=((4^j)*G(i+1,j)-G(i,j))/(4^j-1);endendGg=G(i+1,i+1);。
第4章 多自由度系统振动分析的数值计算方法用振型叠加法确定多自由度系统的振动响应时,必须先求得系统的固有频率和主振型。
当振动系统的自由度数较大时,这种由代数方程求解系统固有特性的计算工作量很大,必须利用计算机来完成。
在工程中,经常采用一些简单的近似方法计算系统的固有频率及主振型,或将自由度数较大的复杂结构振动问题简化为较少阶数的振动问题求解,以得到实际振动问题的近似分析结果。
本章将介绍工程上常用的几种近似解法,适当地选用、掌握这类实用方法,无论对设计研究或一般工程应用都将是十分有益的。
§4.1 瑞利能量法瑞利(Rayleigh )能量法又称瑞利法,是估算多自由系统振动基频的一种近似方法。
该方法的特点是:①需要假定一个比较合理的主振型;②基频的估算结果总是大于实际值。
由于要假设主振型,因此,该方法的精度取决于所假设振型的精度。
§4.1.1 第一瑞利商设一个n 自由度振动系统,其质量矩阵为[]M 、刚度矩阵为[]K 。
多自由度系统的动能和势能一般表达式为{}[]{}{}[]{}/2/2TTT x M x U x K x ⎫=⎪⎬=⎪⎭&& (4.1.1)当系统作某一阶主振动时,设其解为{}{}(){}{}()sin cos x A t x A t ωαωωα=+⎫⎪⎬=+⎪⎭&(4.1.2)将上式代入式(4.1.1),则系统在作主振动时其动能最大值max T 和势能最大值max U 分别为{}[]{}{}[]{}2max max /2/2TTT A M A U A K A ω⎫=⎪⎬=⎪⎭(4.1.3)根据机械能守恒定律,max max T U =,即可求得{}[]{}{}[]{}()2I TTA K A R A A M A ω== (4.1.4)其中,()I R A 称为第一瑞利商。
当假设的位移幅值列向量{}A 取为系统的各阶主振型{}i A 时,第一瑞利商就给出各阶固有频率i ω的平方值,即{}[]{}{}[]{}2(1,2,,)Ti i i Ti i A K A i n A M A ω==L(4.1.5)在应用上式时,我们并不知道系统的各阶主振型{}i A ,只能以假设的振型{}A 代入式(4.1.4),从而求出的相应固有频率i ω的估计值。
数值计算方法及其应用第一章引言数值计算方法是一种基于数学分析和计算机技术的计算方法,是概括了现代计算各个领域的一类方法。
随着计算机技术的不断进步,数值计算方法已经成为了计算机科学中的一个重要领域,涉及到计算机科学、数学、物理、工程等领域。
本文将从数值计算方法的基本概念、数值计算方法算法的分类、数值计算方法的优缺点以及数值计算方法的应用等方面加以探讨。
第二章数值计算方法的基本概念数值计算方法是使用数学方法和数值技术处理各种数学问题的一种方法。
它是一种解决数学问题的有效工具,不同于传统的数学方法,数值计算方法采用的是数值计算机计算技术,使得计算机可以精确计算、预测和模拟各种数学问题,如数值微积分、连续函数数值解、离散方程数值解等。
数值计算方法的核心概念就是数值算法,数值算法是指实现数值计算方法的算法,包括基于数学分析的算法和基于经验数据的算法。
第三章数值计算方法算法的分类数值计算方法算法可以分为以下几类:1.数值微积分算法2.解线性方程组的数值方法3.常微分方程的数值解法4.偏微分方程的数值解法5.数值优化方法6.数值统计算法7.数学模型的数值计算方法第四章数值计算方法的优缺点数值计算方法的优点:1.数值计算方法可以解决非常复杂和高度非线性的数学问题2.数值计算方法无所不能,可做大量的计算3.数值计算方法具有较高的可重复性和可验证性4.数值计算方法可以通过计算机进行高速计算,节省了人力成本和时间成本数值计算方法的缺点:1.数值计算方法的实现程序错误会导致计算结果失真2.数值计算方法对于计算精度的要求很高3.数值计算方法对于计算机硬件和软件的要求也很高第五章数值计算方法的应用数值计算方法已经被广泛应用于各个领域,如:1.科学研究:能够用计算机进行大规模复杂计算,计算机模拟得出科学研究结论,如气象学模拟,生命科学中的反应动力学分析等。
2.工程设计:例如结构力学分析、电路设计、流体力学分析和控制系统等。
3.数据科学:如数据挖掘、计算机视觉、自然语言处理、人脸识别等。
第4章 数值积分与微分一、考核知识点:梯形公式及其余项,辛卜生公式及其余项,复合梯形公式及其余项,复合辛卜生公式,高斯求积公式,代数精度,。
二、考核要求:1.了解代数精度概念,掌握插值型求积公式代数精度的判别方法。
2.熟练掌握梯形、复化梯形公式及其余项;熟练掌握辛卜生,熟练掌握运用它们计算定积分的近似值。
三、重、难点分析例1 在区间]1,1[-上,求以1,0,1321==-=x x x 为节点的插值求积公式。
解:由系数计算公式得 ⎰⎰⎰---=++==-+-+==----=11211111031)11()1(,34)10)(10()1)(1(,31)11()1(dx x x A dx x x A dx x x A 所以求积公式为)1(31)0(34)1(31)(11f f f dx x f ++-≈⎰- 例2求积公式)2(31)1(34)0(31)(20f f f dx x f ++≈⎰的代数精确度为( )。
解 由于此公式为3个节点的插值求积公式,代数精度至少为2。
令3)(x x f =,代入插值求积公式得左边=441204203==⎰x dx x ,右边4231134)0(31333=++=, 所以 左边=右边 再令4)(x x f =,代入插值求积公式得左边=532204=⎰dx x ,右边=320231134031444=++ 所以 左边≠右边 所以此公式具有3次代数精度。
例3 用梯形公式和4=n 的复合梯形公式求积分⎰+101x dx ,并估计误差。
解 (1) 梯形公式因为 1,0==b a ,11)(+=x x f ,代入梯形公式得 则75.0]111101[21)]1()0([211110=+++=+≈+⎰f f dx x (2) 复合梯形公式 因为 414=-=a b h 和复合梯形公式得 )]1())43()21()41((2)0([811110f f f f f dx x ++++≈+⎰ 697.0]21)746454(21[81≈+++⨯+= 因为 11)(+=x x f , 3)1(2)(x x f +='' , 2)(max 102=''=≤≤x f M x 所以 96116122)3(12)()(23=⨯≤''-=f n a b f R 注意:在用复合梯形公式计算 积分时注意系数的排列。
4.1数值第4章数值微分与积分微分【4.1.1】已知x 2.5 2.6 2.7 2.8 2.9y12.182513.463714.879716.444618.1741(1)用前差、后差和中心差求 2.7x =的一阶导数值(2)用中心差求 2.7x =的二阶导数值【4.1.2】用泰勒展开()()()()()()()2312!3!i i i i i f x f x f x f x f x x x x +¢¢¢¢¢¢=+D +D +D +K\*MERGEFORMAT (1.1)()()()()()()()2312!3!i i i i i f x f x f x f x f x x x x -¢¢¢¢¢¢=-D +D -D +K\*MERGEFORMAT (1.2)(1)推导微分公式()()()()1i i i f x f x f x O x x+-¢=+D D ()()()()1i i i f x f x f x O x x--¢=+D D ()()()()2112i i i f x f x f x O x x+--¢=+D D ()()()()()()1122i i i i f x f x f x f x O x x +--+¢¢@+D D 另外:()()()()()()()()()()111112''2i i i i i i i i i i f x f x f x f x f x f x h h f x h h f x f x f x h +-++-----¢¢»=-+=【4.1.3】采用泰勒展开方法确定下列数值微分公式0000(,)()()(2)x h af x bf x h cf x h f =++++提示:取00(,)'()x h f x f =,00(,)''()x h f x f =【解】2300001()()'()''()()2f x h f x hf x h f x O h +=+++230000(2)()2'()2''()()f x h f x hf x h f x O h +=+++00023000()()(2)1()()(2)'()(2)''()max(,,)()2af x bf x h cf x h a b c f x b c hf x b c h f x a b c O h ++++=+++++++如果:(1)取00(,)'()x h f x f =,则有关系:210; (2)1; (2)02a b c b c h b c h ++=+=+=得到:123,,c b a =-==-(2)取00(,)''()x h f x f =,则有关系:210; (2)0; (2)12a b c b c h b c h ++=+=+=得到:222121,,c b a ==-=【4.1.4】(1)二阶微分写为:11/2211/21/22()2()()''()(/2)()2()()''()(/2)j j j j j j j j f x f x f x f x h f x f x f x f x h +++++-+=-+=\*MERGEFORMAT (1.3)有什么区别(2)1/2111/2211/2()()'(()()/)'()/2''(2)()2()()/2j j j j j j j j j j f x f x f x f x h f f x f x x h hf x f x f x h h ++++++---==-=-+\*MERGEFORMAT (1.4)结果对否,为什么?【解】对于(1.3)式23111()()'()''()'''()26j j j j j f x f x hf x h f x h f x +=++++L \*MERGEFORMAT (1.5)231/2111()()'()(/2)''()(/2)'''()226j j j j j f x f x hf x h f x h f x +=++++L \*MERGEFORMAT (1.6)将2(1.6)(1.5)´-,得,(非对称,一阶精度),对称,二阶精度)对于(1.4)式应该是1/2111/221()()()()'()'()/2''()()2()()/4j j j j j j j j j j f x f x f x f x h f f x f x x hhx f hf f x x h +++++--=--==-+\*MERGEFORMAT (1.7)11'()()()j j j f x f x f x h++=-,即差分定义要围绕j x 点,而(1.4)式中1'()j f x +的下一步定义111/2()('())/2j j j f x f x f x h +++-=与j x 点无关,结果是错的。
数值计算一、基本说明1.面向学生:高一年级2.课课名称:《数值计算》(高中信息技术教科版必修一数据与计算第四章第二节)3.教学时间:45分钟4.课时:1二、教学目标1.通过绘制函数图像,感受数据的图形化表示。
了解Python利用numpy和matplotlib两个模块绘制图像的基本方法。
2.通过求解斐波那契数列,了解解析式或迭代算法。
能够设计算法进行数值计算,解决问题。
三、教学重难点(一)教学重点能够利用numpy和matplotlib两个模块绘制函数图像。
(二)教学难点理解迭代法的含义,能够学以致用解决生活问题。
四、教学过程【课前预习】(5min)通过课前预习并设置前置性作业,检查学生学情并了解教学重难点。
课堂题目:【课题引入】(3min)抛出问题:数学课上如何用描点法绘制sin(x)函数图像?学生回答,教师指出这种方法的缺点:取点比较多,如果想要画出精度高的图像需要很长时间。
==》如何借助计算机绘制数学函数曲线?【新知讲授】(7min)1.绘制数学函数曲线✧用Excel表格绘制正弦曲线教师讲解如何用excle绘制正弦函数曲线。
缺点:图像的关键点太少,精度不够,图像不光滑。
✧用python绘制正弦曲线【活动一设计】(5min)完善代码,尝试绘出sin(x)、sin(-x)、sin(2*x)/2import matplotlib.pyplot as pltimport numpy as ①#加载numpy模块取名为npx = np.arange(0,②, 0.01)y1 = np.sin(x)y2 = np.③y3 = np.sin(2*x)/2plt.plot(x, y1)plt.plot(x, y2)plt.plot(④)plt.title('sin(x)')plt.xlabel('X')plt.ylabel('Y')plt.show()input("运行完毕,请按回车键退出...")【新知讲授】(5min)2.求解斐波那契数列通过一段视频引入什么是斐波那契数列,教师演示如何用wps表格求出一对兔子10年内能繁殖对少对。