MATLAB仿真技术
- 格式:docx
- 大小:482.72 KB
- 文档页数:14
基于Matlab的光学实验仿真一、本文概述随着科技的快速发展,计算机仿真技术已成为科学研究、教学实验以及工程应用等领域中不可或缺的一部分。
在光学实验中,仿真技术能够模拟出真实的光学现象,帮助研究者深入理解光学原理,优化实验设计,提高实验效率。
本文旨在探讨基于Matlab的光学实验仿真方法,分析Matlab在光学实验仿真中的优势和应用,并通过具体案例展示其在光学实验仿真中的实际应用效果。
通过本文的阐述,读者将能够了解Matlab在光学实验仿真中的重要作用,掌握基于Matlab的光学实验仿真方法,从而更好地应用仿真技术服务于光学研究和实验。
二、Matlab基础知识Matlab,全称为Matrix Laboratory,是一款由美国MathWorks公司出品的商业数学软件,主要用于算法开发、数据可视化、数据分析以及数值计算等领域。
Matlab以其强大的矩阵计算能力和丰富的函数库,在光学实验仿真领域具有广泛的应用。
Matlab中的变量无需预先声明,可以直接使用。
变量的命名规则相对简单,以字母开头,后面可以跟字母、数字或下划线。
Matlab支持多种数据类型,包括数值型(整数和浮点数)、字符型、逻辑型、结构体、单元数组和元胞数组等。
Matlab的核心是矩阵运算,它支持多维数组和矩阵的创建和操作。
用户可以使用方括号 [] 来创建数组或矩阵,通过索引访问和修改数组元素。
Matlab还提供了大量用于矩阵运算的函数,如矩阵乘法、矩阵转置、矩阵求逆等。
Matlab具有强大的数据可视化功能,可以绘制各种二维和三维图形。
在光学实验仿真中,常用的图形包括曲线图、散点图、柱状图、表面图和体积图等。
用户可以使用plot、scatter、bar、surf和volume 等函数来创建这些图形。
Matlab支持多种控制流结构,如条件语句(if-else)、循环语句(for、while)和开关语句(switch)。
这些控制流结构可以帮助用户编写复杂的算法和程序。
MATLAB仿真技术作业合集页脚内容1页脚内容1第1章 习题5.利用直接输入法和矩阵编辑器创建矩阵A=⎥⎦⎤⎢⎣⎡642531。
解:⑴利用直接输入法输入程序A=[1 3 5;2 4 6]按Enter 键后,屏幕显示A = 1 3 52 4 6⑵用矩阵编辑器创建矩阵,如图1.1所示。
图1.1 MATLAB 编辑器7.用矩阵编辑器创建矩阵a,使a 具有如下矩阵形式。
页脚内容2a=⎥⎦⎤⎢⎣⎡642531⇒a=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡654321⇒a=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡987654321⇒a=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡098706540321⇒a=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡0000098706540321 解:用矩阵编辑器创建矩阵a 的过程如图1.2、1.3、1.4、1.5、1.6所示。
图1.2 图1.3图1.4 图1.5图1.6页脚内容39.已知矩阵B=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡922518113211912102201304161475231501017,试:①提取矩阵B 的第一行和第二行的第2、4、5个元素组成新矩阵1B ;②提取矩阵B 的第三行和第一行的全部元素组成新矩阵2B ;③使矩阵B 的第一行和第三行的第2;4个元素为0;④标出矩阵B 的第一行中小于5的元素。
解:①如上题,用矩阵编辑器生成矩阵B ,再输入程序B1=B([1,2],[2,4,5])按Enter 键后,屏幕显示B1 = 0 0 155 14 16②输入程序B2=B([1,3],:)按Enter 键后,屏幕显示B2 = 17 0 1 0 15 4 0 13 0 22③第一行和第三行的第2;4个元素原本就为0。
④输入程序如下C=B(1,:)<5; %将B矩阵第一行中小于5 的值标记为1D=B(1,C) %去B矩阵第一行中标为1的元素按Enter键后,屏幕显示D= 0 1 011.已知矩阵a为4阶魔方阵,令a+3赋值给b,a+b赋值给c,求b和c。
matlab电机仿真精华50例Matlab是一种功能强大的仿真软件,它被广泛应用于电机仿真领域。
在这篇文章中,我们将介绍Matlab电机仿真的50个精华例子,帮助读者更好地了解和应用电机仿真技术。
1. 直流电机的仿真:通过Matlab可以模拟直流电机的性能,包括转速、扭矩和电流等。
2. 交流电机的仿真:使用Matlab可以模拟交流电机的工作原理,包括转子和定子的相互作用。
3. 同步电机的仿真:通过Matlab可以模拟同步电机的运行特性,包括电压和频率的控制。
4. 步进电机的仿真:利用Matlab可以模拟步进电机的运行过程,包括步进角度和步进速度等。
5. 无刷直流电机的仿真:通过Matlab可以模拟无刷直流电机的工作原理,包括转子和定子的相互作用。
6. 电机控制系统的仿真:利用Matlab可以模拟电机控制系统的运行过程,包括速度和位置的闭环控制。
7. 电机噪声的仿真:通过Matlab可以模拟电机噪声的产生和传播过程,帮助优化电机的设计。
8. 电机故障诊断的仿真:利用Matlab可以模拟电机故障的发生和诊断过程,提供故障检测和排除的方法。
9. 电机热仿真:通过Matlab可以模拟电机的热传导和散热过程,帮助优化电机的散热设计。
10. 电机振动的仿真:利用Matlab可以模拟电机的振动特性,帮助优化电机的结构设计。
11. 电机效率的仿真:通过Matlab可以模拟电机的能量转换过程,评估电机的效率和能耗。
12. 电机启动过程的仿真:利用Matlab可以模拟电机的启动过程,包括起动电流和启动时间等。
13. 电机负载仿真:通过Matlab可以模拟电机在不同负载条件下的工作特性,帮助优化电机的设计。
14. 电机饱和仿真:利用Matlab可以模拟电机在饱和状态下的工作特性,提供更准确的仿真结果。
15. 电机电磁干扰的仿真:通过Matlab可以模拟电机产生的电磁干扰对其他设备的影响,提供干扰抑制的方法。
16. 电机电磁场的仿真:利用Matlab可以模拟电机内部的电磁场分布,帮助优化电机的设计。
Matlab中的电力系统仿真与稳态分析技术随着电力系统技术的不断发展,利用计算机软件进行电力系统仿真和稳态分析已经成为一个常见的工具。
Matlab作为一种强大的数学计算和仿真软件,在电力系统仿真和稳态分析中发挥了重要的作用。
本文将探讨Matlab在电力系统仿真和稳态分析中的应用,并对其相关技术进行介绍和分析。
第一部分:电力系统仿真技术的基本原理电力系统仿真是通过建立电力系统的数学模型,模拟实际电力系统运行过程的一种技术。
其基本原理是建立电力系统的节点电压和支路电流方程,使用数值计算方法求解这些方程,以得到电力系统的稳态解。
Matlab在电力系统仿真中常用的函数有powerflow和newton_raphson,它们分别用于求解电力系统的潮流计算和稳定计算。
潮流计算是电力系统仿真中最基本的环节,用于计算电网各节点的电压和支路的电流。
它的实质是求解电力系统的非线性方程组,对于大规模电力系统而言,这个方程组的求解是一个非常复杂的过程。
而Matlab提供了一套强大的数值计算工具箱,能够有效地处理这类问题。
利用Matlab编写的潮流计算程序,可以提供准确的电力系统状态信息。
第二部分:Matlab在电力系统仿真中的应用案例Matlab在电力系统仿真中提供了丰富的函数库和工具箱,可以用于建立电力系统的数学模型、求解电力系统方程组以及进行结果的可视化分析。
下面我们通过一个简单的案例,来展示Matlab在电力系统仿真中的应用。
假设一个3节点的电力系统,其中包括一个发电机节点、两个负荷节点以及电源节点。
我们可以通过Matlab的power_system函数建立电力系统的模型,并使用powerflow函数计算电力系统的潮流分布。
计算完成后,我们可以通过Matlab的plot函数绘制各节点的电压和支路的电流图像,对电力系统的稳态运行情况进行可视化分析。
第三部分:电力系统稳态分析技术的应用除了电力系统仿真,Matlab还可以用于电力系统稳态分析。
现代控制系统分析与设计——基于matlab的仿真与实现随着现代科技的不断发展,越来越多的技术应用到现代控制系统中,而控制系统的分析与设计更是一项复杂的技术。
为了更好地实现现代控制系统的分析与设计,计算机技术尤其是基于Matlab的计算机仿真技术在现代控制系统分析与设计中已发挥着越来越重要的作用。
本文旨在介绍基于Matlab的仿真技术,总结它在现代控制系统分析与设计中的应用,为研究者们提供一个思考Matlab技术在现代控制系统分析与设计中的可能性的契机。
Matlab是当今流行的科学计算软件,它的设计特别适合进行矩阵运算和信号处理等工作,可以有效地处理大量复杂的数字信息,因此成为现代计算机技术应用于控制系统分析和设计的重要工具。
基于Matlab的仿真技术主要用于建立控制系统的动态模型,分析系统的特性,评估系统的性能,模拟系统的行为,确定系统的参数,优化系统的性能。
基于Matlab的仿真技术已被广泛应用于现代控制系统的设计中。
首先,基于Matlab的仿真技术可以有效地提高系统设计的效率。
通过实现对控制系统的动态模型建模,可以快速搭建出真实系统的模拟系统,并可以使用计算机来模拟系统行为,可以有效地缩短控制系统设计的周期。
其次,基于Matlab的仿真技术可以有效地改善系统设计质量。
通过分析模拟系统的行为,可以寻找更合理的解决方案,从而改善系统设计的质量。
第三,基于Matlab的仿真技术可以有效地确定系统参数。
通过在模拟系统中添加不同参数,并通过对系统模拟行为的分析,可以确定使系统更加有效的参数组合。
最后,基于Matlab的仿真技术可以有效地优化系统性能。
通过对系统行为的分析,可以识别出系统存在的问题,并设计相应的优化策略,从而实现系统性能的最佳化。
综上所述,基于Matlab的仿真技术在现代控制系统分析与设计中发挥着重要的作用,不仅可以提高系统设计的效率,而且可以改善系统设计的质量,确定系统参数,优化系统性能。
Matlab中的动态系统建模与仿真方法介绍引言:动态系统建模与仿真在各个科学领域扮演着重要的角色。
在众多的建模软件中,Matlab无疑是最为常用和受欢迎的。
本文将介绍Matlab中的动态系统建模与仿真方法,帮助读者理解和掌握这一重要技术。
一、动态系统建模的基础知识动态系统是指在时间上随着一系列因素的变化而产生演化的系统。
建模是指将真实世界的系统用数学方程来描述,并将其转化为计算机可处理的形式。
为了进行动态系统建模,我们需要了解以下几个基础概念:1. 状态变量:动态系统的状态变量描述系统在某一时刻的状态。
例如,对于物理系统来说,位置和速度可以作为系统的状态变量。
2. 输入和输出:输入是指影响系统状态变量的外部参数,而输出是指我们希望观测到的系统的行为或性能指标。
3. 动态方程:动态方程是描述系统状态变化随时间演化的数学方程。
一般来说,动态方程是一个微分方程或差分方程。
二、Matlab中的动态系统建模工具Matlab提供了许多用于动态系统建模和仿真的工具箱。
下面将介绍其中几个常用的工具箱:1. Simulink:Simulink是Matlab的一个可视化仿真环境,用于建模、仿真和分析各种动态系统。
它提供了丰富的模块库,可以轻松构建复杂的系统模型,并进行仿真分析。
2. Control System Toolbox:该工具箱提供了一套功能强大的工具,用于设计和分析控制系统。
它包含了许多常见的控制器设计方法,如比例、积分和微分控制器(PID),以及现代控制理论中的状态空间方法。
3. Signal Processing Toolbox:信号处理是动态系统建模中的一个重要环节。
这个工具箱提供了许多用于信号处理和分析的函数和工具,如傅里叶变换、滤波器设计等。
三、动态系统建模方法在Matlab中,我们可以使用不同的方法来进行动态系统建模,下面介绍几种常见的方法:1. 方程建模法:这是最常见的建模方法之一,通过分析系统的物理特性和因果关系,建立微分方程或差分方程来描述系统动态特性。
Matlab中的动力系统建模与仿真方法Matlab是一种流行的科学计算软件,广泛应用于各个领域中的数据处理和建模仿真。
在动力系统领域,Matlab也提供了丰富的工具和函数,方便用户进行系统建模和仿真。
本文将介绍Matlab中常用的动力系统建模方法和仿真技术。
一、动力系统建模方法1.1 状态空间表示法在动力系统建模时,常使用状态空间表示法来描述系统的动态行为。
状态空间表示法将系统的状态变量和输入输出变量联系起来,通过矩阵形式表示系统的数学模型。
Matlab提供了函数来求解状态空间模型的时间响应、频率响应等重要特性。
1.2 传递函数表示法传递函数表示法是另一种常用的动力系统建模方法。
它将系统的输入输出关系表示为一个分子多项式除以分母多项式的形式。
Matlab中的Control System Toolbox提供了丰富的函数和工具箱来处理传递函数模型,如函数tf、bode、step 等。
1.3 符号计算方法符号计算是一种基于代数运算的方法,可以在符号层面上进行系统的数学推导和分析。
Matlab中的Symbolic Math Toolbox提供了强大的符号计算功能,包括求解方程组、求导、积分、线性化等。
通过符号计算,可以得到系统的解析解或近似解,进一步分析系统的特性。
1.4 神经网络建模方法除了传统的数学建模方法外,神经网络也被广泛应用于动力系统的建模和仿真。
Matlab中的Neural Network Toolbox提供了丰富的函数和工具来构建神经网络模型,并进行训练和仿真。
神经网络可以通过学习系统的输入输出数据来建立模型,具有一定的非线性拟合能力。
二、动力系统仿真技术2.1 数值解法动力系统的仿真一般采用数值解法来求解微分方程。
Matlab提供了丰富的数值求解函数,如ode45、ode23、ode15s等,可以根据系统的特点选择合适的数值求解方法。
数值解法通过离散化时间和空间,将连续的微分方程转化为差分方程,以逼近真实系统的连续演化过程。
MATLAB仿真技术作业合集第1章 习题5.利用直接输入法和矩阵编辑器创建矩阵A=⎥⎦⎤⎢⎣⎡642531。
解:⑴利用直接输入法输入程序A=[1 3 5;2 4 6]按Enter 键后,屏幕显示A = 1 3 52 4 6⑵用矩阵编辑器创建矩阵,如图1.1所示。
图1.1 MATLAB 编辑器7.用矩阵编辑器创建矩阵a,使a 具有如下矩阵形式。
a=⎥⎦⎤⎢⎣⎡642531⇒a=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡654321⇒a=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡987654321⇒a=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡098706540321⇒a=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡0000098706540321解:用矩阵编辑器创建矩阵a 的过程如图1.2、1.3、1.4、1.5、1.6所示。
图1.2 图1.3图1.4 图1.5图1.69.已知矩阵B=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡922518113211912102201304161475231501017,试:①提取矩阵B 的第一行和第二行的第2、4、5个元素组成新矩阵1B ;②提取矩阵B 的第三行和第一行的全部元素组成新矩阵2B ;③使矩阵B 的第一行和第三行的第2;4个元素为0;④标出矩阵B 的第一行中小于5的元素。
解:①如上题,用矩阵编辑器生成矩阵B ,再输入程序B1=B([1,2],[2,4,5])按Enter 键后,屏幕显示B1 = 0 0 155 14 16②输入程序B2=B([1,3],:)按Enter 键后,屏幕显示B2 = 17 0 1 0 15 4 0 13 0 22③第一行和第三行的第2;4个元素原本就为0。
④输入程序如下C=B(1,:)<5; %将B 矩阵第一行中小于5 的值标记为1D=B(1,C) %去B 矩阵第一行中标为1的元素按Enter 键后,屏幕显示D= 0 1 011.已知矩阵a 为4阶魔方阵,令a+3赋值给b ,a+b 赋值给c ,求b 和c 。
解:程序如下。
>> a=magic(4) %建立4阶魔方矩阵a = 16 2 3 135 11 10 89 7 6 124 14 15 1>> b=a+3 %将a 中各元素加3b = 19 5 6 168 14 13 1112 10 9 157 17 18 4>> c=a+b %将a,b 中对应元素相加c = 35 7 9 2913 25 23 1921 17 15 2711 31 33 513.已知A 为3×3的均匀分布随机矩阵,B 为3×2的均匀分布随机矩阵,C 为2×3的均匀分布随机矩阵,求Q=C *A^2*B 。
解:程序如下。
>> A=rand(3,3) %A 为3×3的均匀分布随机矩阵A = 664/815 717/785 408/14651298/1433 1493/2361 1324/2421751/5914 694/7115 338/353>> B=rand(3,2) %B 为3×2的均匀分布随机矩阵B = 687/712 581/607589/3737 614/12656271/6461 1142/1427>> C=rand(2,3) %C 为2×3的均匀分布随机矩阵C = 689/4856 1065/1163 1966/2049407/965 61/77 3581/5461>> Q1=C*A^2*BQ1 = 1444/357 6485/15441263/311 699/16315.指出下列矩阵函数所实现的具体运算。
⑴A=rand(5);⑵B=rank(A);⑶C=eig(A);⑷D=sqrtm(A);⑸E=det(A)解:⑴A=rand(5)建立5x5的均匀分布随机矩阵;⑵B=rank(A)求A 矩阵的秩;⑶C=eig(A)是求的A 矩阵的全部特征值;⑷D=sqrtm(A)是按矩阵乘法的方式对A 矩阵开平方根;⑸E=det(A)是求矩阵A 的行列式。
17.利用MATLAB 的roots 函数求ƒ(x)=5x +44x +103x +162x +17x +12=0的根。
解:程序运行如下>> p=[1,4,10,16,17,12]p = 1 4 10 16 17 12>> x=roots(p)x = -1.6506-1.0000 + 1.4142i-1.0000 - 1.4142i-0.1747 + 1.5469i-0.1747 - 1.5469i19.画出一个幅度为2、频率为4Hz 、相位为3π的正弦信号。
解:程序如下>> A=2;>> phi=pi/3;>> omega=2*pi/12;>> n=-10:10;>> x=A*sin(omega*n+phi);>> stem(n,x,'fill');>> grid on;运行结果如图1.7所示。
图1.7 离散正弦信号图第2章习题1.系统的微分方程为'x(t)=-4x(t)+2u(t),其中u(t)是幅度为1、角频率为1rad/s 的方波输入信号,试建立系统的Simulink模型并进行仿真。
解:利用模块库中的模块建立系统模型,如图2.1所示。
图2.1 求解微分方程的模型在Scope窗口中看到仿真曲线如图2.2所示。
图2.2 仿真结果3.某单位反馈控制系统如图2.3(a)所示,引人反馈如图2.3(b)所示。
F⊗Y F(a)控制系统结构图 (b)图2.3(1)在Simulink环境下构建原始系统的结构图,输入阶跃信号,进行仿真,并对结果进行分析。
(2)在原系统中引人比例反馈,在Simulink环境下构建引人比例反馈后的系统结构图,进行仿真,并对结果进行分析。
解:(1)在Simulink环境下构建原始系统的结构图如图2.4所示,仿真结果如图2.5所示。
图2.4 仿真模型图2.5 仿真结果(2)在Simulink环境下构建引人比例反馈后的系统结构图如图2.6所示,仿真结果如图2.7所示。
图2.6 仿真模型图2.7 仿真结果5.使用Simulink 仿真求下列系统的单位脉冲响应(Simulink 中没有单位冲激信号模块,所以要利用阶跃信号模块经微分来产生)。
(1)H (s )=)5)(2()1(5+++s s s s (2)H (s )=115232++++s s s s 解:(1)建立的系统仿真模型如图2.8所示,仿真结果如图2.9所示。
图2.8 系统仿真模型图2.9 仿真结果(2)建立的系统仿真模型如图2.10所示,仿真结果如图2.11所示。
图2.10 系统仿真模型图2.11 仿真结果第3章习题2.利用信号处理模块库中的模块,构造并仿真信号:ƒ(n)=δ(n)+2u(n-1)-δ(n-3)解:图3.1 仿真框图选择模块搭建好的模型如图3.1所示。
接着设置各个模块的参数,Discrete Impulse模块参数如图3.2所示,Discrete Impulse1模块参数如图3.3所示,Buffer中Output Buffer Size设置为20,Gain模块Gain参数设为-1,Constant模块中Constant Value设为2,Delay模块中Delay参数设为1。
仿真结果如图3.4所示。
图3.2 Discrete Impulse模块参数图3.3 Discrete Impulse1模块参数图3.4 仿真结果5.设计一个巴特沃斯数字低通滤波器,使其满足:通带截止频率为0.4π,通带波纹小于0.5dB;阻带截止频率为06π,阻带最小衰减为50dB,试用FDAtool设计该数字滤波器,并生成脉冲响应曲线和频率响应曲线。
解:按3.5图设计滤波器参数。
图13.5滤波器设计界面点击Impulse选项得到冲激响应曲线如图3.6所示。
图3.6 冲激响应频率响应曲线如图3.7所示。
图3.7 幅频特性和相频特性12.自行录入一段语言信号,并对其做4倍抽取运算,观测抽取前与抽取后的频谱变化。
解:选择模块构造仿真框图如图3.8所示。
图3.8 仿真模型框图在matlab工作空间输入命令[x,fs]=wavread('E:\yinyue\xuyong.wav');设置各个模块参数。
Buffer模块参数如图3.9所示。
Signal from work space参数如图3.10所示。
图3.9 Buffer参数设置图3.10 Signal from work space参数设置仿真结果如下:图3.11 仿真前图3.12 仿真后第4章习题2.对四进制差分相移键控(DPSK)通信系统进行建模和蒙特卡罗仿真。
解:程序如下:clear all;SNRindB1=0:2:12;SNRindB2=0:0.1:12;for i=1:length(SNRindB1)simu_err_prb(i)=snr2ps(SNRindB1(i)); %仿真误码率endfor i=1:length(SNRindB2)SNR=exp(SNRindB2(i)*log(10)/10);theo_err_prb(i)=2*qfunc(sqrt(SNR));endsemilogy(SNRindB1,simu_err_prb,'*');hold on;semilogy(SNRindB2,theo_err_prb);xlabel('Eb/N0(dB)');ylabel('误码率');legend('仿真符号误码率','理论符号误码率');function [p]=snr2ps(snr_in_dB)N=10000;Es=1;snr=10^(snr_in_dB/10);sigma=sqrt(Es/(4*snr));for i=1:2*Ntemp=rand;if (temp<0.5)dsource(i)=0;elsedsource(i)=1;endendmapping=[0 1 3 2];M=4;[diff_enc_output]=cm_dpske(Es,M,mapping,dsource);for i=1:N[n(1) n(2)]=gausamp(sigma);r(i,:)=diff_enc_output(i,:)+n;endnumoferr=0;prev_theta=0;for i=1:Ntheta=angle(r(i,1)+j*r(i,2));delta_theta=mod(theta-prev_theta,2*pi);if ((delta_theta<pi/4)|(delta_theta>7*pi/4))decis=[0 0];elseif (delta_theta<3*pi/4)decis=[0 1];elseif (delta_theta<5*pi/4)decis=[1 1];elsedecis=[1 0];endprev_theta=theta;if ((decis(1)~=dsource(2*i-1))|(decis(2)~=dsource(2*i))) numoferr=numoferr+1;endendp=numoferr/N;endfunction [enc_comp]=cm_dpske(E,M,mapping,sequence)k=log2(M);N=length(sequence);remainder=rem(N,k);if(remainder~=0)for i=N+1:N+k-remaindersequence(i)=0;endN=N+k-remainder;endtheta=0;for i=1:k:Nindex=0;for j=i:i+k-1index=2*index+sequence(j);endindex=index+1;theta=mod(2*pi*mapping(index)/M+theta,2*pi);enc_comp((i+k-1)/k,1)=sqrt(E)*cos(theta);enc_comp((i+k-1)/k,2)=sqrt(E)*sin(theta);endfunction [y1 y2]=gausamp(sigma)y1=sigma*randn(1);y2=sigma*randn(1);end运行结果如图4.1所示。