欢迎来到我的范文网!

matlab

自荐信 时间:2020-05-24

【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)

matlab求向量的模。

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

本文来源:http://www.myl5520.com/gerenjianli/107267.html

推荐内容