MATLAB仿真技术作业合集第1章习题5.利用直接输入法和矩阵编辑器创建矩阵A=⎥⎦⎤⎢⎣⎡642531。
解:⑴利用直接输入法输入程序A=[1 3 5;2 4 6]按Enter键后,屏幕显示A = 1 3 52 4 6⑵用矩阵编辑器创建矩阵,如图1.1所示。
图1.1 MATLAB编辑器7.用矩阵编辑器创建矩阵a,使a具有如下矩阵形式。
a=⎥⎦⎤⎢⎣⎡642531⇒a=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡654321⇒a=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡987654321⇒a=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡987654321⇒a=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡987654321解:用矩阵编辑器创建矩阵a的过程如图1.2、1.3、1.4、1.5、1.6所示。
图1.2 图1.3图1.4图1.5图1.69.已知矩阵B=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡92251811321191210221341614752315117,试:①提取矩阵B的第一行和第二行的第2、4、5个元素组成新矩阵1B;②提取矩阵B的第三行和第一行的全部元素组成新矩阵2B;③使矩阵B的第一行和第三行的第2;4个元素为0;④标出矩阵B的第一行中小于5的元素。
解:①如上题,用矩阵编辑器生成矩阵B,再输入程序B1=B([1,2],[2,4,5])按Enter键后,屏幕显示B1 = 0 0 155 14 16②输入程序B2=B([1,3],:)按Enter键后,屏幕显示B2 = 17 0 1 0 154 0 13 0 22③第一行和第三行的第2;4个元素原本就为0。
④输入程序如下C=B(1,:)<5; %将B矩阵第一行中小于5 的值标记为1D=B(1,C) %去B矩阵第一行中标为1的元素按Enter键后,屏幕显示D= 0 1 011.已知矩阵a为4阶魔方阵,令a+3赋值给b,a+b赋值给c,求b和c。
解:程序如下。
>> a=magic(4) %建立4阶魔方矩阵a = 16 2 3 135 11 10 89 7 6 124 14 15 1>> b=a+3 %将a中各元素加3b = 19 5 6 168 14 13 1112 10 9 157 17 18 4>> c=a+b %将a,b中对应元素相加c = 35 7 9 2913 25 23 1921 17 15 2711 31 33 513.已知A为3×3的均匀分布随机矩阵,B为3×2的均匀分布随机矩阵,C为2×3的均匀分布随机矩阵,求Q=C*A^2*B。
解:程序如下。
>> A=rand(3,3) %A为3×3的均匀分布随机矩阵A = 664/815 717/785 408/14651298/1433 1493/2361 1324/2421751/5914 694/7115 338/353>> B=rand(3,2) %B为3×2的均匀分布随机矩阵B = 687/712 581/607589/3737 614/12656271/6461 1142/1427>> C=rand(2,3) %C为2×3的均匀分布随机矩阵C = 689/4856 1065/1163 1966/2049407/965 61/77 3581/5461>> Q1=C*A^2*BQ1 = 1444/357 6485/15441263/311 699/16315.指出下列矩阵函数所实现的具体运算。
⑴A=rand(5);⑵B=rank(A);⑶C=eig(A);⑷D=sqrtm(A);⑸E=det(A)解:⑴A=rand(5)建立5x5的均匀分布随机矩阵;⑵B=rank(A)求A矩阵的秩;⑶C=eig(A)是求的A矩阵的全部特征值;⑷D=sqrtm(A)是按矩阵乘法的方式对A矩阵开平方根;⑸E=det(A)是求矩阵A的行列式。
17.利用MATLAB的roots函数求ƒ(x)=5x+44x+103x+162x+17x+12=0的根。
解:程序运行如下>> p=[1,4,10,16,17,12]p = 1 4 10 16 17 12>> x=roots(p)x = -1.6506-1.0000 + 1.4142i-1.0000 - 1.4142i-0.1747 + 1.5469i-0.1747 - 1.5469i19.画出一个幅度为2、频率为4Hz 、相位为3的正弦信号。
解:程序如下>> A=2;>> phi=pi/3;>> omega=2*pi/12;>> n=-10:10;>> x=A*sin(omega*n+phi);>> stem(n,x,'fill');>> grid on;运行结果如图1.7所示。
图1.7 离散正弦信号图第2章 习题1.系统的微分方程为'x (t)=-4x (t)+2u (t),其中u (t)是幅度为1、角频率为1rad/s 的方波输入信号,试建立系统的Simulink 模型并进行仿真。
解:利用模块库中的模块建立系统模型,如图2.1所示。
图2.1 求解微分方程的模型在Scope 窗口中看到仿真曲线如图2.2所示。
图2.2 仿真结果3.某单位反馈控制系统如图2.3(a)所示,引人反馈如图2.3(b)所示。
F ⊗ Y F ⊗ ⊗ _ _ _(a)控制系统结构图 (b)引人反馈后的控制系统结构图图2.3(1)在Simulink 环境下构建原始系统的结构图,输入阶跃信号,进行仿真,并对结果进行分析。
(2)在原系统中引人比例反馈,在Simulink 环境下构建引人比例反馈后的系统结构图,进行仿真,并对结果进行分析。
解:(1)在Simulink 环境下构建原始系统的结构图如图2.4所示,仿真结果如图2.5所示。
110+s s 1110+s s 1G(s)图2.4 仿真模型图2.5 仿真结果(2)在Simulink环境下构建引人比例反馈后的系统结构图如图2.6所示,仿真结果如图2.7所示。
图2.6 仿真模型图2.7 仿真结果5.使用Simulink仿真求下列系统的单位脉冲响应(Simulink中没有单位冲激信号模块,所以要利用阶跃信号模块经微分来产生)。
(1)H (s )=)5)(2()1(5+++s s s s (2)H (s )=115232++++s s s s 解:(1)建立的系统仿真模型如图2.8所示,仿真结果如图2.9所示。
图2.8 系统仿真模型图2.9 仿真结果(2)建立的系统仿真模型如图2.10所示,仿真结果如图2.11所示。
图2.10 系统仿真模型图2.11 仿真结果第3章习题2.利用信号处理模块库中的模块,构造并仿真信号:ƒ(n)=δ(n)+2u(n-1)-δ(n-3)解:图3.1 仿真框图选择模块搭建好的模型如图3.1所示。
接着设置各个模块的参数,Discrete Impulse模块参数如图3.2所示,Discrete Impulse1模块参数如图3.3所示,Buffer中Output Buffer Size设置为20,Gain模块Gain参数设为-1,Constant模块中Constant Value设为2,Delay模块中Delay参数设为1。
仿真结果如图3.4所示。
图3.2 Discrete Impulse模块参数图3.3 Discrete Impulse1模块参数图3.4 仿真结果5.设计一个巴特沃斯数字低通滤波器,使其满足:通带截止频率为0.4π,通带波纹小于0.5dB;阻带截止频率为06π,阻带最小衰减为50dB,试用FDAtool设计该数字滤波器,并生成脉冲响应曲线和频率响应曲线。
解:按3.5图设计滤波器参数。
图13.5 滤波器设计界面点击Impulse选项得到冲激响应曲线如图3.6所示。
图3.6 冲激响应频率响应曲线如图3.7所示。
图3.7 幅频特性和相频特性12.自行录入一段语言信号,并对其做4倍抽取运算,观测抽取前与抽取后的频谱变化。
解:选择模块构造仿真框图如图3.8所示。
图3.8 仿真模型框图在matlab工作空间输入命令[x,fs]=wavread('E:\yinyue\xuyong.wav');设置各个模块参数。
Buffer模块参数如图3.9所示。
Signal from work space参数如图3.10所示。
图3.9 Buffer参数设置图3.10 Signal from work space参数设置仿真结果如下:图3.11 仿真前图3.12 仿真后第4章习题2.对四进制差分相移键控(DPSK)通信系统进行建模和蒙特卡罗仿真。
解:程序如下:clear all;SNRindB1=0:2:12;SNRindB2=0:0.1:12;for i=1:length(SNRindB1)simu_err_prb(i)=snr2ps(SNRindB1(i)); %仿真误码率endfor i=1:length(SNRindB2)SNR=exp(SNRindB2(i)*log(10)/10);theo_err_prb(i)=2*qfunc(sqrt(SNR));endsemilogy(SNRindB1,simu_err_prb,'*');hold on;semilogy(SNRindB2,theo_err_prb);xlabel('Eb/N0(dB)');ylabel('误码率');legend('仿真符号误码率','理论符号误码率');function [p]=snr2ps(snr_in_dB)N=10000;Es=1;snr=10^(snr_in_dB/10);sigma=sqrt(Es/(4*snr));for i=1:2*Ntemp=rand;if (temp<0.5)dsource(i)=0;elsedsource(i)=1;endendmapping=[0 1 3 2];M=4;[diff_enc_output]=cm_dpske(Es,M,mapping,dsource);for i=1:N[n(1) n(2)]=gausamp(sigma);r(i,:)=diff_enc_output(i,:)+n;endnumoferr=0;prev_theta=0;for i=1:Ntheta=angle(r(i,1)+j*r(i,2));delta_theta=mod(theta-prev_theta,2*pi);if ((delta_theta<pi/4)|(delta_theta>7*pi/4))decis=[0 0];elseif (delta_theta<3*pi/4)decis=[0 1];elseif (delta_theta<5*pi/4)decis=[1 1];elsedecis=[1 0];endprev_theta=theta;if ((decis(1)~=dsource(2*i-1))|(decis(2)~=dsource(2*i))) numoferr=numoferr+1;endendp=numoferr/N;endfunction [enc_comp]=cm_dpske(E,M,mapping,sequence)k=log2(M);N=length(sequence);remainder=rem(N,k);if(remainder~=0)for i=N+1:N+k-remaindersequence(i)=0;endN=N+k-remainder;endtheta=0;for i=1:k:Nindex=0;for j=i:i+k-1index=2*index+sequence(j);endindex=index+1;theta=mod(2*pi*mapping(index)/M+theta,2*pi); enc_comp((i+k-1)/k,1)=sqrt(E)*cos(theta);enc_comp((i+k-1)/k,2)=sqrt(E)*sin(theta); endfunction [y1 y2]=gausamp(sigma)y1=sigma*randn(1);y2=sigma*randn(1);end运行结果如图4.1所示。