Matlab与通信仿真实验报告册答案
- 格式:doc
- 大小:762.00 KB
- 文档页数:63
实验1:上采样与内插一、实验目的1、了解上采样与内插的基本原理和方法。
2、掌握上采样与内插的matlab程序的设计方法。
二、实验原理上采样提高采样频率。
上采样使得周期降低M倍,即新采样周期Tu和原有采样周期Ts的关系是T u=T s/M,根据对应的连续信号x(t),上采样过程从原有采样值x(kT s)生成新采样值x(kT u)=x(kT s/M)。
操作的结果是在每两个采样值之间放入M-1个零值样点。
更实用的内插器是线性内插器,线性内插器的脉冲响应定义如下:上采样值x(kT u)=x(kT s/M)通过与线性内插器的脉冲响应的卷积来完成内插。
三、实验内容仿真正弦波采样和内插,通过基本采样x(k),用M=6产生上采样x u(k),由M=6线性内插得到样点序列x i(k)。
四、实验程序% File: c3_upsampex.mM = 6; % upsample factorh = c3_lininterp(M); % imp response of linear interpolatort = 0:10; % time vectortu = 0:60; % upsampled time vectorx = sin(2*pi*t/10); % original samplesxu = c3_upsamp(x,M); % upsampled sequencesubplot(3,1,1)stem(t,x,'k.')ylabel('x')subplot(3,1,2)stem(tu,xu,'k.')ylabel('xu')xi = conv(h,xu);subplot(3,1,3)stem(xi,'k.')ylabel('xi')% End of script file.% File: c3_upsample.mfunction out=c3_upsamp(in,M)L = length(in);out = zeros(1,(L-1)*M+1); for j=1:Lout(M*(j-1)+1)=in(j); end% End of function file.% File: c3_lininterp.m function h=c3_lininterp(M) h1 = zeros(1,(M-1)); for j=1:(M-1) h1(j) = j/M; endh = [0,h1,1,fliplr(h1),0]; % End of script file.四、 实验结果012345678910x0102030405060x u01020304050607080-11x i实验二:QPSK、16QAM信号的散点图、正交、同相分量波形图一、实验目的1、了解QPSK、16QAM调制的基本原理。
中国地质大学(武汉)通信原理matlab仿真报告姓名: 张彪_班号: 075112 _学号:20111002253院系:_机电学院专业:_通信工程指导教师:_赵娟老师联系方式:预留指导时间:1、选题为3.周期信号m(t),周期为2,在区间[0,2]内定义为:m(t)=t , 1=<t=<2;m(t)=2-t , 1=<t<=2。
(1)以时间间隔为0.1 的步长对此信号进行8 电平的均匀量化,画出量化输出波形;(2)求各量化点的量化误差,画出量化误差波形;(3)通过计算误差信号的功率,求该系统的SNRq(以dB 计)。
2、解题原理与思路模拟信号的取值范围:a~b,量化电平数=M则均匀量化时的量化间隔为:(b-a)/M且量化区间的端点mi=a+i v i=0,1,…,M 若量化输出电平qi取量化间隔的中点,则qi=[mi+m (i-1)]/2 i=1,2…,M .我的解题思路很简单,大致分为三部分,第一部分构造出题中所给的分段函数;第二部分自定义均匀量化函数,并一并写入计算信噪比等功能;第三部分将第一部分带入自定义函数并求出量化误差波形,最后输出波形,完成题目要求。
思路框图3、实验代码及注释:(1)分段函数的构造并代入自定义函数及求量化误差。
clear all;x1=0:0.1:1;y1=x1;x2=1:0.1:2y2=-x2+2;y3(1:11)=y1;y3(11:21)=y2; %构造出分段函数x=0:0.1:2;plot(x,y3); %输出分段函数w=juny(y3,1,8); %代入自定义函数求值plot(x,y3,x,w); %输出原波形与量化波形title('原波形与量化波形')figure(2)z=abs(y3-w); %求量化误差plot(x,z) %输出量化误差波形title('量化误差波形')(2)自定义函数:量化函数的实现function h=juny(f,v,L)%f是量化的信号序列%v是量化电平最大值%L是量化电平数n=length(f);t=2*v/L; %纵坐标取间隔p=zeros(1,L+1); %确定范围及初始化for i=1:L+1,p(i)=-v+(i-1)*t; %确定原信号抽样值endfor i=1:n %求量化值if f(i)>=v %在此范围内的量化取值(大于量化电平最大值时)h(i)=v;endif f(i)<=-v %在此范围内的量化取值(小于量化电平最小值时)h(i)=-v;endflag=0; %设立标志for j=2:L/2+1 %对量化电平数即纵坐标取半if flag==0if f(i)<p(j) %原信号与抽样信号循环比较h(i)=(p(j-1)+p(j))/2; %确定量化电平flag=1;endendendfor j=L/2+2:L+1 %另一部分的量化(同上)if flag==0if f(i)<p(j)h(i)=(p(j-1)+p(j))/2;flag=1;endendendendnq=v^2/(3*L^2); %计算量化噪声功率nq %显示量化噪声功率Am=2;snr=(3/2)*(Am/v)^2*L^2; %计算信噪比snr %显示信噪比snr=10*log(snr)/log(10); %将信噪比改为dB表示snr4、运行结果:运算结果:nq =0.0052 snr =384 snr =25.8433dB5、分析:在实验过程中出现许多问题,比如分段函数的构造写了一下午,本来是很简单,可以直接是一个三角函数,调用即可,不过如果是其他形式的分段函数就不能了,所以过程中用if 语句等等去做,不过都没做好,最后想起来用的这种方法构造的。
实验一:Matlab操作环境熟悉一、实验目的1.初步了解Matlab操作环境。
2.学习使用图形函数计算器命令funtool及其环境。
二、实验内容熟悉Matlab操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;学会使用who和whos命令查看内存变量信息;学会使用图形函数计算器funtool,并进行下列计算:1.单函数运算操作。
➢求下列函数的符号导数(1) y=sin(x);(2)y=(1+x)^3*(2-x);➢求下列函数的符号积分(1) y=cos(x);(2) y=1/(1+x^2);(3)y=1/sqrt(1—x^2);(4) y=(x-1)/(x+1)/(x+2);➢求反函数(1) y=(x—1)/(2*x+3);(2) y=exp(x);(3)y=log(x+sqrt(1+x^2));➢代数式的化简(1) (x+1)*(x—1)*(x—2)/(x—3)/(x-4);(2) sin(x)^2+cos(x)^2;(3)x+sin(x)+2*x—3*cos(x)+4*x*sin(x);2.函数与参数的运算操作。
➢从y=x^2通过参数的选择去观察下列函数的图形变化(1)y1=(x+1)^2(2)y2=(x+2)^2(3) y3=2*x^2(4)y4=x^2+2(5)y5=x^4(6)y6=x^2/23.两个函数之间的操作➢求和(1) sin(x)+cos(x)(2) 1+x+x^2+x^3+x^4+x^5➢乘积(1) exp(—x)*sin(x)(2)sin(x)*x➢商(1)sin(x)/cos(x);(2)x/(1+x^2);(3)1/(x-1)/(x-2);➢求复合函数(1) y=exp(u) u=sin(x)(2)y=sqrt(u) u=1+exp(x^2)(3)y=sin(u)u=asin(x)(4) y=sinh(u)u=—x三、设计提示1.初次接触Matlab应该注意函数表达式的文本式描述。
实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1) 0122sin851z e =+ (2) 221ln(1)2z x x =++,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦(3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=--(4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0.5:2.5 解: M 文件:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1) 运算结果:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)z1 =0.2375z2 =0.7114 - 0.0253i 0.8968 + 0.3658i0.2139 + 0.9343i 1.1541 - 0.0044iz3 =Columns 1 through 40.7388 + 3.1416i 0.7696 + 3.1416i 0.7871 + 3.1416i 0.7913 + 3.1416iColumns 5 through 80.7822 + 3.1416i 0.7602 + 3.1416i 0.7254 + 3.1416i 0.6784 + 3.1416iColumns 9 through 120.6196 + 3.1416i 0.5496 + 3.1416i 0.4688 + 3.1416i 0.3780 + 3.1416iColumns 13 through 160.2775 + 3.1416i 0.1680 + 3.1416i 0.0497 + 3.1416i -0.0771 + 3.1416iColumns 17 through 20-0.2124 + 3.1416i -0.3566 + 3.1416i -0.5104 + 3.1416i -0.6752 + 3.1416iColumns 21 through 24-0.8536 + 3.1416i -1.0497 + 3.1416i -1.2701 + 3.1416i -1.5271 + 3.1416iColumns 25 through 28-1.8436 + 3.1416i -2.2727 + 3.1416i -2.9837 + 3.1416i -37.0245 Columns 29 through 32-3.0017 -2.3085 -1.8971 -1.5978Columns 33 through 36-1.3575 -1.1531 -0.9723 -0.8083Columns 37 through 40-0.6567 -0.5151 -0.3819 -0.2561Columns 41 through 44-0.1374 -0.0255 0.0792 0.1766Columns 45 through 480.2663 0.3478 0.4206 0.4841Columns 49 through 520.5379 0.5815 0.6145 0.6366Columns 53 through 560.6474 0.6470 0.6351 0.6119Columns 57 through 600.5777 0.5327 0.47740.4126Column 610.3388z4 =0 0.2500 0 1.2500 1.0000 2.2500 2. 已知:求下列表达式的值:(1) A+6*B和A-B+I(其中I为单位矩阵)(2) A*B和A.*B(3) A^3和A.^3(4) A/B及B\A(5) [A,B]和[A([1,3],:);B^2]解:M 文件:A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7]; A+6.*BA-B+eye(3)A*BA.*BA^3A.^3A/BB\A[A,B][A([1,3],:);B^2]运算结果:A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7]; A+6.*BA-B+eye(3)A*BA.*BA^3A.^3A/BB\A[A,B][A([1,3],:);B^2]ans =18 52 -1046 7 10521 53 49ans =12 31 -332 8 840 67 1ans =68 44 62309 -72 596154 -5 241ans =12 102 468 0 2619 -130 49ans =37226 233824 48604247370 149188 60076678688 454142 118820 ans =1728 39304 -6439304 343 65850327 274625 343 ans =16.4000 -13.6000 7.600035.8000 -76.2000 50.200067.0000 -134.0000 68.0000109.4000 -131.2000 322.8000-53.0000 85.0000 -171.0000-61.6000 89.8000 -186.2000ans =12 34 -4 1 3 -134 7 87 2 0 33 65 7 3 -2 7ans =12 34 -43 65 74 5 111 0 1920 -5 403. 设有矩阵A和B(1) 求它们的乘积C。
实验项目及学时安排实验一 MATLAB环境的熟悉与基本运算 2学时实验二 MATLAB数值计算实验 2学时实验三 MATLAB数组应用实验 2学时实验四 MATLAB符号计算实验 2学时实验五 MATLAB的图形绘制实验 2学时实验六 MATLAB的程序设计实验 2学时实验七 MATLAB工具箱Simulink的应用实验 2学时实验八 MATLAB图形用户接口GUI的应用实验 2学时实验一 MATLAB环境的熟悉与基本运算一、实验目的1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算二、实验基本知识1.熟悉MATLAB环境:MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。
2.掌握MATLAB常用命令3.MATLAB变量与运算符变量命名规则如下:(1)变量名可以由英语字母、数字和下划线组成(2)变量名应以英文字母开头(3)长度不大于31个(4)区分大小写MATLAB中设置了一些特殊的变量与常量,列于下表。
MATLAB运算符,通过下面几个表来说明MATLAB的各种常用运算符4.MATLAB的一维、二维数组的寻访表6 子数组访问与赋值常用的相关指令格式5.MATLAB的基本运算表7 两种运算指令形式和实质内涵的异同表6.MATLAB的常用函数表8 标准数组生成函数表9 数组操作函数三、实验内容1、学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说明,学习使用指令eye(其它不会用的指令,依照此方法类推)2、学习使用clc、clear,观察command window、command history和workspace等窗口的变化结果。
3、初步程序的编写练习,新建M-file,保存(自己设定文件名,例如exerc1、exerc2、exerc3……),学习使用MA TLAB的基本运算符、数组寻访指令、标准数组生成函数和数组操作函数。
电子信息学院《MATLAB与通信仿真》实验指导书刘紫燕编写适用专业:通信工程贵州大学二O一四年二月前言本课程是通信工程专业的选修课程。
课程内容包含MATLAB的基本操作、MATLAB程序设计、函数文件、MATLAB的图形和数据处理、SIMULNK的基本应用及其在通信工程中的应用等。
通过本课程的学习,掌握MATLAB软件使用和编程方法,验证和深化书本知识,从而加强基础知识,掌握基本技能,提高MATLAB软件的编程能力,并用MATLAB软件解决通信工程专业中的实际问题,同时,针对通信工程专业的特点,要求学生掌握使用MATLAB来研究和开发与本专业相关的系统的方法。
本课程设置5个实验,均为设计性实验。
建议实验学时为12学时。
实验一是MATLAB软件的基本操作;实验二是MATLAB程序设计;实验三是MATLAB的图形绘制;实验四是MATLAB的数据处理;实验五是MATLAB/Simulink在电路中的仿真设计。
每个实验2个小时左右,为了使学生更好的掌握实验内容,学生务必要做到以下几点:(1)实验前认真预习实验。
明确实验目的,熟悉实验内容,理论分析实验结果,编写相应的程序代码,并撰写出预习报告。
(2)实验过程中积极思考,深入分析命令、程序的执行过程和执行结果,对比理论分析结果,分析评判实验结果,并把实验中出现的问题及解决方法记录下来。
(3)实验完成后,总结本次实验有哪些收获,还存在什么问题,撰写并提交最终的实验报告。
本指导书实验项目和要求明确,学生容易着手实验并得出实验结果。
本实验指导书适用于通信工程专业。
目录实验一MATLAB的基本操作 (1)实验二MATLAB程序设计 (9)实验三MATLAB的图形绘制 (12)实验四MATLAB的数据处理 (14)实验五MATLAB/Simulink在电路中的仿真设计 (16)实验报告的基本内容及要求 (23)贵州大学实验报告 (24)实验一 MATLAB 的基本操作实验学时:2实验类型:设计实验要求:必做一、实验目的1、 熟悉MATLAB 的界面功能和基本操作;2、 掌握MATLAB 的基本运算方法;3、 掌握MATLAB 的矩阵运算方法;4、 掌握MATLAB 中帮助命令的使用方法。
第四章、
2、仿真一个三角波信号通过AWGN信道后的结果,分别用randn函数和awgn函数实现。
3、修改例题4.7中的Tx模块采用BPSK基带调制,重新仿真,观察仿真结果与4.7有何不同?
4、产生最大多普勒频移为120的多径瑞丽衰落信道,假设信号的抽样时间间隔为1/100000s,多径延迟为[0 6e-5 11e-5],各经增益为[0 -3 -6],所有路径的接收信号强度之和为0,画出信道的功率随时间变化曲线。
一、简答题:(3X10)
1.教师专业发展的内容
2.教师专业发展的阶段
3.教师专业发展的途径
4.教育研究的基本步骤
5.简述教育与政治经济发展的关系
6.简述全面发展的内容
7.如何运用记忆规律,促进知识保持
8.简述影响问题解决的因素
9.简述马斯洛需要层次理论
10.简述四种不同气质类型的特征,并针对不同气质类型如何指导
11.影响课程开发的主要因素
12.简述新课改下教师教学观的改变
13.简述新课改结构的主要内容
14.人的身心发展规律及其对教育的影响
15.小学生心理发展的特点
16.简述学生学习的特点
17.建构主义学习观
18.简述德育过程的基本规律
19.说服教育法的含义和要求
20.简述美育的任务
21.班集体的基本特征
22.班主任如何组织和培养班集体
23.小学班主任应该具备的基本素养
24.先进生、中等生和后进生各有什么样的心理特点?班主任应该如何进行个别教育
25.小学教学的基本任务
26.简述教学课程的基本规律
27.讲授法的基本要求
28.教学实施的环节
29.简述上好一堂课的标准。
实验一 MATLAB 运算基础1.先求下列表达式的值,然后显示 MATLAB 工作空间的使用情 况并保存全部变量解:4.完成下列操作:(1) 求[100,999] 之间能被21整除的数的个数。
(1) z i 2sin 85° 1 e 2Z 2 卯(x L),其中x2 0.45 2i 5Z 3 0.3a 0.3a e e 2sin (a 0.3)3.0, 2.9,L ,2.9, 3.0 Z 4t 2t 2 t 2 1 2t 其中 t=0:0.5:2.5(2) 建立一个字符串向量,删除其中的大写字母。
解: (1)结果:m=100:999;n=fin d(mod(m,21)==0);len gth( n)ans =43(2).建立一个字符串向量例如:ch二'ABC123d4e56Fg9:则要求结果是: ch二'ABC123d4e56Fg9:k=fi nd(ch>='A'&ch<='Z'); ch(k)=[] ch =123d4e56g9 实验二MATLAB 矩阵分析与处理1.设有分块矩阵A E 3 3 °2 3 R 3 2S 2 2 ,其中E 、R 、0、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证A 2 E R RS 0 S 22 3 4 1 1 1 3 4 5 1 1 1 4 5 6 x , 0.95 x 2 0.67 x 3 0.52(1) 求方程的解。
(2) 将方程右边向量元素 b 3改为0.53再求解,并比较 b 3的变化和解的相对变化。
(3)计算系数矩阵A 的条件数并分析结论。
解:M 文件如下: 解:M 文件如下; 5.下面是一个线性方程组:实验三选择结构程序设计1. 求分段函数的值。
x2x 6 x 0且x 3y x2 5x 6 0 x 5且x 2 及x 3x2x 1 其他用if语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0 时的y值。
matlab实验报告答案篇一:参考答案Matlab实验报告实验一Matlab基础知识一、实验目的:1. 熟悉启动和退出Matlab的方法。
2. 熟悉Matlab命令窗口的组成。
3. 掌握建立矩阵的方法。
4. 掌握Matlab各种表达式的书写规则以及常用函数的使用。
二、实验内容:1. 求[100,999]之间能被21整除的数的个数。
(rem)2. 建立一个字符串向量,删除其中的大写字母。
(find)3. 输入矩阵,并找出其中大于或等于5的元素。
(find)4. 不采用循环的形式求出和式i?1三、实验步骤:? 求[100,199]之间能被21整除的数的个数。
(rem)1. 开始→程序→Matlab2. 输入命令:?m=100:999;?p=rem(m,21);?q=sum(p==0)ans=43? 建立一个字符串向量,删除其中的大写字母。
(find)1. 输入命令:?263i的数值解。
(sum)?k=input( ’,’s’);Eie48458DHUEI4778?f=find(k =’A’ k =’Z’);f=9 10 11 12 13?k(f)=[ ]K=eie484584778? 输入矩阵,并找出其中大于或等于5的元素。
(find)1. 输入命令:?h=[4 8 10;3 空间。
2. 熟悉M文件与M函数的编写与应用。
3. 熟悉Matlab的控制语句。
4. 掌握if,switch,for等语句的使用。
二、实验内容:1. 根据y=1+1/3+1/5+??+1/(2n-1),编程求:y 5时最大n值以及对应的y值。
2. 编程完成,对输入的函数的百分制成绩进行等绩转换,90~100为优,80~89为良,70~79为中,60~69为及格。
2x2?10?5,并分别求3. 编写M函数文件表示函数x=12和56时的函数值。
x2?x?6;x?0且x?3y?x2?5x?6;0?x?5且x?3及x?22x?x?1;其它,并求4. 编程求分段函数输入x=[-5.0,-3.0,1.0,2.0,2.5,3.0,3.5]时的输出y。
MATLAB教程实验报告实验项目名称实验一 Matlab基本操作学生姓名汪德旺专业班级 09数教(1)班学号 0301090131实验成绩日期一. 实验目的和要求1、了解MATLAB 的开发环境。
2、熟悉Matlab的基本操作。
3、掌握建立矩阵的方法。
4、掌握MATLAB各种表达式的书写规则以及常用函数的使用。
5、填写实验报告,实验报告文件取名为report1.doc。
6、于邮件附件形式将实验报告文件report1.doc 发到邮箱*******************,邮件主题为班级学号姓名,如:09数教1班15号张三。
二、实验内容1、先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。
(1)0 122sin851ze =+(2)2212 1ln(0.4552i z x x+⎡⎤==⎢⎥-⎣⎦其中(3)0.30.330.3sin(0.3)ln,22a ae e az a--+=++a=-3.0,-2.9,-2.8,…, 2.8, 2.9,3.0(4)2242,011,12,0:0.5:2.521,23t tz t tt t t⎧≤<⎪=-≤<=⎨⎪-+≤<⎩其中t2.已知:1234413134787,2033657327 A B--⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求下列表达式的值:(1)A+6*B和A-B+I(其中I为单位矩阵) (2)A*B和A.*B(3)A^3和A.^3(4)A/B和B\A(5)[A,B]和[A([1,3],:);B^2]3、设有矩阵A 和B123453016678910A=,B=17-691112131415023-41617181920970212223242541311⎡⎤⎢⎥⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎢⎥⎢⎥⎣⎦(1)求它们的乘积C 。
(2)将矩阵C 的右下角3*2子矩阵赋给D 。
(3)查看MATLAB 工作空间的使用情况。
MATLAB通信系统仿真实验报告实验一、MATLAB的基本使用与数学运算目的:学习MATLAB的基本操作,实现简单的数学运算程序。
内容:1-1 要求在闭区间[0,2π]上产生具有10个等间距采样点的一维数组。
试用两种不同的指令实现。
运行代码:x=[0:2*pi/9:2*pi]运行结果:1-2 用M文件建立大矩阵xx=[ 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.91.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.92.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.93.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9]代码:x=[ 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.91.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.92.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.93.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9]m_mat运行结果:1-3已知A=[5,6;7,8],B=[9,10;11,12],试用MATLAB分别计算A+B,A*B,A.*B,A^3,A.^3,A/B,A\B.代码:A=[5 6;7 8] B=[9 10;11 12] x1=A+B X2=A-B X3=A*B X4=A.*B X5=A^3 X6=A.^3 X7=A/B X8=A\B运行结果:1-4任意建立矩阵A,然后找出在[10,20]区间的元素位置。
程序代码及运行结果:代码:A=[12 52 22 14 17;11 10 24 03 0;55 23 15 86 5 ] c=A>=10&A<=20运行结果:1-5 总结:实验过程中,因为对软件太过生疏遇到了些许困难,不过最后通过查书与同学交流都解决了。
例如第二题中,将文件保存在了D盘,而导致频频出错,最后发现必须保存在MATLAB文件之下才可以。
实验一(1)单位脉冲序列n=0:10;ns=3;x1n=[(n-ns)==0];subplot(221)stem(n,x1n)(2)单位阶跃序列n=0:10;ns=3;x2n=[(n>=ns)];subplot(222);stem(n,x2n)(3)复指数序列a=-0.2;w=0.5;n=0:10;xn=[n>=0];x3n=xn.*exp((a+j*w).*n); real=real(x3n);imag=imag(x3n);subplot(223);stem(n,real)subplot(224);stem(n,imag)(4)差分方程b=[3,7,1];a=[1,0.1,0.15,-0.225];n=1:20;u=exp(0.1.*n);y=filter(b,a,u);stem(n,y)实验二:1.序列的相加和相乘 ny=-2:8;x1=[0 1 2 3 4 3 2 1 0 0 0]; x2=[0 0 0 0 2 2 0 0 0 -2 -2]; ya=x1+x2;%序列的相加 yp=x1.*x2;%序列的相乘%绘图,画出x1,a2,ya,yp 的离散图 subplot(221); stem(ny,x1) subplot(222); stem(ny,x2) subplot(223); stem(ny,ya) subplot(224); stem(ny,yp)-551001234nyx 1-5510-2-1012nyx 2-5510-20246nyy a-551002468nyy p2.序列的移位和周期延拓运算 N=24; M=8; m=3;n=0:N-1;R8n=[ones(1,8),zeros(1,16)]; %矩形序列,补零拓展至24位 xn=(0.8.^n).*R8n;%原序列 subplot(221) stem(n,xn)R8nn=[zeros(1,3),ones(1,8),zeros(1,13)]; xnm=(0.8.^(n-3)).*R8nn; %右移3位 subplot(222); stem(n,xnm)xn8=xn(mod(n,8)+1); %周期延拓 subplot(223); stem(n,xn8)xm8=xn(mod(n-m,8)+1); %循环移位 subplot(224); stem(n,xm8)10203000.51nx n01020300.51nx n m10203000.51nx n 的周期延拓01020300.51nx n 的循环移位实验四:1.LTI 系统的卷积 dt=0.5;u=ones(1,10);h=exp(-0.1*[1:15]); y=conv(u,h); subplot(311);stem(0:length(u)-1,u) subplot(312);stem(0:length(h)-1,h) subplot(313);stem(dt*([1:length(y)]-1),y)012345678900.51u024********00.51h024681012510c o n v (u ,h )2.离散序列的卷积计算 N=20;n=0:N-1;xn1=[.9.^n,zeros(1,20)];hn1=[ones(1,10),zeros(1,10)]; Xm=zeros(1,34) for i=1:34xn2(i+5)=xn1(i); endhn2=hn1;yn1=conv(xn1,hn1); yn2=conv(xn2,hn2);subplot(3,2,1),stem(0:length(xn1)-1,xn1); subplot(3,2,2),stem(0:length(xn2)-1,xn2); subplot(3,2,3),stem(0:length(hn1)-1,hn1); subplot(3,2,4),stem(0:length(hn2)-1,hn2); subplot(3,2,5),stem(0:length(yn1)-1,yn1); subplot(3,2,6),stem(0:length(yn2)-1,yn2);010********.5101020304000.510510152000.510510152000.51020406005100204060510实验六:有限序列的Z 变换和逆Z 变换 1.有限序列的Z 变换 x1=[1,2,3]; x2=[2,4,3,5]; n=-3:2;x=conv(x1,x2);2.有限序列的逆Z 变换.x=[2,4,3,5,zeros(1,10)]; BW=-3;AW=[2,-2.2,0.5]; y=filter(BW,AW,x); stem(0:length(y)-1,y) x=conv(x1,x2) x =2 8 17 23 19 15024********-25-20-15-10-5有限序列的逆Z 变换实验七 离散傅里叶变换DFT N1=16;n=0:N1-1; R16=[ones(1,16)];x1=exp(j*pi*n/8).*R16;%复正弦序列x1序列的产生 x2=cos(pi*n/8).*R16;%余弦序列x2的产生 x3=sin(pi*n/8).*R16; %正弦序列x3的产生 x1K=fft(x1,N1);%x1的16点DFT x2K=fft(x2,N1); %x2的16点DFT x3K=fft(x3,N1); %x3的16点DFT subplot(331)stem(n,real(x1),'.');title('x1(n)');ylabel('x1(n)'); hold on%使得两个图形画在一起stem(n,imag(x1));title('x1(n)');ylabel('x1(n)'); subplot(332)stem(n,x2,'.');title('x2(n)');ylabel('x2(n)'); subplot(333)stem(n,x3,'.');title('x3(n)');ylabel('x3(n)'); subplot(334)stem(n,abs(x1K),'.');title('16点DTFx1(n)'); subplot(335)stem(n,abs(x2K),'.');title('16点DTFx2(n)'); subplot(336)stem(n,abs(x3K),'.');title('16点DTFx3(n)'); N2=8;n1=0:N2-1; R8=[ones(1,8)];x11=exp(j*pi*n1/8).*R8; %复正弦序列x11序列的产生 x22=cos(pi*n1/8).*R8; %余弦序列x22的产生x33=sin(pi*n1/8).*R8; %正弦序列x33的产生x4K=fft(x11,N2); %x11的8点DFTx5K=fft(x22,N2); %x22的8点DFTx6K=fft(x33,N2); %x33的8点DFTsubplot(337)stem(n1,abs(x4K),'.');title('8点DTFx1(n)'); subplot(338)stem(n1,abs(x5K),'.');title('8点DTFx2(n)'); subplot(339)stem(n1,abs(x6K),'.');title('8点DTFx3(n)');实验九香农公式的分析echo on;pn0_db=[-20:0.1:30];pn0=10.^(pn0_db./10);capacity1=3000*log2(1+pn0/3000);pause;clf;semilogx(pn0,capacity1)title('capacity vs .P/N0 in an AWGN Channel'); xlabel('P/N0');ylabel('Capacity (bits/second)');3.echo on;pn0_db=25;pn0=10.^(pn0_db./10);w=0:10.^5;capacity=w.*log2(1+pn0./w); pause;clf;semilogx(w,capacity)xlabel('w');ylabel('Capacity (bits/second)');实验十双边带(DSB)调制clc;clear all;close all;t0=.15;ts=.001;fc=250;fs=1/ts;t=[0:ts:t0];%message signalm=[ones(1,t0/(3*ts)),-2*ones(1,t0/(3*ts)),zeros(1,t0/(3*ts)+1)]; c=cos(2*pi*fc.*t);u=m.*c;subplot(311)plot(t,m(1:length(t)));xlabel('time');title('the messge signal');subplot(312);plot(t,c(1:length(t)));xlabel('time');title('the carrier');subplot(313);plot(t,u(1:length(t)));xlabel('time');title('the modulated signal');M=fft(m);M=fftshift(M);figure subplot(211); plot(t,abs(M)) U=fft(u);U=fftshift(U); subplot(212); plot(t,abs(U))。
MATLAB仿真课后习题答案MATLAB仿真课后习题答案第一章1.要求在闭区间[0,2Π]上产生具有10个等间距采样点的一维数组。
试用两种不同的指令实现。
解答:方法1:a=0:2*pi/9:2*pi方法2:a1=linspace(0,2*pi,10)4.任意建立矩阵A,然后找出在[10,20]区间的元素的位置。
解答:A=[4,15,-45,10,6;56,0,17,-45,0]A =4 15 -45 10 656 0 17 -45 0>> find(A>=10&A<=20)ans =367第二章M文件的2种形式:命令文件和函数文件。
命令文件没有输入输出参数,执行时只需在命令窗口中键入文件名回车即可;而函数文件是一条以function语句作为引导。
即文件的第一行为function[返回参数1,返回参数2,…]=函数名(输入参数1,输入参数2,…)。
这一行的有无是区分命令文件与函数文件的重要标志。
函数文件可以接受输入变量,还可以返回输出变量,执行时需在命令窗口中以固定格式调用函数方可。
习题22-1.编写程序,建立向量N=[1,2,3,4,5],然后利用向量N产生下列向量:(1) 2,4,6,8,10(2) 1/2, 1, 3/2, 2, 5/2(3) 1, 1/2, 1/3, 1/4, 1/5(4) 1, 1/4, 1/9, 1/16, 1/25解答:>> N1=2*N >> N2=N/2 >> N3=1./N >> N4=1./N.^2 2-2从键盘输入一个3位数的整数,将它反向输出。
如输入639,输出936。
输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。
其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。
要求:(1)分别用if语句和switch语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
Matlab 与通信仿真34.0000 22.0000 62.00001. 在Command Window 里面计算_7 8 914 5 6,计算:C = AxB,D =A + B,A C,C/B ; 12 3>> a=[1 2 3;4 5 6;7 8 9]; >> b=[7 8 9;4 5 6;1 2 3]; >> c=a*b c =18 24 30 5469 84 90114138>> d=a+b d =8 10 12 8 10 12 81012>> e=a\cWarning: Matrix is close to singular or badly scaled.Results may be inaccurate. RCOND = 1.54 佃76e-018.(1) (3 5 8)- 5 10 ;>>(3+5+8)/5*10 ans=32>>sin(3*pi)/sqrt(9/5) ans=2.7384e-161 2 3(3)A= 4 5 6 ,B 78 9JMatlab 与通信仿真-50.0000-23.0000 -100.0000 28.0000 16.000056.0000>> f=c/bWarning: Matrix is singular to working precision.NaN NaN NaNNaN -Inf Inf NaNNaNNaN3 1.2 4(4) A= 7.5 6.6 3.1,求A :A, A ;(求矩阵的行列式)5.4 3.46.1 _>> a=[3 1.2 4;7.5 6.6 3.1;5.4 3.4 6.1]; >> a' ans =2.1555 0.4555 -1.6449 -2.1040-0.2393 1.5013 -0.7354-0.26980.7833>> det(a) ans =13.78803.0000 1.20004.0000>> inv (c )7.5000 6.6000 3.10005.4000 3.40006.1000Matlab 与通信仿真1 2 0 0 0(5) Z =『+2i 站如I 输入复数矩阵;§+6i 7 + 8i>> z=[1+2*i 3+4*i;5+6*i 7+8*i] 1.0000 + 2.0000i 3.0000 + 4.0000i 5.0000 + 6.0000i7.0000 + 8.0000i1 2川23 HI2.建立.m 文件,用for 循环语句生成5>5的矩阵A :* ..■fa ri H *RF弓 6 III>> a=zeros(5); for m=1:5for n=1:5 a(m,n)=m+n-1 end end1 0 0 0 0a = 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0直翻转得到矩阵 B 和C 。
实验二1、用Matlab模拟图形A律解码⑴Matlab程序代码:①建立函数ADecode()function y=ADecode(code,n) codesize=size(code);cr_len=codesize(1);cl_len=codesize(2);ca=zeros(1,cl_len-1);for i=1:cr_lenca=code(i,2:n);s=0;for j=1:n-1s=s+ca(j)*2^(n-1-j);enda=code(i,1);y(i)=s*((-1)^(a+1)); endy=y/(2^(n-1));A=87.6;A1=1+log(A);for j=1:length(y)if(y(j)>=0)if(y(i)<=1/A1)y(j)=y(j)*A1/A;elsey(j)=exp(y(j)*A1-1/A);endelsetemp=-y(j);if(temp<=1/A1)y(j)=-temp*A1/A;elsey(j)=-exp(temp*A1-1)/A;endendend②建立函数APCM()function code=APCM(x,n)xmax=max(abs(x));x=x/xmax;xlen=length(x);y=zeros(1,xlen);A=87.6;A1=1+log(A);for i=1:xlenif x(i)>=0if x(i)<=1/Ay(i)=(A*x(i))/A1;elsey(i)=(1+log(A*x(i)))/A1;endelsex1=-x(i);if x1<=1/Ay(i)=-(A*x1)/A1;elsey(i)=-(1+log(A*x1))/A1;endendendy1=y*(2^(n-1)-1);y1=round(y1);code=zeros(length(y1),n); c2=zeros(1,n-1);for i=1:length(y1)if(y1(i)>0)c1=1;elsec1=0;y1(i)=-y1(i);endfor j=1:n-1r=rem(y1(i),2);y1(i)=(y1(i)-r)/2;c2(j)=r;endc2=fliplr(c2);code(i,:)=[c1 c2];实验三1、用Matlab模拟双极性归零码⑴ Matlab程序代码:function y=drz(x)t0=300;x=[1 0 0 1 1 0 0 0 0 1 0 1];t=0:1/t0:length(x);for i=1:length(x);if(x(i)==1)for j=1:t0/2y(t0/2*(2*i-2)+j)=1;y(t0/2*(2*i-1)+j)=0;endelsefor j=1:t0/2y(t0/2*(2*i-2)+j)=-1;y(t0/2*(2*i-1)+j)=0;endendendy=[y,x(i)];M=max(y);m=min(y); subplot(211)plot(t,y);grid on;axis([0,i,m-0.1,M+0.1]);title('1 0 0 1 1 0 0 0 0 1 0 1 ');⑵Matlab仿真结果:2、用Matlab产生2FSK信号⑴ Matlab程序代码:①建立函数fskdigital()function fskdigital(s,f1,f2) t=0:2*pi/99:2*pi;m1=[];c1=[];b1=[];for n=1:length(s)if s(n)==0;m=ones(1,100);c=sin(f2*t);b=zeros(1,100) else s(n)==1;m=ones(1,100);c=sin(f1*t);b=ones(1,100)endm1=[m1 m]; c1=[c1 c]; b1=[b1 b]; endfsk=c1.*m1;subplot(211);plot(b1,'r')title('原始信号');axis([0 100*length(s) -0.1 1.1]);grid on;subplot(212);plot(fsk)title('2FSK信号');⑵仿真结果:①三角波原图②用矩形波近似的冲击函数③分解后的三角波④经低通还原的三角波。
实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1) 0122sin 851z e =+(2) 21ln(2z x =,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=--L (4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0.5:2.5 解:4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。
解:(1) 结果:(2). 建立一个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。
解: M 文件如下;5. 下面是一个线性方程组:1231112340.951110.673450.52111456x x x ⎡⎤⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦(1) 求方程的解。
(2) 将方程右边向量元素b 3改为0.53再求解,并比较b 3的变化和解的相对变化。
(3) 计算系数矩阵A 的条件数并分析结论。
解: M 文件如下: 123d4e56g9实验三 选择结构程序设计1. 求分段函数的值。
2226035605231x x x x y x x x x x x x ⎧+-<≠-⎪=-+≤<≠≠⎨⎪--⎩且且及其他用if 语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y 值。
软件实训报告姓名:学号:班级:指导教师:时间:2014年8月21-2014年8月301.实训总结时光荏苒,岁月如梭,为期一个多星期的MATLAB实训已经结束,虽然时间很短,但我还是从中学到了很多,对MATLAB有了一定的了解。
我觉得想要学好MATLAB是不容易的,这是一件需要持之以恒的事,必须要坚持不懈的学习,还需要敢于开口向别人请教,更需要我们勤于思考,勤于记忆,勤于动手。
程序设计是实践性和操作性很强的事情,需要我们亲自动手。
因此,在以后的学习中我们应该经常自己动手实际操作设计程序,熟悉MATLAB的操作,这对提高我们的操作能力非常有效。
MATLAB是一种高级工程计算语言和交互式计算环境,可用于算法开发,数据可视化,数据分析,数值计算等。
使用MATLAB,可以解决比其它编程语言(C,C++,FORTRAN)更快的解决工程计算问题,MATLAB用途非常广泛,如信号、图像处理,通信,控制系统设计,金融建模与分析。
MATLAB是一个基于矩阵运算的软件,它的运算功能非常强大,编程效率高,强大而智能化的作业图功能,可扩展性强,SIMULIINK动态仿真功能,主要用于仿真、验证、算法思想是否正确。
在十天时间里我们学习了MATLAB基本操作包括:数值计算,绘制函数曲线,多项式,程序设计,其中:数据及其用算包括:数据类型与变量,矩阵的创建与寻址,矩阵的基本运算,字符串等知识。
其中让我很佩服的就是Help是MATLAB 中最有效的命令。
遇到问题,通常都可以借助help解决问题。
在实训期间我们学习力MATLAB基本操作包括:数值计算,绘制函数曲线,多项式,程序设计,其中:数据及其用算包括:数据类型与变量,矩阵的创建与寻址,矩阵的基本运算,字符串;程序设计有:M文件,程序控制结构,函数文件,程序举例,这些都让我对这个软件强大的功能深深的佩服。
在此次的实训中我感觉到我们最大的不足就是动手的能力太差,有时候遇到困难就轻易放弃,在学习过程中我们要有好的学习心态,看到很多同学不轻易放弃,向老师请教问题,让我深深地意识到我们之间的学习态度有多大的差距,虽然在实训是短暂的,可是我所体会到的对我以后的学习将会有很大的影响,我想在大四以后的生活过程中,实训的经历会让我更加有动力,更能坚定信念:坚持、努力。
1.在Command Window里面计算(1)(358)510++÷⨯; >>(3+5+8)/5*10 ans=32(2)sin(3)π >>sin(3*pi)/sqrt(9/5) ans=2.7384e-16(3)123456789A⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,789456123B⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,计算:,,\,/C A BD A B A C C B=⨯=+;>> a=[1 2 3;4 5 6;7 8 9];>> b=[7 8 9;4 5 6;1 2 3];>> c=a*bc =18 24 3054 69 8490 114 138>> d=a+bd =8 10 128 10 128 10 12>> e=a\cWarning: Matrix is close to singular or badly scaled.Results may be inaccurate. RCOND = 1.541976e-018.e =34.0000 22.0000 62.0000-50.0000 -23.0000 -100.000028.0000 16.0000 56.0000>> f=c/bWarning: Matrix is singular to working precision.f =NaN NaN NaNNaN -Inf InfNaN NaN NaN(4)3 1.247.5 6.6 3.15.4 3.46.1A⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,求1,,A A A-';(求矩阵的行列式)>> a=[3 1.2 4;7.5 6.6 3.1;5.4 3.4 6.1]; >> a'ans =3.0000 7.5000 5.40001.2000 6.6000 3.40004.0000 3.1000 6.1000>> inv(c)c =2.1555 0.4555 -1.6449-2.1040 -0.2393 1.5013-0.7354 -0.2698 0.7833>> det(a)ans =13.7880(5)12345678i iZi i++⎡⎤=⎢⎥++⎣⎦,输入复数矩阵;>> z=[1+2*i 3+4*i;5+6*i 7+8*i] or>>z=[1 3;5 7]+[2 4;6 8]i z =1.0000 +2.0000i3.0000 +4.0000i5.0000 +6.0000i7.0000 +8.0000i2.建立.m文件,用for循环语句生成5×5的矩阵A:125236569⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦,将A矩阵进行水平和垂直翻转得到矩阵B和C。
将A矩阵的前3行,3列变成0并赋值给D。
>> a=zeros(5);for m=1:5for n=1:5a(m,n)=m+n-1endenda =1 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 0a =1 2 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0a =1 2 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0a =1 2 3 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0a =1 2 3 4 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0a =2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0a =1 2 3 4 52 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0a =1 2 3 4 52 3 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0a =1 2 3 4 52 3 4 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 01 2 3 4 52 3 4 5 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0a =1 2 3 4 52 3 4 5 63 0 0 0 0 0 0 0 0 0 0 0 0 0 0a =1 2 3 4 52 3 4 5 63 4 0 0 0 0 0 0 0 0 0 0 0 0 0a =1 2 3 4 52 3 4 5 63 4 5 0 0 0 0 0 0 0 0 0 0 0 0a =1 2 3 4 52 3 4 5 63 4 5 6 0 0 0 0 0 0 0 0 0 0 0a =1 2 3 4 52 3 4 5 63 4 5 6 7 0 0 0 0 0 0 0 0 0 0a =1 2 3 4 52 3 4 5 63 4 5 6 74 0 0 0 0 0 0 0 0 0a =1 2 3 4 52 3 4 5 63 4 5 6 74 5 0 0 0a =1 2 3 4 52 3 4 5 63 4 5 6 74 5 6 0 0 0 0 0 0 0a =1 2 3 4 52 3 4 5 63 4 5 6 74 5 6 7 0 0 0 0 0 0a =1 2 3 4 52 3 4 5 63 4 5 6 74 5 6 7 8 0 0 0 0 0a =1 2 3 4 52 3 4 5 63 4 5 6 7a =1 2 3 4 52 3 4 5 63 4 5 6 74 5 6 7 85 6 0 0 0a =1 2 3 4 52 3 4 5 63 4 5 6 74 5 6 7 85 6 7 0 0a =1 2 3 4 52 3 4 5 63 4 5 6 74 5 6 7 85 6 7 8 0a =1 2 3 4 52 3 4 5 65 6 7 8 9c=flipud(a)c =5 6 7 8 9 4 5 6 7 8 3 4 5 6 7 2 3 4 5 6 1 2 3 4 5 d=fliplr(a)d =5 4 3 2 16 5 4 3 27 6 5 4 38 7 6 5 49 8 7 6 5 >> d=a;>> d(1:3,1:3)=0d =0 0 0 4 5 0 0 0 5 6 0 0 0 6 7 4 5 6 7 8建立的m文件a=zeros(5)for m=1:5for n=1:5a(m,n)=m+n-1endendd=a;d(1:3,1:3)=0建立的m文件,存盘时,不能存成1.m。
不运行,运行就为1.我存为mydesign.m默认工作目录是work文件夹edit pathdef 改路径最后一句加上cd d:\matlabBFile---Set path3.建立.m文件,随机产生一个5×5的矩阵,元素值为从0到255,要求用0和255对该矩阵进行标记,元素值大于等于128的标记为255,元素值小于128的标记为0。
a=255*rand(5);a =193.2237 180.0418 209.9817 111.8798 124.8899189.4988 8.1174 177.1813 97.2974 113.6245100.0179 70.6154 80.8604 195.2068 164.8098167.1469 11.7737 242.3066 202.7760 180.888043.6526 24.7686 8.7838 47.6525 192.4451a=255*rand(5);for i=1:5for j=1:5if a(i,j)>128a(i,j)=255;elsea(i,j)=0 end end enda =*********** 255 0 255 0 0 *********** 255 255 255 0 255 ***********4.编写程序使用0.618搜索法(即:近似黄金分割法)求给定函数的极值。
搜索法求解min ()t t ϕ≥的基本过程如下:给出[a,b],使得t 在[a,b]中,其中[a,b]称为搜索区间,通过迭代缩短[a,b]的长度。
当[a,b]的长度小于某个预设的值,或者导数的绝对值小于某个预设的正数,则迭代终止。
以函数3min ()21t t t t ϕ≥=-+作为处理对象,其中搜索区间定为[0,3],精度ε定为0.1。
图1-1 程序流程图b=3;er=0.5;while(1)m=a+0.382*(b-a); n=a+0.618*(b-a); p=m^3-2*m+1;q=n^3-2*n+1;if p<=qif n-a<ermbreak; elseb=n;endelseif b-m<ernbreak; elsea=m;endendn =0.8753实验二 绘图和确知信号分析实验1.假设N=12,对于M=4、5、7、10时,在0≤n≤2N -1区间使用plot 和stem 分别绘制信号)2sin(][NnM n x M π=,并添加适当标注。
clc;clear;M=[4,5,7,10]; N=12; n=0:2*N-1; for i=1:length(M) xn=sin(2*pi*M(i)*n/N); subplot(length(M),1,i) plot(n,xn); hold on ; stem(n,xn,'r'); s=int2str(M(i)) title(['M=' s]); endclc,clear; N=12; M=[4,5,7,10]; n=0:2*N-1;y1=sin(2*pi*M(1)*n/N); y2=sin(2*pi*M(2)*n/N); y3=sin(2*pi*M(3)*n/N); y4=sin(2*pi*M(4)*n/N); subplot(221)plot(n,y1);title('M=4');xlabel('n');ylabel('y1'); subplot(222)plot(n,y2);title('M=5');xlabel('n');ylabel('y2'); subplot(223)plot(n,y3);title('M=7');xlabel('n');ylabel('y3'); subplot(224)plot(n,y4);title('M=10');xlabel('n');ylabel('y4'); figure subplot(221)stem(n,y1);title('M=4');xlabel('n');ylabel('y1'); subplot(222)stem(n,y2);title('M=5');xlabel('n');ylabel('y2'); subplot(223)stem(n,y3);title('M=7');xlabel('n');ylabel('y3'); subplot(224)stem(n,y4);title('M=10');xlabel('n');ylabel('y4');2.设周期信号一个周期[0,T]的波形为()1,0/20/2t T s t T t T≤≤⎧=⎨<≤⎩,,其中T=1。