ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

matlab在信号与线性系统下的应用(1)

2020-12-14 20:32:47  阅读:203  来源: 互联网

标签:10 线性系统 运算 plot matlab 信号 ft pi


matlab在信号与线性系统下的应用

前言

matlab和信号与线性系统的结合:符号运算和数值仿真计算。


一、matlab的数值计算

1.算术运算

加减乘除等同正常的操作符,复数可以用直角坐标或者极坐标的形式来表示,也可以用极坐标形式来表示

A = 1+i
B = 2*exp(i*pi/6)

同时,复数的实部,虚部,模,幅角等值都可以通过matlab函数总结得到

real(A)
imag(A)
abs(A)   sqrt(A*conj(A))  
angle(A)  angle(A)*180/pi

2.向量运算

直接输入向量的话用;分隔生成列向量 , 分隔生成行向量

a =[1,2,3]
b=[1;2;3]

还可以按照起始位置:步长:结束位置来形成向量

t = 0:2:10
s = 0:10

在连续时间信号和离散时间信号的表示过程中,经常会用到冒号表达式。比如下面用到的再图形绘制方面的应用。

向量和数进行正常的运算,但向量和向量之间采用的运算有两种:

  • 采用向量运算法则 ,乘法要保证第一个的列数等于第二个行数。
  • 采用数之间的运算法则 ,点运算,相同矩阵位置进行相同的算术运算,标量常数可以进行任何点运算。符号是由一个点和加减乘除组成。

在使用过程中要注意区分这两种类别,在特定场景下适合用那种。

t=0:0.01:1;
y=(sin(t).*exp(-2*t)+5)./(cos(t)+t.^2+1);

这里两个地方就是都用点乘。理解为不需要做矩阵运算。

3.符号运算

较解析式由更好的通用性,但注意在使用前要先定义符号变量。并创建符号表达式。

sys 变量名
syms x  y   z
whos %查看定义的变量
sym('变量名')  %定义符号变量
sym('表达式')
sym('x+1');

并且,在符号运算中,可以使用simple,simplify函数来化简运算结果。

syms x
f1 = sin(x)^2;
f2 = cos(x)^2;
y = f1+f2;
y=simplify(y);  %化简步骤

4.matlab绘图

这里主要是采用plot完成基本绘图和subplot来进行分平面 绘图,还有是一个是ezplot(y,[a,b])命令来绘制符号表达式的曲线

t = 0:0.01:5;
y = sin(5*pi*t)+1./(cos(pi*t)+2;
plot(x,y)
axis([0,5,-1,2.5)
xlabel('t'),ylabel('y'),
grid on 

subplot(mnp)  %行列,第几个图像区域
ezplot(y,[a,b])  %符号函数

5.m文件

其中m文件由m函数文件和m脚本文件
m脚本文件就是由若干命令或函数的集合,用于执行特定的功能。m函数文件不同于脚本文件,是一种封装结构,通过外界提供输入量得到函数文件的输出结果。

6.流程控制

for循环结构 ,while循环,if分支结构,switch分支结构

for 循环变量 =初值:增量:终值
循环体
end

while 逻辑表达式
循环体
end

if  逻辑表达式
	程序模块1
elseif 逻辑表达式2 
	程序模块2
else 
	程序模块n
end

switch 表达式
	case 常量1 
		程序模块1
	case  常量2
		程序模块2
	otherwise 
		程序模块n
end

二、信号的matlab表示

1.典型型号的 表示

y=K*exp(a*t)
y=K*sin(w*t+phi)
y=K*e^(st)  
real()  imag()  abs()  angle()  %实部,虚部,模,相角
y=sinc(t)=sin(pi*t)/(pi*t)  %抽样信号!!!
y=rectpuls(t,width)  %幅度为1,宽度width,t=0为对称轴,
y=square(t,DUTY)  %DUTY占空比,周期2Π,幅值为t
y=tripuls(t,width,skew)  %幅度为1,宽度为width,以t=0为中心,width/2大小,斜度为skew的三角波,skew取值在-1到1
y=sawtooth(t,width) %周期为2Π,峰值为1的周期三角波或锯齿波信号,width是y最大值出现的位置,在0到1取值。
ft=(t>=0);  %阶跃信号 

2.实例学习


K=2;w=3;phi=pi/4;
t=0:0.01:3;
ft=K*cos(w*t+phi);
plot(t,ft),grid on;
axis([0,3,-3,3])
title('余弦信号')

t = -10:0.01:10;
ft = 2+exp(i*(pi/4)*t)+exp(i*(pi/2)*t);
subplot(2,2,1);plot(t,real(ft));title('实部');axis([-10,10,0,5]);grid on;
subplot(2,2,2);plot(t,imag(ft));title('虚部');axis([-10,10,-5,5]);grid on;
subplot(2,2,3);plot(t,abs(ft));title('模');axis([-10,10,0,5]);grid on;
subplot(2,2,4);plot(t,angle(ft));title('相角');axis([-10,10,-5,5]);grid on;

t=0:0.01:3;
y = square(2*pi*t,50);
plot(t,y),grid on;
axis([0,3,-1.2,1.2]);
title('周期方波信号')

总结

在信号与线性系统学到的函数可以通过matlab相对简单实现,在平时的学习中也起到很好的辅助作用。

标签:10,线性系统,运算,plot,matlab,信号,ft,pi
来源: https://blog.csdn.net/qq_45494369/article/details/111180189

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有