【www.myl5520.com--自荐信】
MATLAB绘制典型型号波形
篇一:matlab求向量的模
一.实验目的
1. 通过实验熟悉MATLAB仿真软件的使用方法;
2. 掌握用MATLAB对常用信号(连续信号和离散信号)进行时域、频域、s域以及z域的分析方法,利用绘图命令绘制出典型信号的波形,了解这些信号的基本特征;
3. 通过绘制信号运算结果的波形,了解这些信号运算对信号所起的作用。
二.实验设备
1. 计算机
2. MATLAB R2007a仿真软件
三.实验原理
1.连续时间信号的表示及可视化
所谓连续时间信号,是指自变量的取值范围是连续的,且对于一切自变量的取值。在MATLAB中连续信号可用向量或符号运算功能来表示。
(1)向量表示法:对于连续时间信号f(t),我们可以用两个行向量f和t来表示,其中向量t是形如t?t1:p:t2的MATLAB命令定义的时间范围向量,t1为信号起始时间,t2为终止时间,p为时间间隔。向量f为连续信号f(t)在向量t所定义的时间点上的样值。然后用plot命令来绘出该信号的时域波形。plot命令可将点与点间用直线连接,当点与点间的距离很小时,绘出的图形就成了光滑曲线。
(2)符号运算表示法:如果信号可以用一个符号表达式来表示它,则我们可用ezplot命令绘制出信号的波形。
2.离散时间信号的表示及可视化
一般说来,离散时间信号用f(n)表示,其中变量n为整数,代表离散的采样时间点。序列f(n)可表示为移位加权的形式,在MATLAB中可用stem命令绘图。
3.连续系统的冲激响应、阶跃响应及MATLAB实现
对LTI连续系统,设其输入信号为f(t),冲激响应为h(t),零状态响应为y(t),则有:
y(t)?f(t)?h(t)
即h(t)包含了连续系统的固有特性,与系统的输入无关。我们只要知道了系统的冲激响应,即可求得系统在不同输入时产生的输出。MATLAB中求连续系统冲激响应可应用控制系统工具箱提供的函数impulse以及求阶跃响应可利用函数step,其调用形式为:
y?impulse(sys,t)
y?step(sys,t)
式中,t表示计算系统响应的抽样点向量,sys是LTI系统模型。
4.利用MATLAB求LTI连续系统的零状态响应
LTI连续系统可用如下所示的线性常系数微分方程来描述,
?ayi
i?0N(i)(t)??bjf(j)(t) j?0M
如果系统的输入信号及初始状态已知,可用微分方程的经典时域求解方法,求出系统的响应。MATLAB的函数lism函数能对上述微分方程描述的LTI连续系统的响应进行仿真。lsim()函数调用形式为:
y?lsim(sys,f,t)
式中,t表示计算系统响应的抽样点向量,f是系统输入信号向量,sys是LTI系统模型,用来表示微分方程、差分方程、状态方程。在求解微分方程时,sys要借助MATLAB中的tf函数来获得,其调用形式为:
sys?tf(b,a)
式中,b和a分别为微分方程右端和左端各项的系数向量。
四.实验内容及步骤
1、上机实验前,认真阅读实验原理,掌握连续系统响应的MATLAB实现的方法。
2、利用MATLAB相关命令实现以下实验内容。matlab求向量的模。
波形以及源程序:
(1)已知f1(t)=-3k2-5k,f2(t)=4k+3,利用MATLAB计算卷积f1(t)*f2(t)
⑵某连续系统的频率响应为:H(jw)=4(jw)+2/(jw)3+5(jw)2+6(jw)+1 利用MATLAB绘出该系统的幅频响应|H(jw)|和相频响应
(3)已知信号f(t)=G4(t),利用MATLAB实现其傅里叶变换。 原程序如下:
(4) 已知两个离散序列f1(k)={1,3,3,3},f2(k)={1,2,3,3,4},利用MATLAB绘出原信号及其卷积f(k)=f1(k)*f2(k)。
源程序如下:
matlab习题二答案
篇二:matlab求向量的模
习题二
1.选择题
(1)下列变量名中是合法的。
A. char_1,i,j B. x*y,a.1 C. x\y,a1234 D. end,lbcx
说明:end是关键字,变量名中不能有运算符、标点符号,可以有下划线。内置常量可以作为变量名,但一般不提倡这样做。
(2)下列是合法常量。
A. 3*e10 B. 1e500 C. -1.85e-56 D. 10-2 说明:10-2是表达式,1e500超过了realmax,3*e10也是表达式。
(3)x=uint8(2.3e10),则x所占的字节是个。
A. 1 B. 2 C. 4
(4)已知x=0:10,则x有个元素。
A. 10 B. 11 C. 9
(5)产生对角线上为全1其余为0的2行3列矩阵的命令是。
A. ones(2,3) B. ones(3,2) C. eye(2,3) D. 8 D. 12 D. eye(3,2)
?1
?(6)已知数组a?4?
??7
A. 所有元素 2583??6,则a(:,end)是指。 ?9??B. 第一行元素 C. 第三列元素 D. 第三行元素
?1
?(7)已知数组a?4?
??7
A. a变成行向量
C. a数组为3行2列 2583??6,则运行a(:,1)=[]命令后。 ?9??B. a数组为2行2列 D. a数组中没有元素3
?1
?(8)已知数组a?4?
??72583??6,则运行mean(a)命令是。 ?9??
B. 计算a每列的平均值
D. a数组增加一列平均值 A. 计算a每行的平均值 C. a数组增加一行平均值
(9)已知x为一个向量,计算ln(x)的MATLAB命令是计算。
A. ln(x) B. log(x) C. Ln(x) D. lg10(x)
(10)当a=2.4,使用取整函数计算得出3,则该取整函数名为。
A. fix B. round C. ceil D. floor
(11)已知a=0:4,b=1:5,下面的运算表达式出错的为。
A. a+b B. a./b C. a'*b D. a*b
(12)命令day(now)是指。
A. 按照日期字符串格式提取当前时间 B. 提取当前时间
C. 提取当前时间的日期 D. 按照日期字符串格式提取当前日期
(13)以下运算符中哪个的优先级最高。
A. * B. ^ C. ~= D. |
(14)运行命令bitand(20,15)的结果是。
A. 15 B. 20 C. 4 D. 5 bitand(20,15)
ans =
4
(15)使用检测函数isinteger(15)的结果是。
A. 1 B. 0 C. false
isinteger(15)
ans =
(16)计算三个多项式s1、s2和s3的乘积,则算式为。
A. conv(s1,s2,s3) B. s1*s2*s3 C. conv(conv(s1,s2),s3) D. conv(s1*s2*s3)
2.复数变量a=2+3i,b=3-4i,计算a+b,a-b,c=a*b,d=a/b,并计算变量c的实部、虚部、模和相角。
a=2+3i;b=3-4i;
a+b
a-bmatlab求向量的模。
c=a*b
d=a/b
real(c)
imag(c)
abs(c)
angle(c)
ans =
5.0000 - 1.0000i
ans =
-1.0000 + 7.0000i
c =
18.0000 + 1.0000i
d =
-0.2400 + 0.6800i
ans =
18
ans =
1
ans =
18.0278
ans =
0.0555
3.用“from:step:to”方式和linspace函数分别得到从0~4π步长为0.4π的变量x1和从0~4π分成10点的变量x2。
x1=0:0.4*pi:4*pi D. true
x2=linspace(0,4*pi,10)
x1 =
Columns 1 through 10
0 1.2566 2.5133 3.7699 5.0265 6.2832
7.5398 8.7965 10.0531 11.3097
Column 11
12.5664
x2 =
0 1.3963 2.7925 4.1888 5.5851 6.9813
8.3776 9.7738 11.1701 12.5664
?1
?4.输入矩阵a?4?
??72583??6,使用全下标方式取出元素“3”,使用单下标方式取出元素?9??
3?
?。 9??1“8”,取出后两行子矩阵块,使用逻辑矩阵方式取出??7
a=[1 2 3;4 5 6;7 8 9]
a(1,3)
a(6)
a(2:3,:)
a([1,3],[1,3])
a =
1 2 3
4 5 6
7 8 9
ans =
3
ans =
8
ans =
4 5 6
7 8 9
ans =
1 3
7 9
5.输入a为3×3的魔方阵,b为3×3的单位阵,并将a、b小矩阵组成3×6的大矩阵c和6×3的大矩阵d,将d矩阵的最后一行取出构成小矩阵e。
a=magic(3)
b=eye(3)
c=[a,b]
d=[a;b]
d(end,:)matlab求向量的模。
a =
8 1 6
3 5 7
4 9 2
b =
1 0 0
0 1 0
0 0 1
c =
8 1 6 1 0 0 3 5 7 0 1 0 4 9 2 0 0 1 d =
8 1 6
3 5 7
4 9 2
1 0 0
0 1 0
0 0 1
ans =
0 0 1
?1
?6.将矩阵a?4?
??7
a=a'
flipud(a)
fliplr(a)
rot90(a)
diag(a)
triu(a)
tril(a)
a = 2583??6用flipud、fliplr、rot90、diag、triu和tril函数进行操作。 ?9??a=reshape(1:9,3,3);
1 2 3
4 5 6
7 8 9
ans =
7 8 9 4 5 6 1 2 3 ans =
3 2 1 6 5 4 9 8 7 ans =
3 6 9 2 5 8 1 4 7 ans =
1
5
9
ans =
1 2 3 0 5 6 0 0 9 ans =
1 0 0 4 5 0 7 8 9
?17.求矩阵??5
a'
rank(a)
inv(a)
det(a)
a^3
ans = 3??的转置、秩、逆矩阵、矩阵的行列式值和矩阵的三次幂。 8?a=[1 3;5 8];
1 5 3 8 ans =
2
ans =
-1.1429 0.4286 0.7143 -0.1429 ans =
-7
16matlab关于一个字符串向量处理问题
篇三:matlab求向量的模
建立一个字符串向量,然后对该向量做如下处理:
(1) 取第1~5个字符组成的子字符串。
(2) 将字符串倒过来重新排列。
(3) 将字符串中的小写字母变成相应的大写字母,其余字符不变。
(4) 统计字符串中小写字母的个数。
程序:
clear all
clc
str='matrix laboratory';
a=size(str,2)
str1=str(1:5)
str2=str(a:-1:1)
cnt=0;
for i=1:a
if str(i)>='a'&str(i)<='z'
str(i)=str(i)-32;
cnt=cnt+1;
end
end
str
cnt
结果:
a =
17
str1 =
matri
str2 =
yrotarobal xirtam
str =
MATRIX LABORATORY
cnt =
16
方法二:
clear all
clc
ch='ABc123d4e56Fg9';
subch=ch(1:5)
revch=ch(end:-1:1)
k=find(ch>='a'&ch<='z');
ch(k)=ch(k)-('a'-'A');
char(ch)
length(k)
结果: subch = ABc12 revch =
9gF65e4d321cBA ans =
ABC123D4E56FG9 ans =
4