基于MATLAB的数字仿真实验
- 格式:doc
- 大小:402.48 KB
- 文档页数:17
基于matlab的数字基带传输系统仿真实验设
计
数字基带传输系统仿真实验设计
一、实验目的
1.了解数字基带传输系统的基本结构和原理;
2.通过Matlab仿真来研究数字基带传输系统的性能特点;
3.实际操作,掌握Matlab对数字信号处理的基本方法。
二、实验内容
1.设计数字基带传输系统的仿真模型,包括信源、调制器、信道、解调器、接收端等模块;
2.模拟实现数字信号的采样、量化、编码等过程;
3.采用常用的调制方式,如BPSK、QPSK、16QAM等,进行调制处理,并观察不同调制方式下的信噪比和误码率的关系;
4.在传输过程中引入噪声,观察噪声对信号传输质量的影响;
5.实现误码率的计算和信噪比的测量;
6.结合实际情况,设计合适的信号处理算法,提高数字基带传输系统的性能。
三、实验步骤
1.根据实验要求,设计数字基带传输系统的仿真模型,包括信源、调制器、信道、解调器、接收端等模块;
2.实现数字信号的采样、量化、编码等处理过程;
3.采用常用的调制方式(如BPSK、QPSK、16QAM等),进行信号调制处理;
4.在传输过程中引入噪声,并观察噪声对信号传输质量的影响;
5.实现误码率的计算和信噪比的测量;
6.根据实验结果,设计合适的信号处理算法,提高数字基带传输系统的性能。
四、实验结果
1.实验结果应包括调制方式、误码率、信噪比等参数;
2.根据实验结果,评估数字基带传输系统的性能,提出改善方法。
五、实验总结
1.总结数字基带传输系统的基本结构和原理;
2.分析数字基带传输系统的性能特点,包括误码率、信噪比等;
3.掌握Matlab对数字信号处理的基本方法。
附录实验二程序:(1)>> clear>> tic;>> t=-5:0.5:5;>> for n=1:size(t,2)if(t(n)<0)y(n)= 3*t(n)^2+5;elsey(n)= -3*t(n)^2+5;endend>> figure(1);>> plot(t,y);>> xlabel('x');>> ylabel('y');>> grid on;>> toc;(2)>> clear>> tic;>> t=[-5:0.5:5];>> b=t>=0;>> y(b)=-3*t(b).^2 + 5;>> y(~b)=3*t(~b).^2 + 5;>> figure(2);>> plot(t,y);>> xlabel('x');>> ylabel('y');>> grid on;>> toc;结果:(1)Elapsed time is 0.156000 seconds.(2)Elapsed time is 0.094000 seconds.实验三程序:(1)>> clear;>> n=input('ENTER A NUMBER:');>> sum=0;>> m=1;>> while m<nsum=sum+m;m=m+2;end>> fprintf('The result of all odd numbers within a given number is:%d\n',sum);(2)创建Fib.m文件% 函数功能: 计算斐波那契数列的第 n 个斐波那契数% 文件名: Fib.m% 含有 n 个数的斐波那契数列的定义如下:% f(1) = 1% f(2) = 2% f(n) = f(n-1) + f(n-2)function y=Fib(n);a(1)=1;a(2)=1;i=2;while i<=na(i+1)=a(i-1)+a(i);i=i+1;end;y=a(i);结果:(1)ENTER A NUMBER:6The result of all odd numbers within a given number is:9(2)>> Fib(7)ans =21实验四(1)程序:创建myfun.m文件% 函数功能: 计算x的双曲正弦、双曲余弦和双曲正切,并画出对应的图象。
基于MATLAB的模拟信号数字化系统的研究与仿真摘要本文研究的主要内容是《通信原理》仿真实验平台的设计与实现---模拟信号数字化Matlab软件仿真。
若信源输出的是模拟信号,如电话传送的话音信号,模拟摄像机输出的图像信号等,若使其在数字信道中传输,必须在发送端将模拟信号转换成数字信号,即进行A/D变换,在接收端则要进行D/A变换。
模拟信号数字化由抽样、量化、编码三部分组成。
由于数字信号的传送具有稳定性好,可靠性高,方便传送和传送等诸多优点,使得被广泛应用到各种技术中。
不仅如此,Matlab仿真软件是常用的工具之一,可用于通信系统的设计和仿真。
在科研教学方面发挥着重要的作用。
Matlab有诸多优点,编程简单、操作容易、处理数据迅速等。
本文主要阐述的是模拟信号数字化的理论基础和实现方法。
利用Matlab提供的可视化工具建立了数字化系统的仿真模型,详细讲述了抽样、量化、编码的设计,并指出了在仿真建模中要注意的问题。
在给定的仿真条件下,运行了仿真程序,得到了预期的仿真结果。
关键词:Matlab、模拟信号数字化、仿真绪论1837年,莫尔斯完成了电报系统,此系统于1844年在华盛顿和巴尔迪摩尔之间试运营,这可认为是电信或者远程通信,也就是数字通信的开始。
数字化可从脉冲编码调制开始说起。
1937年里夫提出用脉冲编码调制对语声信号编码,这种方法优点很多。
例如易于加密,不像模拟传输那样有噪声积累等。
但在当代代价太大,无法实用化;在第二次世界大战期间,美军曾开发并使用24路PCM系统,取得优良的保密效果。
但在商业上应用还要等到20世纪70年代。
才能取代当时普遍采用的载波系统。
我国70代初期决定采用30路的一次群标准,80年代初步引入商用,并开始了通信数字化的方向。
数字化的另一个动向是计算机通信的发展。
随着计算机能力的强大,并日益被利用,计算机之间的信息共享成为进一步扩大其效能的必需。
60年代对此进行了很多研究,其结果表现在1972年投入使用的阿巴网。
控制工程实训课程学习总结基于MATLAB 的系统建模与仿真实验报告摘要:本报告以控制工程实训课程学习为背景,基于MATLAB软件进行系统建模与仿真实验。
通过对实验过程的总结,详细阐述了系统建模与仿真的步骤及关键技巧,并结合实际案例进行了实验验证。
本次实训课程的学习使我深入理解了控制工程的基础理论,并掌握了利用MATLAB进行系统建模与仿真的方法。
1. 引言控制工程是一门应用广泛的学科,具有重要的理论和实践意义。
在控制工程实训课程中,学生通过实验来加深对控制系统的理解,并运用所学知识进行系统建模与仿真。
本次实训课程主要基于MATLAB软件进行,本文将对实验过程进行总结与报告。
2. 系统建模与仿真步骤2.1 确定系统模型在进行系统建模与仿真实验之前,首先需要确定系统的数学模型。
根据实际问题,可以选择线性或非线性模型,并利用控制理论进行建模。
在这个步骤中,需要深入理解系统的特性与工作原理,并将其用数学方程表示出来。
2.2 参数识别与估计参数识别与估计是系统建模的关键,它的准确性直接影响到后续仿真结果的可靠性。
通过实际实验数据,利用系统辨识方法对系统的未知参数进行估计。
在MATLAB中,可以使用系统辨识工具包来进行参数辨识。
2.3 选择仿真方法系统建模与仿真中,需要选择合适的仿真方法。
在部分情况下,可以使用传统的数值积分方法进行仿真;而在其他复杂的系统中,可以采用基于物理原理的仿真方法,如基于有限元法或多体动力学仿真等。
2.4 仿真结果分析仿真结果的分析能够直观地反映系统的动态响应特性。
在仿真过程中,需对系统的稳态误差、动态响应、鲁棒性等进行综合分析与评价。
通过与理论期望值的比较,可以对系统的性能进行评估,并进行进一步的优化设计。
3. 实验案例及仿真验证以PID控制器为例,说明系统建模与仿真的步骤。
首先,根据PID控制器的原理以及被控对象的特性,建立数学模型。
然后,通过实际实验数据对PID参数进行辨识和估计。
利用Matlab进行模拟与仿真实验的基本方法研究物理现象和工程问题时,我们常常需要进行模拟与仿真实验。
模拟与仿真实验是一种方便、经济且高效的方法,可以帮助我们更好地理解和预测系统的行为。
在模拟与仿真实验中,Matlab是一个功能强大且广泛使用的工具。
它不仅具有丰富的数学和工程计算功能,还提供了直观的用户界面和易于使用的命令语法。
本文将介绍利用Matlab进行模拟与仿真实验的基本方法。
一、了解问题在进行模拟与仿真实验之前,我们首先需要深入了解所研究问题的背景和相关理论知识。
只有充分理解问题,我们才能准确地建立数学模型和选择合适的仿真算法。
因此,在进行模拟与仿真实验之前,我们应该阅读相关的文献和教材,并与领域内的专家进行交流。
二、建立数学模型建立数学模型是模拟与仿真实验的关键步骤。
一个好的数学模型能够准确地描述模拟对象的行为,并能够反映出实际系统的特点。
在Matlab中,我们可以使用符号计算工具箱来建立数学模型。
符号计算工具箱可以帮助我们定义符号变量、运算符号表达式和求解方程等。
在建立数学模型时,我们需要注意选择合适的变量和参数,并使用正确的物理单位对其进行定义。
三、选择仿真算法选择合适的仿真算法是模拟与仿真实验的关键决策。
不同的问题可能需要使用不同的仿真算法。
在Matlab中,我们可以使用内置的仿真工具箱来选择和应用不同的仿真算法。
仿真工具箱提供了丰富的仿真算法库,如欧拉法、龙格-库塔法和有限元法等。
在选择仿真算法时,我们应该评估算法的精确性、速度和稳定性,并根据实际情况进行权衡取舍。
四、编写仿真程序在建立数学模型和选择仿真算法之后,我们需要使用Matlab编写仿真程序。
仿真程序是实现模拟与仿真实验的关键工具。
在编写仿真程序时,我们应该遵循一些基本的编程原则,如模块化设计、代码复用和错误处理等。
同时,我们应该充分利用Matlab的各种功能和工具,如图形界面设计、符号计算和并行计算等,以提高仿真程序的性能和可靠性。
基于MATLAB的IIR数字滤波器设计与仿真一、概述在现代数字信号处理领域中,数字滤波器扮演着至关重要的角色。
其通过对输入信号的特定频率成分进行增强或抑制,实现对信号的有效处理。
无限脉冲响应(IIR)数字滤波器因其设计灵活、实现简单且性能优良等特点,得到了广泛的应用。
本文旨在基于MATLAB平台,对IIR数字滤波器的设计与仿真进行深入研究,以期为相关领域的研究与应用提供有益的参考。
IIR数字滤波器具有无限长的单位脉冲响应,这使得其在处理信号时能够展现出优秀的性能。
与有限脉冲响应(FIR)滤波器相比,IIR滤波器在实现相同性能时所需的阶数更低,从而减少了计算复杂度和存储空间。
在需要对信号进行高效处理的场合,IIR滤波器具有显著的优势。
MATLAB作为一款功能强大的数学软件,提供了丰富的函数和工具箱,使得数字滤波器的设计与仿真变得简单而高效。
通过MATLAB,我们可以方便地实现IIR滤波器的设计、分析和优化,从而满足不同应用场景的需求。
本文将首先介绍IIR数字滤波器的基本原理和特性,然后详细阐述基于MATLAB的IIR数字滤波器的设计方法和步骤。
接着,我们将通过仿真实验验证所设计滤波器的性能,并对其结果进行分析和讨论。
本文将总结IIR数字滤波器设计与仿真的关键技术和注意事项,为相关领域的研究人员和工程师提供有益的参考和启示。
1. IIR数字滤波器概述IIR(Infinite Impulse Response)数字滤波器是数字信号处理中常用的一类滤波器,它基于差分方程实现信号的滤波处理。
与FIR (Finite Impulse Response)滤波器不同,IIR滤波器具有无限长的单位脉冲响应,这意味着其输出不仅与当前和过去的输入信号有关,还与过去的输出信号有关。
这种特性使得IIR滤波器在实现相同的滤波效果时,通常具有更低的计算复杂度,从而提高了处理效率。
IIR滤波器的设计灵活多样,可以根据不同的需求实现低通、高通、带通和带阻等多种滤波功能。
第1篇实验名称:基于仿真平台的编码算法性能评估实验日期:2023年4月10日实验地点:计算机实验室实验目的:1. 了解编码算法的基本原理和应用场景。
2. 通过仿真实验,评估不同编码算法的性能。
3. 分析编码算法在实际应用中的优缺点。
实验环境:1. 操作系统:Windows 102. 编译器:Visual Studio 20193. 仿真平台:MATLAB 2020a4. 编码算法:Huffman编码、算术编码、游程编码实验内容:1. 编写Huffman编码算法,实现字符序列的编码和解码。
2. 编写算术编码算法,实现字符序列的编码和解码。
3. 编写游程编码算法,实现字符序列的编码和解码。
4. 在仿真平台上,分别对三种编码算法进行性能评估。
实验步骤:1. 设计Huffman编码算法,包括构建哈夫曼树、编码和解码过程。
2. 设计算术编码算法,包括编码和解码过程。
3. 设计游程编码算法,包括编码和解码过程。
4. 编写仿真实验代码,对三种编码算法进行性能评估。
5. 分析实验结果,总结不同编码算法的优缺点。
实验结果及分析:一、Huffman编码算法1. 编码过程:- 对字符序列进行统计,计算每个字符出现的频率。
- 根据频率构建哈夫曼树,叶子节点代表字符,分支代表编码。
- 根据哈夫曼树生成编码,频率越高的字符编码越短。
2. 解码过程:- 根据编码,从哈夫曼树的根节点开始,沿着编码序列遍历树。
- 当遍历到叶子节点时,输出对应的字符。
3. 性能评估:- 编码长度:Huffman编码的平均编码长度最短,编码效率较高。
- 编码时间:Huffman编码算法的编码时间较长,尤其是在构建哈夫曼树的过程中。
二、算术编码算法1. 编码过程:- 对字符序列进行统计,计算每个字符出现的频率。
- 根据频率,将字符序列映射到0到1之间的实数。
- 根据映射结果,将实数序列编码为二进制序列。
2. 解码过程:- 对编码的二进制序列进行解码,得到实数序列。
自动实验一——典型环节的MATLAB仿真报告引言:典型环节的MATLAB仿真是一种常见的模拟实验方法,通过使用MATLAB软件进行建模和仿真,可以有效地研究和分析各种复杂的物理系统和控制系统。
本报告将介绍一个典型环节的MATLAB仿真实验,包括实验目的、实验原理、实验步骤、实验结果和讨论等内容。
一、实验目的本实验旨在通过MATLAB仿真实验,研究和分析一个典型环节的动态特性,深入了解其响应规律和控制方法,为实际系统的设计和优化提供理论支持。
二、实验原理典型环节是控制系统中的重要组成部分,一般包括惯性环节、惯性耦合和纯滞后等。
在本实验中,我们将重点研究一个惯性环节。
惯性环节是一种常见的动态系统,其特点是系统具有自身的动态惯性,对输入信号的响应具有一定的滞后效应,并且在输入信号发生变化时有一定的惯性。
三、实验步骤1.建立典型环节的数学模型。
根据实际情况,我们可以选择不同的数学模型描述典型环节的动态特性。
在本实验中,我们选择使用一阶惯性环节的传递函数模型进行仿真。
2.编写MATLAB程序进行仿真。
利用MATLAB软件的控制系统工具箱,我们可以方便地建立惯性环节的模型,并利用系统仿真和分析工具进行仿真实验和结果分析。
3.进行仿真实验。
选择合适的输入信号和参数设置,进行仿真实验,并记录仿真结果。
4.分析实验结果。
根据仿真结果,可以分析典型环节的动态响应特性,比较不同输入信号和控制方法对系统响应的影响。
四、实验结果和讨论通过以上步骤,我们成功地完成了典型环节的MATLAB仿真实验,并获得了仿真结果。
通过对仿真结果的分析,我们可以得到以下结论:1.惯性环节的响应规律。
惯性环节的响应具有一定的滞后效应,并且对输入信号的变化具有一定的惯性。
随着输入信号的变化速度增加,惯性环节的响应时间呈指数级减小。
2.稳态误差与控制增益的关系。
控制增益对稳态误差有重要影响,适当调整控制增益可以减小稳态误差。
3.不同输入信号的影响。
基于MATLAB 的数字仿真实验实验一 控制系统的模型转换、微分方程数值解一.实验目的:掌握控制系统的微分方程、状态方程、传递函数、零极点增益、部分分式描述及转换;掌握欧拉法、四阶龙格库塔法的程序编制方法;掌握常用数据拟合与插值方法。
二.实验方法及预习内容:1.利用Matlab 工具箱中常用的五种模型转换命令进行模型描述和转换; 2.对微分方程描述的控制系统,利用欧拉法、二阶龙格-库塔法、四阶龙格-库塔法分别编写M 文件,进行数值计算和作图;3.利用Matlab 工具箱中的多项式拟合和插值命令——polyfit 、int erpl 对实验数据进行拟合与插值。
三.实验内容:1.用Matlab 语言求下列系统的状态方程、传递函数、零极点增益、和部分分式形式的模型参数,并分别写出其相应的数学模型表达式:3243272424()10355024s s s G s s s s s +++=++++2.用欧拉法、二阶(四阶)龙格-库塔法分别求下面系统的输出响应y(t)在0≤t ≤1上,h=0.1时的数值。
',(0)1y y y =-= 要求保留4位小数,并将结果与真解()t y t e -=比较。
3.已知元件的实验数据如下,拟合这一数据,并尝试给出其特性方程。
X 0.01001.01002.01003.01004.0100 Y 2.5437 7.8884 9.6242 11.6071 11.9727 X5.01006.01007.01008.01009.0100 y 13.2189 14.267914.613415.404515.0805四.实验总体要求:1.每次实验提前一周布置,应做好实验前的预习和准备; 2.实验后应及时提交仿真程序(M 文件)、实验结果和图示、实验分析与总结; 3.认真撰写实验报告。
五.本次实验要求:1.熟悉五种连续系统控制模型的Matlab 转换,并得出相应的数学模型表达式; 2.熟悉微分方程数值解法(欧拉法、四阶龙格-库塔法),常用数据拟合方法。
实验二 基于SIMULINK 的控制系统时域分析一.实验目的:掌握使用SIMULINK 、控制工具箱求解系统的输入和输出响应的仿真方法。
二.实验方法及预习内容:利用SIMULINK 工具进行控制系统模型分析、系统设计与仿真的相关原理。
三.实验内容:1.分别使用解微分方程方法、控制工具箱、Simulink 求解具有如下闭环传递函数的系统的阶跃响应。
43210()8364010s s s s s φ=++++2. 某小功率随动系统动态结构如图所示,已知:10.01T =, 20.05T =,01K =,1300K =,21K =,0.08c K =。
若系统输入分别为()1()sr t t θ=,sr t θ=,[1()1(1.5)]sr t θ=-,试用Simulink 分析系统的输出()sc t θ分别如何?四.实验要求:1.熟悉Simulink 法进行控制系统时域分析的基本步骤,并与微分方程法、控制工具箱法进行比较;2.熟悉Simulink 法在输入不同信号(单位阶跃、单位斜坡、两阶跃叠加)下的控制系统输出响应实验方法、图形显示。
实验三控制系统综合设计——面向系统结构图的综合仿真一.实验目的:从控制系统常见的结构形式拓扑描述入手,掌握面向连续控制系统结构图的计算机仿真方法及其程序实现。
二.实验原理及预习内容:1.原理:任何复杂连接结构的线性控制系统都是由一些简单的线性环节组合而成,按照它们之间相互连接的拓扑关系列出连接矩阵,可以得到能清晰地描述复杂连接系统的仿真模型。
2.预习内容:利用连接矩阵进行复杂控制系统建模的方法和原理。
三.实验步骤:1.对具有复杂连接闭环结构形式的系统,可用一阶环节作为典型环节,再运用拓扑描述中联接矩阵的表达方法得出此类系统结构的仿真模型;2.再通过数值积分法求取各环节的动态响应。
注意:所确定的典型环节中,参数0B ,以保证系统仿真求解的基本条件。
i四.实验内容:习题4-2.设典型闭环结构控制系统如下图所示,当阶跃输入幅值R=20时,用面向系统结构图的数字仿真法sp4-1.m求取系统的输出响应。
五.实验要求:1.列出复杂连接闭环系统的仿真程序框图;2.列出MATLAB程序实现的主要程序,包括输入数据、形成闭环各系统阵、数值积分求解、以及输出结果。
实验四 经典控制理论CAD ——控制系统的频域特性分析一.实验目的:用计算机辅助分析的方法,掌握频率分析法的三种方法,即Bode 图、Nyquist 曲线、根轨迹图二.实验原理及预习内容:1.Bode 图:利用已知系统的传递函数()H s ,求出系统的频率响应()H jw ;系统的Bode 图就是()H jw 的幅值与相位对ω进行绘图,即幅频和相频特性曲线。
2.Nyquist 曲线:是根据开环频率特性在复平面上绘制幅相轨迹,根据开环的Nyquist 曲线,可判断闭环系统的稳定性。
3.根轨迹图:是分析和设计线性定常控制系统的图解方法。
根轨迹是指,当开环系统某一参数从零变到无穷大时,闭环系统特征方程的根在s 平面上的轨迹。
利用根轨迹法可分析控制系统的稳定性和动态性能。
三.实验内容:1.某反馈控制系统的开环传递函数为()()()()24420KG s H s s s s s =+++ 试绘制其根轨迹,并分析其闭环系统的稳定性。
(习题5-2)2.已知某系统传递函数为2180(1)100()11(1)[()20.31]40200200s W s s s s +=++⨯⨯+ 试绘制其伯德图。
(习题5-3)3.有二阶系统22251()23s s H s s s ++=++,绘制系统的Nyquist 曲线,并分析其单位负反馈构成的闭环系统的稳定性。
四.实验要求:1.编制MATLAB程序,画出实验要求的Bode图、Nyquist图和根轨迹图;2.通过图形分析控制系统的稳定性和动态特性。
实验五控制系统综合设计——复杂系统设计与仿真一.实验目的:综合运用MATLAB中SIMULINK仿真工具进行复杂控制系统的综合设计与优化设计,综合检查学生的文献查阅、系统建模、程序设计与仿真的能力。
二.实验原理及预习内容:1.控制系统优化设计:所谓优化设计就是在所有可能的设计方案中寻找具有最优目标(或结果)的设计方法。
控制系统的优化设计包括两方面的内容:一方面是控制系统参数的最优化问题,即在系统构成确定的情况下选择适当的参数,以使系统的某些性能达到最佳;另一方面是系统控制器结构的最优化问题,即在系统控制对象确定的情况下选择适当的控制规律,以使系统的某种性能达到最佳。
在工程上称为“寻优问题”。
优化设计原理是“单纯形法”。
MATLAB中语句格式为:min('')函数名,初值。
X f s2.双倒立摆系统的建模与模型验证:借助MATLAB中的SIMULINK工具箱,利用PID控制、或线性二次型最优控制原理,进行双摆系统的机理建模、程序设计及结果分析,实现小车位置的伺服控制及稳定性分析,以考核学生综合运用所学知识独立分析问题和解决问题的能力。
三.实验内容:1.PID控制系统参数优化设计:某过程控制系统如下图所示,试设计PID调节器参数,使该系统动态性能达到最佳。
(习题5-6)1020.1156ss e s s -+++RePIDY2.双倒立摆系统的建模与模型验证:针对下图所示的一阶双摆系统,试讨论如下问题(两杆所用材料相同): (1)控制量F (施加的作用力)能否在保持双摆不倒的前提下,实现小车的位置伺服控制?(2)试给出具体实现方案(包括机理建模、程序设计与验证)。
Fm 2θ1θ1L 2L X四.实验要求:1.控制系统优化设计(必选题):给出M 文件和SIMULINK 仿真图,比较优化后的曲线与原曲线的动态特性。
2.双倒立摆系统的建模与模型验证(选做题):提前1-2周布置,通过查阅参考文献,进行机理建模和控制方案的选定、程序编制。
附录1:实验一的主要程序1.主要程序:状态方程模型——>> num=[1 7 24 24];>> den=[1 10 35 50 24];>> [A B C D]=tf2ss(num,den);零极点增益模型——>> [Z P K]=tf2zp(num,den);部分分式形式——>> [R P H]=residue(num,den);2.主要程序:(1)欧拉法——m文件h=0.1;disp('函数的数值解为'); %显示‘’中间的文字%disp('y='); %同上%y=1;for t=0:h:1m=y;disp(y); %显示y的当前值%y=m-m*h;end 保存文件q2.m;在matalb命令行键入>> q2 (2)t=的真值——m文件y e-h=0.1;disp('函数的离散时刻解为');disp('y=');for t=0:h:1y=exp(-t);disp(y);end 保存文件q3.m;在matalb命令行中键入>> q3比较欧拉方法求解与真值的差别1 0.9000 0.8100 0.7290 0.6561 0.5905 0.5314 0.4783 0.4305 0.3874 0.3487 欧拉1 0.9048 0.8187 0.7408 0.6703 0.6065 0.5488 0.4966 0.4493 0.4066 0.3679 真值0 -0.0048 -0.0007 –0.0118 –0.0142 –0.0160 –0.0174 –0.0183 –0.0188 -0.0192 -0.0192 误差显然误差与2h为同阶无穷小,欧拉法具有一阶计算精度,精度较低,但算法简单。
(3)二阶龙格-库塔法——m文件h=0.1;disp('函数的数值解为');disp('y=');y=1;for t=0:h:1disp(y);k1=-y;k2=-(y+k1*h);y=y+(k1+k2)*h/2;end 保存文件q4.m;在matlab的命令中键入>> q4 比较欧拉法与二阶龙格-库塔法求解(误差为绝对值)1 0.9048 0.8187 0.7408 0.6703 0.6065 0.5488 0.4966 0.4493 0.4066 0.3679真值龙1 0.9050 0.8190 0.7412 0.6708 0.6071 0.5494 0.4972 0.4500 0.4072 0.3685库0 0.0002 0.0003 0.0004 0.0005 0.0006 0.0006 0.0006 0.0007 0.0006 0.0006误差明显误差为3h得同阶无穷小,具有二阶计算精度,而欧拉法具有一阶计算精度,二阶龙格-库塔法比欧拉法计算精度高。