文档库 最新最全的文档下载
当前位置:文档库 › 概率特性仿真实验与程序-Matlab仿真-随机数生成-负指数分布-k阶爱尔兰分布-超指数分布

概率特性仿真实验与程序-Matlab仿真-随机数生成-负指数分布-k阶爱尔兰分布-超指数分布

概率特性仿真实验与程序-Matlab仿真-随机数生成-负指数分布-k阶爱尔兰分布-超指数分布
概率特性仿真实验与程序-Matlab仿真-随机数生成-负指数分布-k阶爱尔兰分布-超指数分布

概率特性仿真实验与程序-Matlab 仿真-随机数生成-负指数分布-k 阶

爱尔兰分布-超指数分布

使用Java 中的SecureRandom .nextDouble()生成一个0~1之间的随机浮点数,然后使用反函数法生成一个符合指数分布的随机变量(反函数求得为λ)

1ln(R x --=)。指数分布的

参数λ为getExpRandomValue 函数中的参数lambda 。生成一个指数分布的随机变量的代码如下,后面都将基于该函数生成一组负指数分布、K 阶爱尔兰分布、2阶超指数分布随机变量,然后将生成的随机数通过matlab 程序进行仿真,对随机数的分布特性进行验证。

生成一组参数为lambda (λ)的负指数分布的随机变量

通过下面的函数生成一组λ参数为lambda 的随机变量,其中size 表示随机变量的个数。通过该函数生成之后,可以将这些随机值保存在文件中,以备分析和验证,比如保存在exp.txt 文件中,供下面介绍的matlab 程序分析。

通过genExp (1000000, 0.2)生成1000000个参数为0.2的随机变量,然后保存到exp.txt 中,然后使用下面的matlab 程序对这些随机数的性质进行验证,如果这些随机数符合λ=0.2的负指数分布,则其均值应为1/λ,即1/0.2=5,其方差应为1/λ2=1/(0.2*0.2)=25。然后对这些随机数的概率分布进行统计分析,以长度为1的区间为统计单位,统计各区间内随机数出现的频数,求出在各区间的概率,绘制图形,与参数为λ的真实负指数分布曲线进行对比。下图为matlab 代码

如下图所示,均值为4.996423,约等于5,方差为24.96761,约等于25,与实际情况相符。此外,通过matlab统计的概率密度函数曲线与真实曲线基本重合(其中在0-1之间没有重合的原因是,实际情况是在0-1之间有无数个点,而matlab统计时以1为一个区间进行统计,只生成了一个统计项,而这无数个点的概率全部加到1点处,因此两条线没有重合,而且1点处的值远大于实际值,如果统计单位划分越细,0-1之间的拟合度更高),表明生成的随机数符合负指数分布。

生成一组参数为lambda(λ)的k阶爱尔兰分布的随机变量

通过下面的函数生成一组λ参数为lambda的k阶爱尔兰分布随机变量,其中size表示随机变量的个数,k表示阶数。由于k阶爱尔兰分布是k个相同lambda的负指数分布的串联,因此可以将连续k个负指数分布的随机变量相加成为一个爱尔兰分布的随机变量,从而生成爱尔兰分布的随机变量,如下面程序所示。通过该函数生成之后,可以将这些随机值保存在文件中,以备分析和验证,比如保存在erlang_k.txt文件中,供下面介绍的matlab程序分析。

通过genErlang(1000000, 0.2, 2)、genErlang(1000000, 0.2, 4)、genErlang(1000000, 0.2, 8)分别生成1000000个λ参数为0.2的2、4、8阶爱尔兰随机变量,然后分别保存到erlang_2.txt、erlang_4.txt、erlang_8.txt中,然后使用下面的matlab程序对这些随机数的性质进行验证,验证的方法与上面相同,对于k=2,则其均值应为k/λ,即2/0.2=10,其方差应为k/λ2=2/(0.2*0.2)=50;同理,对于k=4,均值应等于20,方差应等于100;对于k=8,均值应等于40,方差应等于200。下图为matlab代码。

如下图所示,k=2时,均值为9.992167,约等于10,方差为49.93048,约等于50;k=4时,均值为20.00298,约等于20,方差为100.4140,约等于100;k=8时,均值为40.03118,约等于40,方差为200.4146,约等于200,以上结果都与实际情况符合。

生成一组2阶超指数分布的随机变量

通过下面的函数生成一组λ参数分别为lambda1和lambda2的2阶超指数分布随机变量,其中size表示随机变量的个数,lambda1和lambda2表示两个负指数分布的λ参数,这里指定进入分支1的概率为α1,进入分支2的概率为α2。由于2阶超指数分布是2个λ参数分别为lambda1和lambda2的负指数分布的并联,且以一定概率进入各分支,因此可以根据概率随机的从两个λ参数不同的负指数分布中抽取一个随机变量作为一个超指数分布的随机变量,如下面程序所示。通过该函数生成之后,可以将这些随机值保存在文件中,以备分析和验证,比如保存

在hyper_exp.txt文件中,供下面介绍的matlab程序分析。

通过genHyperExp(1000000, 0.2, 0.5)生成1000000个参数分别为0.2和0.5,α1=0.3、α2=0.7的超指数分布随机变量,然后保存到hyper_exp.txt中,使用下面的matlab程序对这些随机数的性质进行验证,验证的方法与上面相同,如果生成的随机数正确,均值应=α1/

λ1+α2/λ2=0.3/0.2+0.7/0.5=2.9,方差应=2*(α1/λ1^2+α2/λ2^2)-(α1/λ1+α2/λ2)^2=12.19。下图为matlab代码。

如下图所示,均值为2.896629,约等于2.9,方差为12.17702,约等于12.19,以上结果与实际情况符合。

Matlab 概率论与数理统计

Matlab 概率论与数理统计一、matlab基本操作 1.画图 【例01.01】简单画图 hold off; x=0:0.1:2*pi; y=sin(x); plot(x,y,'-r'); x1=0:0.1:pi/2; y1=sin(x1); hold on; fill([x1, pi/2],[y1,1/2],'b'); 【例01.02】填充,二维均匀随机数 hold off; x=[0,60];y0=[0,0];y60=[60,60]; x1=[0,30];y1=x1+30; x2=[30,60];y2=x2-30; xv=[0 0 30 60 60 30 0];yv=[0 30 60 60 30 0 0]; fill(xv,yv,'b'); hold on; plot(x,y0,'r',y0,x,'r',x,y60,'r',y60,x,'r'); plot(x1,y1,'r',x2,y2,'r'); yr=unifrnd (0,60,2,100); plot(yr(1,:),yr(2,:),'m.') axis('on'); axis('square'); axis([-20 80 -20 80 ]);

2. 排列组合 C=nchoosek(n,k):k n C C =,例nchoosek(5,2)=10, nchoosek(6,3)=20. prod(n1:n2):从n1到n2的连乘 【例01.03】至少有两个人生日相同的概率 公式计算n n n n N N n N N N N n N N N C n p )1()1(1)! (! 1!1+--?-=--=- = 365364 (3651)365364 3651 11365365365365 rs rs rs ?-+-+=- =-? rs=[20,25,30,35,40,45,50]; %每班的人数 p1=ones(1,length(rs)); p2=ones(1,length(rs)); % 用连乘公式计算 for i=1:length(rs) p1(i)=prod(365-rs(i)+1:365)/365^rs(i); end % 用公式计算(改进) for i=1:length(rs) for k=365-rs(i)+1:365 p2(i)=p2(i)*(k/365); end ; end % 用公式计算(取对数) for i=1:length(rs)

MATLAB仿真实验报告

MATLAB 仿真实验报告 课题名称:MATLAB 仿真——图像处理 学院:机电与信息工程学院 专业:电子信息科学与技术 年级班级:2012级电子二班 一、实验目的 1、掌握MATLAB处理图像的相关操作,熟悉相关的函数以及基本的MATLAB语句。 2、掌握对多维图像处理的相关技能,理解多维图像的相关性质 3、熟悉Help 命令的使用,掌握对相关函数的查找,了解Demos下的MATLAB自带的原函数文件。 4、熟练掌握部分绘图函数的应用,能够处理多维图像。 二、实验条件

MATLAB调试环境以及相关图像处理的基本MATLAB语句,会使用Help命令进行相关函数查找 三、实验内容 1、nddemo.m函数文件的相关介绍 Manipulating Multidimensional Arrays MATLAB supports arrays with more than two dimensions. Multidimensional arrays can be numeric, character, cell, or structure arrays. Multidimensional arrays can be used to represent multivariate data. MATLAB provides a number of functions that directly support multidimensional arrays. Contents : ●Creating multi-dimensional arrays 创建多维数组 ●Finding the dimensions寻找尺寸 ●Accessing elements 访问元素 ●Manipulating multi-dimensional arrays操纵多维数组 ●Selecting 2D matrices from multi-dimensional arrays从多维数组中选择二维矩 阵 (1)、Creating multi-dimensional arrays Multidimensional arrays in MATLAB are created the same way as two-dimensional arrays. For example, first define the 3 by 3 matrix, and then add a third dimension. The CAT function is a useful tool for building multidimensional arrays. B = cat(DIM,A1,A2,...) builds a multidimensional array by concatenating(联系起来)A1, A2 ... along the dimension DIM. Calls to CAT can be nested(嵌套). (2)、Finding the dimensions SIZE and NDIMS return the size and number of dimensions of matrices. (3)、Accessing elements To access a single element of a multidimensional array, use integer subscripts(整数下标). (4)、Manipulating multi-dimensional arrays

Matlab 概率论与数理统计

Matlab 概率论与数理统计一、m atlab基本操作 1.画图 hold off; x=0:0.1:2*pi; y=sin(x); plot(x,y,'-r'); x1=0:0.1:pi/2; y1=sin(x1); hold on; fill([x1, pi/2],[y1,1/2],'b'); hold off; x=[0,60];y0=[0,0];y60=[60,60]; x1=[0,30];y1=x1+30; x2=[30,60];y2=x2-30; xv=[0 0 30 60 60 30 0];yv=[0 30 60 60 30 0 0]; fill(xv,yv,'b'); hold on; plot(x,y0,'r',y0,x,'r',x,y60,'r',y60,x,'r'); plot(x1,y1,'r',x2,y2,'r'); yr=unifrnd (0,60,2,100); plot(yr(1,:),yr(2,:),'m.') axis('on'); axis('square'); axis([-20 80 -20 80 ]);

2. 排列组合 C=nchoosek(n,k):k n C C =,例nchoosek(5,2)=10, nchoosek(6,3)=20. prod(n1:n2):从n1到n2的连乘 【例01.03】至少有两个人生日相同的概率 公式计算n n n n N N n N N N N n N N N C n p )1()1(1)! (! 1!1+--?-=--=- = 365364 (3651)365364 3651 11365365365365 rs rs rs ?-+-+=- =-? rs=[20,25,30,35,40,45,50]; %每班的人数 p1=ones(1,length(rs)); p2=ones(1,length(rs)); % 用连乘公式计算 for i=1:length(rs) p1(i)=prod(365-rs(i)+1:365)/365^rs(i); end % 用公式计算(改进) for i=1:length(rs) for k=365-rs(i)+1:365 p2(i)=p2(i)*(k/365); end ; end % 用公式计算(取对数)

实验二 Matlab程序设计基本方法1

实验二Matlab程序设计基本方法 覃照乘自092 电气工程学院 一、实验目的: 1、熟悉MATLAB 程序编辑与设计环境 2、掌握各种编程语句语法规则及程序设计方法 3、函数文件的编写和设计 4、了解和熟悉跨空间变量传递和赋值 二、实验基本知识: ◆for循环结构 语法:for i=初值:增量:终值 语句1 …… 语句n end 说明:1.i=初值:终值,则增量为1。 2.初值、增量、终值可正可负,可以是整数,也可以是小数,只须符合数学逻辑。 ◆while 循环结构 语法:while 逻辑表达式 循环体语句 end 说明:1、whiIe结构依据逻辑表达式的值判断是否执行循环体语勾。若表达式的值为真,执行循环体语句一次、在反复执行时,每次都要进行判断。若表达 式的值为假,则程序执行end之后的语句。 2、为了避免因逻辑上的失误,而陷入死循环,建议在循环体语句的适当位 置加break语句、以便程序能正常执行。(执行循环体的次数不确定; 每一次执行循环体后,一定会改变while后面所跟关系式的值。) 3、while循环也可以嵌套、其结构如下:

while逻辑表达式1 循环体语句1 while逻辑表达式2 循环体语句2 end 循环体语句3 end ◆if-else-end分支结构 if 表达式1 语句1 else if 表达式2(可选) 语句2 else(可选) 语句3 end end 说明:1.if结构是一个条件分支语句,若满足表达式的条件,则往下执行;若不满足,则跳出if结构。 2.else if表达式2与else为可选项,这两条语句可依据具体情况取舍。 3.注意:每一个if都对应一个end,即有几个if,记就应有几个end。 ◆switch-case结构 语法:switch表达式 case常量表达式1 语句组1 case常量表达式2 语句组2 …… otherwise 语句组n end

MATLAB仿真实验全部

实验一 MATLAB 及仿真实验(控制系统的时域分析) 一、实验目的 学习利用MATLAB 进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性; 二、预习要点 1、 系统的典型响应有哪些 2、 如何判断系统稳定性 3、 系统的动态性能指标有哪些 三、实验方法 (一) 四种典型响应 1、 阶跃响应: 阶跃响应常用格式: 1、)(sys step ;其中sys 可以为连续系统,也可为离散系统。 2、),(Tn sys step ;表示时间范围0---Tn 。 3、),(T sys step ;表示时间范围向量T 指定。 4、),(T sys step Y =;可详细了解某段时间的输入、输出情况。 2、 脉冲响应: 脉冲函数在数学上的精确定义:0 ,0)(1)(0 ?==?∞ t x f dx x f 其拉氏变换为:) ()()()(1)(s G s f s G s Y s f === 所以脉冲响应即为传函的反拉氏变换。 脉冲响应函数常用格式: ① )(sys impulse ; ② ); ,();,(T sys impulse Tn sys impulse ③ ),(T sys impulse Y = (二) 分析系统稳定性 有以下三种方法: 1、 利用pzmap 绘制连续系统的零极点图; 2、 利用tf2zp 求出系统零极点; 3、 利用roots 求分母多项式的根来确定系统的极点 (三) 系统的动态特性分析 Matlab 提供了求取连续系统的单位阶跃响应函数step 、单位脉冲响应函数impulse 、零输入响应函数initial 以及任意输入下的仿真函数lsim.

实验3MATLAB程序设计

1,编写M 函数实现求一个数是否为素数,再编写一主程序(脚本文件),要求通过键盘输入一个整数,然后调用判断素数函数,从而确定它是否素数。 x=input('请输入一个整数x:'); if myprime(x) disp('您输入的整数x是一个素数。') else disp('您输入的数x不是一个素数。') end function y=myprime(x) y=1; for i=2:fix(sqrt(x)) if mod(x,i)==0 y=0; end end 2,编写M 函数统计一数值中零的个数,然后编写脚本文件,实现统计从1—2007 中零的总个数。 function num=number0(a) %统计十进制数值中0的个数 sa=num2str(a);%将数值装化为字符串 num=length(find(sa=='0'));% ));%求取字符串中'0’的个数 y=0;

for a=1:2006 num=number0(a); y=num+y; end disp(y) 504 3,编写程序计算x∈[-3,3],字长0.01:并画出曲线x = -3:0.01:3; y=zeros(size(x)); for i = 1:length(x) if -3<= x(i)& x(i)<=-1 y(i)=(-x(i).^2-4*x(i)-3)/ 2; elseif -1<= x(i) & x(i)<=1 y(i)=-x(i).^2+1; elseif 1<=x(:,i)<=3 y(i)=(-x(i).^2+4*x(i)-3)/2; end end plot(x,y) -3-2-10123

西安交大概率论实验报告

班级:土木01 姓名:赵翔宇 学号:2010072023 概 论 实 验 报 告

实验名称:考试录取问题 实验目的:1. 掌握正态分布的有关计算 2. 掌握正态分布在实际问题处理中的应用 3. 掌握MATLAB软件在概率计算中的应用 实验要求:掌握综合使用MATLAB的命令解决实际问题的方法 一.试验问题 1. 某公司准备通过招聘考试招收320名职工,其中正式工280名,临时工40名;报考的人数是1821人,考试满分是400分。考试后得知,考试平均成绩μ=166分,360分以上的高分考生有31人。王瑞在这次考试中得了256分,问他能否否录取?能否被聘为正式工? 二,问题分析 运算任务:只要求出王瑞的成绩排名即可,假设成绩分布为正态分布,已知均值,须先求出方差,获得两个正态分布参数后,可以估计出王瑞的考试情况。 三,程序设计 1.求方差命令:

这里利用了一般的正态分布向标准正态分布转换的公式: σ u x x -=' 求出了本次考试成绩的方差是91.5310,下面求王瑞的名次: 其中normcdf(256,166,91)=0.8387是小于256分的概率,1821*(1-ans)=293是分数大于256分的人数,即王瑞的排名。所以王瑞不能成为正式工,可以成为临时工。 题目二:某单位招聘2500人,按考试成绩从高分到低分依次录取,共有10000人报名.假设报名者的考试成绩X近似服从正态分布N(μ,σ2)。已知90分以上有359人,60分以下有1151人。问被录用者中最低分为多少? 问题分析:本题的思路和上题一样,我们可以得到两个上位分位数,利用非标准正态分布向标准生态分布的方法列出两个方程解出本次考试的平均分,方差。

刘卫国版MATLAB程序设计与应用课后实验六八九

实验六 高层绘图操作 %第一题: 程序代码如下: x=linspace(0,2*pi,101); y=(0.5+3*sin(x)./(1+x.^2)).*cos(x); plot(x,y) 01234567 -1 -0.5 0.5 1 1.5 %第二题: %(1) 程序代码如下: x=linspace(-2*pi,2*pi,100); y1=x.^2; y2=cos(2*x); y3=y1.*y2; plot(x,y1,'b-',x,y2,'r:',x,y3,'y--'); text(4,16,'\leftarrow y1=x^2'); text(6*pi/4,-1,'\downarrow y2=cos(2*x)'); text(-1.5*pi,-2.25*pi*pi,'\uparrow y3=y1*y2');

-8 -6 -4 -2 2 4 6 8 -30-20 -10 10 20 30 40 %(2) 程序代码如下: x=linspace(-2*pi,2*pi,100); y1=x.^2; y2=cos(2*x); y3=y1.*y2; subplot(1,3,1);%分区 plot(x,y1); title('y1=x^2');%设置标题 subplot(1,3,2); plot(x,y2); title('y2=cos(2*x)'); subplot(1,3,3); plot(x,y3); title('y3=x^2*cos(2*x)');

-10 10 0510 15202530 35 40y1=x 2 -10 10 -1-0.8 -0.6 -0.4-0.200.20.4 0.6 0.8 1y2=cos(2*x) -10 10 -30-20 -10 10 20 30 40 y3=x 2*cos(2*x) %(3) 程序代码如下: x=linspace(-2*pi,2*pi,20); y1=x.^2; subplot(2,2,1);%分区 bar(x,y1); title('y1=x^2的条形图');%设置标题 subplot(2,2,2); stairs(x,y1); title('y1=x^2的阶梯图'); subplot(2,2,3); stem(x,y1); title('y1=x^2的杆图'); subplot(2,2,4); fill(x,y1,'r');%如果少了'r'则会出错 title('y1=x^2的填充图'); %其他的函数照样做。

增量调制MATLAB仿真实验

增量调制MATLAB仿真实验

增量调制(DM)实验 一、实验目的 (1)进一步掌握MATLAB的应用。 (2)进一步掌握计算机仿真方法。 (3)学会用MATLAB软件进行增量调制(DM)仿真实验。 二、实验原理 增量调制是由PCM发展而来的模拟信号数字化的一种编码方式,它是PCM的一种特例。增量调制编码基本原理是指用一位编码,这一位码不是表示信号抽样值的大小,而是表示抽样幅度的增量特性,即采用一位二进制数码“1”或“0”来表示信号在抽样时刻的值相对于前一个抽样时刻的值是增大还是减小,增大则输出“1”码,减小则输出“0”码。输出的“1”,“0”只是表示信号相对于前一个时刻的增减,不表示信号的绝对值。 增量调制最主要的特点就是它所产生的二进制代码表示模拟信号前后两个抽样值的差别(增加、还是减少)而不是代表抽样值本身的大小,因此把它称为增量调制。在增量调制系统的发端调制后的二进制代码1和0只表示信号这一个抽样时刻相对于前一个抽样时刻是增加(用1码)还是减少(用0码)。收端译码器每收到一个1码,译码器的输出相对于前一个时刻的值上升一个量化阶,而收到一个0码,译码器的输出相对于前一个时刻的值下降一个量化阶。 增量调制(DM)是DPCM的一种简化形式。在增量调制方式下,采用1比特量化器,即用1位二进制码传输样值的增量信息,预测器是

一个单位延迟器,延迟一个采样时间间隔。预测滤波器的分子系数向量是[0,1],分母系数为1。当前样值与预测器输出的前一样值相比较,如果其差值大于零,则发1码,如果小于零则发0码。 三、实验内容 增量调制系统框图如图一所示,其中量化器是一个零值比较器,根据输入的电平极性,输出为 δ,预测器是一个单位延迟器,其输出为前一个采样时刻的解码样值,编码器也是一个零值比较器,若其输入为负值,则编码输出为0,否则输出为1。解码器将输入1,0符号转换为 δ,然后与预测值相加后得出解码样值输出,同时也作为预测器的输入 输入样值 e n e n =δsgn(e n ) 传输 n ) n n-1+δsgn(e n ) x n + - + + 预测输出 + n-1 + 预测输出 解码样值输出 x n-1 预测输入x n =x n-1+δsgn(e n ) 图一 增量调制原理框图 设输入信号为: x(t)=sin2π50t+0.5sin 2π150t 增量调制的采样间隔为1ms,量化阶距δ=0.4,单位延迟器初始值为0。建立仿真模型并求出前20个采样点使客商的编码输出序列以 解码 编码 二电平量化 单位延迟 单位 延迟

MATLAB程序设计实验报告

MATLAB 程序设计实验报告 一、实验目的 1. 通过实验熟悉MATLAB 仿真软件的使用方法; 2. 掌握用MATLAB 对连续信号时域分析、频域分析和s 域分析的方法,利用绘图命令绘制出典型信号的波形,了解这些信号的基本特征; 3. 掌握用MATLAB 对离散信号时域分析、频域分析和z 域分析的方法,利用绘图命令绘制出典型信号的波形,了解这些信号的基本特征; 4. 通过绘制信号运算结果的波形,了解这些信号运算对信号所起的作用。 二、实验设备 1. 计算机 : 2. MATLAB R2007a 仿真软件 三、实验原理 对系统的时域分析 信号的时域运算包括信号的相加、相乘,信号的时域变换包括信号的平移、反折、倒相及信号的尺度变换。 (1)信号的相加和相乘:已知信号)(1t f 和)(2t f ,信号相加和相乘记为 )()(1t f t f =)(2t f +;)()(1 t f t f =)(2t f *。 (2)信号的微分和积分:对于连续时间信号,其微分运算是用diff 函数来完成的,其语句格式为:diff(function,’variable’,n),其中function 表示需要进行求导运算的信号,或者被赋值的符号表达式;variable 为求导运算的独立变量;n 为求导的阶数,默认值为求一阶导数。连续信号的积分运算用int 函数来完成,语句格式为:diff(function,’variable’,a,b),其中function 表示需要进行被积信号,或者被赋值的符号表达式;variable 为求导运算的独立变量;a,b 为积分上、下限,a 和b 省略时为求不定积分。 (3)信号的平移、翻转和尺度变换 信号的平移包含信号的左移与右移,信号的翻转包含信号的倒相与折叠,平移和翻转信号不会改变信号)(t f 的面积和能量。信号的尺度变换是对信号)(t f 在时间轴上的变化,可使信号压缩或扩展。)(at f 将原波形压缩a 倍,)/(a t f 将原波形扩大a 倍。 ¥ 对系统频率特性的分析

高频电子线路Matlab仿真实验

高频电子线路Matlab 仿真实验要求 1. 仿真题目 (1) 线性频谱搬移电路仿真 根据线性频谱搬移原理,仿真普通调幅波。 基本要求:载波频率为8kHz ,调制信号频率为400Hz ,调幅度为0.3;画出调制信号、载波信号、已调信号波形,以及对应的频谱图。 扩展要求1:根据你的学号更改相应参数和代码完成仿真上述仿真;载波频率改为学号的后5位,调制信号改为学号后3位,调幅度设为最后1位/10。(学号中为0的全部替换为1,例如学号2010101014,则载波为11114Hz ,调制信号频率为114,调幅度为0.4)。 扩展要求2:根据扩展要求1的条件,仿真设计相应滤波器,并获取DSB-SC 和SSB 的信号和频谱。 (2) 调频信号仿真 根据调频原理,仿真调频波。 基本要求:载波频率为30KHz ,调制信号为1KHz ,调频灵敏度32310f k π=??,仿真调制信号,瞬时角频率,瞬时相位偏移的波形。 扩展要求:调制信号改为1KHz 的方波,其它条件不变,完成上述仿真。 2. 说明 (1) 仿真的基本要求每位同学都要完成,并且记入实验基本成绩。 (2) 扩展要求可以选择完成。

1.0 >> ma = 0.3; >> omega_c = 2 * pi * 8000; >> omega = 2 * pi * 400; >> t = 0 : 5 / 400 / 1000 : 5 / 400; >> u_cm = 1; >> fc = cos(omega_c * t); >> fa = cos(omega * t); >> u_am = u_cm * (1 + fa).* fc; >> U_c =fft(fc,1024); >> U_o =fft(fa,1024); >> U_am =fft(u_am, 1024); >> figure(1); >> subplot(321);plot(t, fa, 'k');title('调制信号');grid;axis([0 2/400 -1.5 1.5]); >> subplot(323);plot(t, fc, 'k');title('高频载波');grid;axis([0 2/400 -1.5 1.5]); >> subplot(325);plot(t, u_am, 'k');title('已调信号');grid;axis([0 2/400 -3 3]); >> fs = 5000; >> w1 = (0:511)/512*(fs/2)/1000; >> subplot(322);plot(w1, abs([U_am(1:512)']),'k');title('调制信号频谱');grid;axis([0 0.7 0 500]); >> subplot(324);plot(w1, abs([U_c(1:512)']),'k');title('高频载波频谱');grid;axis([0 0.7 0 500]); >> subplot(326);plot(w1, abs([U_am(1:512)']),'k');title('已调信号频谱');grid;axis([0 0.7 0 500]); 1.1 >> ma = 0.8; >> omega_c = 2 * pi * 11138; >> omega = 2 * pi * 138; >> t = 0 : 5 / 400 / 1000 : 5 / 400; >> u_cm = 1; >> fc = cos(omega_c * t);

Matlab程序设计实验报告

实验七Matlab 程序设计 实验目的: 1、掌握建立和执行M 文件的方法; 2、掌握实现选择结构的方法; 3、掌握实现循环结构的方法。 实验内容: 1. 编写用 5 次多项式拟合函数y=sin(x), x [0, 2 ]的脚本M 文件,要求绘图观察拟合的效果。 function shiyan1 x=0:0.5:2*pi y=sin(x) p=polyfit(x,y,5) x1=0:0.2:2*pi y1=polyval(p,x1) plot(x,y, 'b' ,x1,y1, '*r' x =

Columns 1 through 9 0 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000 Columns 10 through 13 4.5000 5.0000 5.5000 6.0000 y = Columns 1 through 9 0 0.4794 0.8415 0.9975 0.9093 0.5985 0.1411 -0.3508 -0.7568 Columns 10 through 13 -0.9775 -0.9589 -0.7055 -0.2794 p = -0.0056 0.0881 -0.3967 0.2671 0.8902 0.0029 x1 = Columns 1 through 10 0 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.4000 1.6000 1.8000 Columns 11 through 20

2. 2.2000 2.4000 2.6000 2.8000 3.0000 3.2000 3.4000 3.6000 1.8001 Columns 21 through 30 4.0 4.2000 4.4000 4.6000 4.8000 5.0000 5.2000 5.4000 5.6000 5.8000 Columns 31 through 32 6.0 6.2000 y1 = Columns 1 through 10 0.29 0.1886 0.3786 0.5585 0.7172 0.8461 0.9391 0.9926 1.0048 0.9761 Columns 11 through 20 0.9083 0.8048 0.6701 0.5098 0.3301 0.1381 -0.0590 -0.2538 -0.4389 -0.6073 Columns 21 through 30 -0.7524 -0.8685 -0.9505 -0.9949 -0.9991 -0.9626 -0.8863 -0.7732 -0.6288 -0.4606 Columns 31 through 32

Matlab 编程方法及仿真实验

《现代机械工程基础实验》之机械工程控制基础综合实验报告 姓名 学号 班级 山东建筑大学机电工程学院 2012.06.04~06

第一部分 Matlab 编程方法及仿真实验 实验1. 三维曲面的绘制(略) 实验2. 系统零极点绘制例:求部分分式展开式和)(t g 一个线性定常系统的传递函数是 1 5422 3)(2 3 ++++= s s s s s G (1) 使用MATLAB 建立传递函数,并确定它的极点和零点,写出)(s G 的部分分式展开式并绘制 系统的脉冲响应。 实验结果:零点-0.6667 极点-0.8796 + 1.1414i -0.8796 - 1.1414i -0.2408 实验3. 系统的阶跃响应 例. )(s G 的阶跃响应 对例2中由(1)式给出的传递函数)(s G ,增加一个0=s 处的极点,使用impulse 命令绘制其拉普拉斯反变换式曲线,得到阶跃响应图。将该响应与对)(s G 使用step 命令所得到的响应比较,确定系统的DC 增益。利用初值定理和终值定理来校验结果。 实验结果:DC 增益= 2

实验4. 双输入反馈系统单位阶跃响应 考虑一个如图1所示的反馈系统,它既有参考输入也有干扰输入,其中对象和传感器的传递函数是 )12)(15.0(4)(++=s s s G p ,105.01 )(+=s s H 控制器是一个增益为80,有一个在3-=s 处的零点,极点/零点比15=α超前控制器。推导 两个独立的MATLAB 模型,其中一个模型的输入为)(s R ,另一个输入为)(s D 。使用这些模型确定闭环零点和极点,并在同一坐标系内绘制它们的阶跃响应。 D (s ) 图1 具有参考和干扰输入的反馈系统方框图 实验结果: 参考输入的CL 极点:-49.3658 -7.3336 + 7.9786i -7.3336 - 7.9786i -3.4670 参考输入的DC 增益:320 干扰输入的CL 零点:-45 干扰输入的CL 极点:-49.3658 -7.3336 + 7.9786i -7.3336 - 7.9786i -3.4670 干扰输入的DC 增益:4 -20

D实验五 M文件和MATLAB程序设计

实验五M文件和MATLAB程序设计 一、实验目的 matlab作为一种高级计算机语言,不仅可以命令行方式完成操作,也具有数据结构、控制流、输入输出等能力,本次实验通过熟悉和掌握m文件的建立与使用方法,以及函数与控制程序流程语句的使用,使学生具备一定的编程和程序调试能力。 1.掌握M文件的使用方法。 2.掌握if语句和switch语句的使用 3. 掌握循环语句的使用 4. 通过练习理解MATLAB编程方法。 二、实验原理 1.m文件 用matlab语言编写的程序,称为m文件。M文件根据调用方式的不同分为两类,命令文件(Script file)和函数文件(Function file)。区别? 2.程序控制结构 1)顺序结构 2)选择结构 (1)if语句a) 单分支if语句b) 双分支if语句c) 多分支if语句 (2)switch 语句 (3)try语句 3)循环结构 (1)for 语句 (2)while语句 (3)break语句、continue语句、return使用,区别? 3.函数文件 function 输出形参表=函数名(输入形参表) 注释说明部分 函数体语句 注意事项? 三、实验要求 1.首先上机练习PPT中各种流程控制语句的有关实例。 2.然后上机练习下面的实验习题。 四、实验习题

1.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如: 2→1 3→10→5→16→8→4→2→1 6→3→10→5→16→8→4→2→1 运行下面的程序,按程序提示输入n=1,2,3,5,7,8,9等数来验证这一结论。 %classic "3n+1" problem from number theory. while 1 n=input('Enter n,negative quits:'); if n<=0 break end a=n; while n>1 if rem(n,2)==0 n=n/2; else n=3*n+1; end a=[a,n]; end a end Enter n,negative quits: 2. 编程求满足∑=>m i i 11000020的最小m 值。 a=0; i=1; while (a<100000) a=a+pow2(i); i=i+1; end m=i-1 3. 编写一个函数,计算下面函数的值,给出x 的值,调用该函数后,返回y 的值。 function [y]=myfun1(x)

Matlab仿真实验教程

MATLAB的实验仿真 目录 实验一MATLAB在控制系统模型建立与仿真中的应用 (1) 实验二典型系统的时域响应分析 (13) 实验三线性控制系统的根轨迹与频域分析 (17) 实验四线性系统的校正 (22) 附录一 MATLAB6.5 控制系统工具箱函数和结构化的控制语句 (30) 附录二 SIMULINK 基本模块介绍 (34)

实验一 MATLAB 在控制系统模型建立与仿真中的应用 一、 MATLAB 基本操作与使用 1. 实验目的 1) 掌握MATLAB 仿真软件的安装及启动,熟悉 MATLAB 工作环境平台。 2) MATLAB 命令窗口,包括工具条以及菜单选项的使用;MATLAB 语言的基本规定,包括数值的表示、变量命名规定、基本运算符、预定义变量以及表达式等。 3) MATLAB 图形绘制功能、M 文件程序设计和线性控制系统传递函数模型的建立等。 2. 实验仪器 PC 计算机一台,MATLAB 软件1套 3. 实验内容 1) MATLAB 的启动 这里介绍MATLAB 装入硬盘后,如何创建MATLAB 的工作环境。 方法一 MATLAB 的工作环境由matlab.exe 创建,该程序驻留在文件夹matlab\bin\ 中。它的图标是 matlab 。只要从<我的电脑>或<资源管理器>中去找这个程序,然后双击此图标,就会自动创建如图1所示的MATLAB6.5 版的工作平台 。 图1 在英文Windows 平台上的MATLAB6.5 MATLAB 工作平台 方法二 假如经常使用MATLAB ,则可以在Windows 桌面上创建一个MATLAB 快捷方式图标。具体办法为: 把<我的电脑>中的 matlab 图标用鼠标点亮,然后直接把此图标拖到Windows 桌面上即可。此后,直接双击Windows 桌面上的matlab 图标,就可建立图1所示的 MATLAB 工作平台。 2) MATLAB 工作环境平台 桌面平台是各桌面组件的展示平台,默认设置情况下的桌面平台包括 6 个窗口,具体如下: ① MATLAB 窗口 Command Window

概率论与数理统计实验报告

概率论与数理统计 实验报告 概率论部分实验二 《正态分布综合实验》

实验名称:正态分布综合实验 实验目的:通过本次实验,了解Matlab在概率与数理统计领域的应用,学会用matlab做概率密度曲线,概率分布曲线,直方图,累计百分比曲线等简单应用;同时加深对正态分布的认识,以更好得应用之。 实验内容: 实验分析: 本次实验主要需要运用一些matlab函数,如正态分布随机数发生器normrnd函数、绘制直方图函数hist函数、正态分布密度函数图形绘制函数normpdf函数、正态分布分步函数图形绘制函数normcdf等;同时,考虑到本次实验重复性明显,如,分别生成100,1000,10000个服从正态分布的随机数,进行相同的实验操作,故通过数组和循环可以简化整个实验的操作流程,因此,本次实验程序中要设置数组和循环变量。 实验过程: 1.直方图与累计百分比曲线 1)实验程序 m=[100,1000,10000]; 产生随机数的个数 n=[2,1,0.5]; 组距 for j=1:3 for k=1:3 x=normrnd(6,1,m(j),1); 生成期望为6,方差为1的m(j)个 正态分布随机数

a=min(x); a为生成随机数的最小值 b=max(x); b为生成随机数的最大值 c=(b-a)/n(k); c为按n(k)组距应该分成的组数 subplot(1,2,1); 图形窗口分两份 hist(x,c);xlabel('频数分布图'); 在第一份里绘制频数直方图 yy=hist(x,c)/1000; yy为各个分组的频率 s=[]; s(1)=yy(1); for i=2:length(yy) s(i)=s(i-1)+yy(i); end s[]数组存储累计百分比 x=linspace(a,b,c); subplot(1,2,2); 在第二个图形位置绘制累计百分 比曲线 plot(x,s,x,s);xlabel('累积百分比曲线'); grid on; 加网格 figure; 另行开辟图形窗口,为下一个循 环做准备 end end 2)实验结论及过程截图 实验结果以图像形式展示,以下分别为产生100,1000,10000个正态分布随机数,组距分别为2,1,0.5的频数分布直方图和累积百分比曲线,从实验结果看来,随着产生随机数的数目增多,组距减小,累计直方图逐渐逼近正态分布密度函数图像,累计百分比逐渐逼近正态分布分布函数图像。

(完整版)Matlab概率论与数理统计

Matlab 概率论与数理统计 、matlab 基本操作 1. 画图 【例01.01】简单画图 hold off; x=0:0.1:2*pi; y=sin (x); plot(x,y, '-r'); x1=0:0.1:pi/2; y1=s in( x1); hold on; fill([x1, pi/2],[y1,1/2], 'b'); 【例01.02】填充,二维均匀随机数 hold off ; x=[0,60];y0=[0,0];y60=[60,60]; x1=[0,30];y1=x1+30; x2=[30,60];y2=x2-30; plot(x,y0, 'r' ,y0,x, plot(x1,y1, 'r' ,x2,y2, yr=u nifrnd (0,60,2,100); plot(yr(1,:),yr(2,:), axis( 'on'); axis( 'square' ); axis([-20 80 -20 80 ]); xv=[0 0 30 60 60 30 0];yv=[0 30 60 60 30 0 0]; fill(xv,yv, 'b'); hold on ; 'r' ,x,y60, 'r' ,y60,x, 'r') 'r'); 'm.')

2. 排列组合 k C=nchoosek(n,k) : C C n ,例 nchoosek(5,2)=10, nchoosek(6,3)=20. prod(n1:n2):从 n1 至U n2 的连乘 【例01.03】至少有两个人生日相同的概率 365 364|||(365 rs 1) rs 365 365 364 365 rs 1 365 365 365 rs=[20,25,30,35,40,45,50]; %每班的人数 p1= on es(1,le ngth(rs)); p2=on es(1,le ngth(rs)); %用连乘公式计算 for i=1:le ngth(rs) p1(i)=prod(365-rs(i)+1:365)/365A rs(i); end %用公式计算(改进) for i=1:le ngth(rs) for k=365-rs(i)+1:365 p2(i)=p2(i)*(k/365); end ; end %用公式计算(取对数) for i=1:le ngth(rs) p1(i)=exp(sum(log(365-rs(i)+1:365))-rs(i)*log(365)); end 公式计算P 1 n!C N N n N! 1 (N n)! 1 N n N (N 1) (N n 1)

基于MATLAB的系统仿真实验

基于MATLAB的系统仿真实验 实验指导书 新乡学院 二○○八年三月

说明 MATLAB是MATrix LABoratory的缩写,是一种基于矩阵的数学与工程计算系统,可以用作动态系统的建模与仿真。研究系统的结构和参数的变化对系统性能的影响可利用MATLAB强大的计算和作图功能,因此本实验采用MATLAB仿真研究连续控制系统和离散控制系统的性能分析过程。通过该实验提高学生对控制系统的分析与设计能力,加深对《自动控制原理》课程内容的理解。 由于学时有限,该实验由同学们参考有关MATLAB应用的书籍利用课后时间完成。

第一部分 基于MATLAB 连续系统的仿真 一、 实验目的 在研究系统的结构和参数的变化对系统性能的影响时,采用解析和作图的方法比较麻烦,而且误差也大,用MATLAB 仿真实现则简单方便,精度高。本实验采用MATLAB 实现控制系统的数学描述、控制系统的时域分析及根轨迹和频率特性分析。通过该实验,加深学生对系统阶次,型号,参数与系统性能的关系的理解。 二、实验环境 在计算机Windows 环境下安装好MATLAB6.3以上版本后,双击MATLAB 图标或成“开始”菜单打开MATLAB ,即可进入MATLAB 集成环境。 三、MATLAB 应用实例 1.拉氏变换和反变换 例 求22)(2++=t t t f 的拉氏变换 解 键入 syms s t; ft=t^2+2*t+2; st=laplace(ft,t,s) 运行结果为 st= 2/s^3+2/s^2+2/s 例 求) 2)(34(6 )(2 ++++= s s s s s F 的拉氏反变换 解 键入 syms s t; Fs=(s+6)/(s^2+4*s+3)/(s+2); ft=ilaplace(Fs,s,t) 运行结果为 ft= 3/2*exp(-3*t)+5/2*exp(-t)-4*exp(-2*t) 2。求根运算 例 求多项式 43)(2 3 ++=s s s p 的根,再由根建多项式。 解 键入 p=[1 3 0 4]; r=root(p) 运行结果为 r= -3.3553 0.1777+1.0773i 1.7777-1.0773i

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