Matlab仿真实验课件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二,向量表示信号波形
用以下程序可产生正弦波: t=0:0.001:50; y=sin(2*pi*50*t); plot(t(1:50),y(1:50)); 用以下程序可产生加入随机噪声的正弦波: t=0:0.001:50; y=sin(2*pi*50*t); s=y+randn(size(t)); plot(t(1:50),s(1:50)); 用以下程序可产生周期方波: t=0:0.001:2.5; y=square(2*pi*30*t); plot(t(1:50),y(1:50)); 用以下程序可产生周期锯齿波: t=0:0.001:2.5; y=sawtooth(2*pi*30*t); plot(t,y); 符号运算表示信号 f=sym('sin(pi/4*t)'); f= sin(pi/4*t); ezplot(f,[-16,16]);
线形: [ + | o | * | . | x | square | diamond | v | ^ | > | < | pentagram | hexagram ] square diamond pentagram hexagram 正方形 菱形 五角星 六角星
1. 单窗口单曲线绘图
例1:x=[0, 0.48,0.84,1,0.91,0.6,0.14] [ x1, x2, x3, x4, x5, x6, x7,] plot (x)
二,plot的调用格式
plot(x) —— 缺省自变量绘图格式,x为向量, 以x元素值为 纵坐标,以相应元素下标为横坐标绘图 plot(x,y) —— 基本格式,以y(x)的函数关系作出直角坐标 图,如果y为n×m的矩阵,则以x 为自变量,作出m条曲线 plot(x1,y1,x2,y2) —— 多条曲线绘图格式
plot(x,y,'s') —— 曲线属性设置格式,字符串s设定曲线颜色和 绘图方式,使用颜色字符串的前1~3个字母,如 yellow—yel表示等. 或plot(x1,y1,'s1',x2,y2,'s2',…)
三,S的标准设定值如下:
字母 y m c r g b w k 颜色 黄色 粉红 亮蓝 大红 绿色 蓝色 白色 黑色 标点 ○ × + - : - (--) 线型 点线 圈线 ×线 +字线 实线 星形线 虚线 点划线
A=[1 3 2];B=[1 0 1]; impulse(B,A)
(2)impulse(B,A,t)
绘出系统在0~t时间范 围内冲激响应的时域波 形.对上例,若运行命 令impulse(B,A,10),则 绘出系统在0~10秒范围 内冲激响应的时域波形.
(3) impulse(B,A,t1:p:t2)
三,用matlab函数创建矩阵
空阵 [ ] — matlab允许输入空阵,当一项操作无结果时, 返回空阵. rand —— 随机矩阵 rand(4) eye —— 单位矩阵 eye(4) zeros —全部元素都为0的矩阵 zeros(7) ones —全部元素都为1的矩阵 ones(3)
四, 矩阵的修改
2. 单窗口多曲线绘图
例2:t=0:pi/100:2*pi; y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); plot(t,y,t,y1,t,y2)
1 0 .8 0 .6 0 .4 0 .2 0 - 0 .2 - 0 .4 - 0 .6 - 0 .8 -1 0 1 2 3 4 5 6 7
y y1 y2
例 3:y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); y3=cos(t);y4=cos(t+0.25);y5=cos(t+0.5); plot(t,[y',y1',y2',y3',y4',y5'])
1 0 .8 0 .6 0 .4 0 .2 0 -0 .2 -0 .4 -0 .6 -0 .8 -1 0 1 2 3 4 5 6 7
第三讲 MATLAB在信号与系统中 的应用
一,信号波形的产生
三种方法 1.使用 使用funtool 图形化函数计算器 使用 可以自定义自变量x变化范围 缺省为[-2pi,2pi],a为自由参 变化范围,缺省为 可以自定义自变量 变化范围 缺省为 为自由参 数. 1.5sin(x),5exp(-x),sin(x)/x,sqrt(a*x) 2.用信号处理工具箱 用信号处理工具箱(Signal Processing Toolbox) 用信号处理工具箱 向量表示法 t= -10:0.5:10 ;f=sin(t)./t ; plot(t,f); title('f(t)=Sa(t)'); xlabel('t'); axis([-10,10,-0.4,1.1]);
四,连续信号和系统
一,微分方程的建立 (根据基尔霍夫定律和有关电路理论建立)
iR (t ) = iL (t ) = iC ( t ) = 1 R 1 L C v (t )
ቤተ መጻሕፍቲ ባይዱ
∫
d dt
t
∞
v (τ ) d τ v (t )
五,线性微分方程求解
线性微分方程的可用拉普拉斯算子s表示 Y(s)=B(s)/A(s) 时间域的解为y(t)是Y(s)的拉普拉斯反变换. 部分分式法求拉斯反变换,将多项式分解为多个s的一次分式之和. 用留数函数Residue求解 步骤: (1)用[r,p,k]=residue(b,a)求出Y(s)的极点数组p,余数数组r及余数k (分母比分子阶数高,k=0)
脉冲响应
同理可求阶跃响应(输入u(s)=1/s) A=[1 5 4 7 0],B=[3 0.5 4],[r,b,k]=residue(b,a)
阶跃响应
七,零输入响应
1.对应微分方程的齐次解.
y (t ) = C1e p1t + C2 e p2t + ... + Cn e pnt
P1,p2,…pn为特征方程的根,C1,C2,…,Cn由各阶导数的初始值确 定.请参考有关资料. 2.impulse和step函数. 例如,对微分方程 y''(t)+3y'(t)+2y(t)=f''(t)+f(t),则表示该系 统的对应向量应为 A=[1 3 2],B=[1 0 1]. (1) impulse(b,a):该调用格式以默认方式绘出向量A和B定义的 连续系统的冲激响应的时域波形.
y3=cos(t);y4=cos(t+0.25);y5=cos(t+0.5); plot(t,y3);hold on; plot(t,y4); plot(t,y5);
1 0 .8 0 .6 0 .4 0 .2 0 -0 .2 -0 .4 -0 .6 -0 .8 -1 0 1 2 3 4 5 6 7
三,用simulink产生信号
在MATLAB的命令视窗下输入simulink指令,则会打开untitled和 library simulink两个视窗.library simulink有7个子库,其中 source是信号源子库,sinks 是显示器子库.子库中的任何模块 都可以拖动到untitled视窗,用鼠标把模块用连线按输入输出关系连 接起来,就构成了仿真系统.在untitled视窗的菜单选simulation 中的start,开始进行仿真,仿真执行完毕后,示波器上会显示出 信号波形.
三,符号的作用
逗号和分号的作用 逗号和分号可作为指令间的分隔符,matlab允许多条 语句在同一行出现. 分号如果出现在指令后,屏幕上将不显示结果.
冒号的作用
用于生成等间隔的向量,默认间隔为1.X=1:6 用于选出矩阵指定行,列及元素.x(2,:), x(:,2) 循环语句 k=1:0.2:2 format , format rat
2. 矩阵乘()运算
规则: A矩阵的列数必须等于B矩阵的行数 标量可与任何矩阵相乘. 3矩阵除的运算在线性代数中没有,有矩阵逆的运算, 在matlab中有两种矩阵除运算 右除B/A 左除A\C
4. 矩阵的其它运算
inv —— 矩阵求逆 inv(x) det —— 行列式的值 det(x) eig —— 矩阵的特征值 eig(x) diag —— 对角矩阵 diag(x) ' —— 矩阵转置 x' sqrt —— 矩阵开方 sqrt(x)
一,二维绘图
(一)plot —— 最基本的二维图形指令 plot的功能: plot命令自动打开一个图形窗口Figure 用直线连接相邻两数据点来绘制图形 根据图形坐标大小自动缩扩坐标轴,将数据标尺及单位标注自动 加到两个坐标轴上,可自定坐标轴,可把x, y 轴用对数坐标表示
如果已经存在一个图形窗口,plot命令则清除当前图形,绘制新图 形 可单窗口单曲线绘图;可单窗口多曲线绘图;可单窗口多曲线分图 绘图;可多窗口绘图 可任意设定曲线颜色和线型 可给图形加坐标网线和图形加注功能
Y ( s) = 3s 2 + 0.5s + 4 B( s) u(s) = s 3 + 5s 2 + 4 s + 7 A( s)
(1)求脉冲响应:A=[1,5,4,7] ,B=[3,0.5,4] ,[r,p,k]=residue(B,A) r= p = -4.4548 3.2288 -0.2726 + 1.2235i -0.1144 + 0.0730i -0.2726 - 1.2235i -0.1144 - 0.0730i k = [] 时域解(t=0:0.2:10): y(t)=r(1)*exp(p(1)*t)+r(2)* exp(p(2)*t)+ r(3)*exp(p(3)*t); plot(t,y)
r (1) r (2) r (3) + + + ... s p(1) s p(2) s p(3)
Y ( s) =
(2)求它的反变换.得 y(t)=r(1)*exp(p(1)*t)+r(2)* exp(p(2)*t)+ r(3)*exp(p(3)*t)+…
六,微分方程举例
Ex:求解线性微分方程 y'''+5y''+4y'+7y=3u''+0.5u'+4u 在输入u(t)为单位脉冲及单位阶跃信号时的解析解. 解:两边进行Laplace变换
Stem()函数
可绘出连续系统的阶跃响应 g(t)在指定时间范围的时域 波形并能求出其数值解,和 impulse()函数一样,也有 四种调用格式.
绘出在t1~t2时间范围内,且 以时间间隔p均匀取样的冲激 响应波形.对上例,若运行 命令mpulse(B,A,1:0.1:2), 则绘出1~2秒内,每隔0.1秒 取样的冲激响应的时域波形
(4) y=impulse(B,A,t1:p:t2)
不绘出波形,而是求出系 统冲激响应的数值解.对 上例,若运行命令 y=impulse(B,A,0:0.2:2) , 则运行结果为: y= -3.0000 -1.7141 -0.9060 -0.4083 -0.1108 0.0591 0.1488 0.1891 0.2000 0.1940 0.1791
Matlab仿真实验课件
燕山大学电子实验中心
第一讲 数值运算的功能
一,命令行的基本操作
创建矩阵的方法 直接输入法 规则: 1 矩阵元素必须用[ ]括住 2 矩阵元素必须用逗号或空格分隔 3 在[ ]内矩阵的行与行之间必须 用分号分隔
二,矩阵元素
矩阵元素可以是任何matlab表达式 ,可以是实数 ,也可以 是复数,复数可用特殊函数I,j 输入 a=[1 2 3;4 5 6] x=[2 pi/2;sqrt(3) 3+5i]
直接修改 可用↑键找到所要修改的矩阵,用←键移动到要修改的 矩阵元素上即可修改. 指令修改
可以用A(,)= 来修改.
五,矩阵运算
1.
矩阵加,减(+,-)运算 相加,减的两矩阵必须有相同的行和列两矩阵对应元素相加 减. 允许参与运算的两矩阵之一是标量.标量与矩阵的所有元素 分别进行加减操作.
规则:
第二讲 matlab语言的绘图功能
MATLAB语言具有丰富的图形表现方法,使得数学计算结果可以 方便地,多样性地实现了可视化,这是其它语言所不能比拟的.
不仅能绘制几乎所有的标准图形,而且其表现形式也是丰富多 样的. matlab语言不仅具有高层绘图能力,而且还具有底层绘图能 力——句柄绘图方法. 在面向对象的图形设计基础上,使得用户可以用来开发各专业 的专用图形.