MATLAB仿真课后习题
第一章习题
3.请指出以下的变量名(函数名、M文件名)中,哪些是合法的?
Abc 2004x lil-1 wu_2004 a&b qst.u _xyz
解: 合法的变量名有:Abc wu_2004
4.指令窗操作
(1)求[12+2×(7-4)]÷32的运算结果
解:>> [12+2*(7-4)]/3^2
ans =
2
(2)输入矩阵A=[1,2,3;4,5,6;7,8,9],观察输出。
解:>> A=[1,2,3;4,5,6;7,8,9]
A =
1 2 3
4 5 6
7 8 9(3)输入以下指令,观察运算结果;
clear;x=-8:0.5:8;
y=x';
X=ones(size(y))*x;
Y=y*ones(size(x));
R=sqrt(X.^2+Y.^2)+eps;
Z=sin(R)./R;
mesh(X,Y,Z);
colormap(hot)
xlabel('x'),ylabel('y'),zlabel('z')
解:
7.指令行编辑
(1)依次键入以下字符并运行:y1=2*sin(0.3*pi)/(1+sqrt(5))
解:>>y1=2*sin(0.3*pi)/(1+sqrt(5))
y1 =
0.5000
(2)通过反复按键盘的箭头键,实现指令回调和编辑,进行新的计算;y2=2*cos(0.3*pi)/(1+sqrt(5))
解:>>y2=2*cos(0.3*pi)/(1+sqrt(5))
y2 =
0.3633
11.编写题4中(3)的M脚本文件,并运行之。
解:
第二章习题
1.在指令窗中键入x=1:0.2:2和y=2:0.2:1,观察所生成的数组。
解:>> x=1:0.2:2
x =
1.0000 1.2000 1.4000 1.6000 1.8000 2.0000
>> y=2:0.2:1
y =
Empty matrix: 1-by-0
2.要求在[0,2π]上产生50个等距采样数据的一维数组,试用两种不同的指令实现。
解: y1=0:2*pi/49:2*pi
y2=linspace(0,2*pi,50)
3.计算e-2tsint,其中t为[0,2π]上生成的10个等距采样的数组。
解:>> t=linspace(0,2*pi,10);
x=exp(-2*t).*sin(t)
x =
0 0.1591 0.0603 0.0131 0.0013 -0.0003 -0.0002 -0.0001 -0.0000 -0.0000
4.已知A= , B=,计算矩阵A、B乘积和点乘.
解:>> A=[1,2;3,4];
B=[5,6;7,8];
x=A*B
x =
19 22
43 50
>> x=A.*B
x =
5 12
21 32
5.已知A=,B=,计算A&B, A|B, ~A, A==B, A>B.
解:>> A=[0,2,3,4;1,3,5,0];
B=[1,0,5,3;1,5,0,5];
a1=A&B
a2=A|B
a3=~A
a4=(A==B)
a5=(A>B)
a1 =
0 0 1 1
1 1 0 0
a2 =
1 1 1 1
1 1 1 1
a3 =
1 0 0 0
0 0 0 1
a4 =
0 0 0 0
1 0 0 0
a5 =
0 1 0 1
0 0 1 0
7.将题5中的A阵用串转换函数转换为串B,再size指令查看A、B的结构,有何不同?
解:>> A=[0,2,3,4;1,3,5,0]
B=num2str(A)
size(A)
size(B)
A =
0 2 3 4
1 3 5 0
B =
0 2 3 4
1 3 5 0
ans =
2 4
ans =
2 10
第三章习题
1.已知系统的响应函数为,其中 ,要求用不同线型或颜色,在同一张图上绘制ε取值分别为0.2、0.4、0.6、0.8时,系统在t∈[0,18]