2016南邮matlab软件设计报告

合集下载

南邮MATLAB软件设计

南邮MATLAB软件设计

通信与信息工程学院2015 / 2016 学年第 2 学期软件设计实验报告模块名称MATLAB软件设计专业通信工程学生班级B130102学生学号B13010229学生姓名郭智超指导教师孟田甜报告内容一、要求练习的实验部分1.题目:在时间区间 [0,10]中,绘出t e y t2cos 15.0--=曲线。

程序代码:t=0:0.02:10;y=1-exp((-0.5)*t).*cos(2*t); plot(t,y,'b'); xlabel('time');ylabel('amplitude'); title('figure 1'); grid实验结果:24681000.511.5timea m p l i t u d efigure 12.题目:写出生成如图E2-1所示波形的MATLAB 脚本M 文件。

图中虚线为正弦波,要求它的负半波被置零,且在23处被削顶。

程序代码:t=linspace(0,10,500); %产生线性间隔的向量(在0-10之间取500点)y=sin(t); a=sin(pi/3); z=(y>=0).*y;z=(y>=a).*a+(y<a).*z; plot(t,y,':r');hold on; %保持当前图形 plot(t,z,'b-') xlabel('t'); ylabel('z=f(t)');title('逐段解析函数');legend('y=sin(t)','z=f(t)',4); %确定向量长度 axis([0 10 -1.2 1.2]); %限定坐标轴范围 hold off; grid实验结果:24681001tz =f (t )逐段解析函数3.题目: 令⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321A ,运行 [U,S,V]=svd(A);tol=S(1,1)*3*eps; 然后回答以下问题: (1) sum(diag(S)>tol) - rank(A) 是多少 ?(2) S(1,1) - norm(A) = 0 是多少 ?(3) sqrt(sum(diag(S*S))) - norm(A,'fro') 的结果是什么 ?(4) S(1,1)/S(3,3) - cond(A) 的结果是什么 ?(5) S(1,1)*S(2,2)*S(3,3) - det(A) < tol 的运行结果是什么? (6) V(:,1)'*null(A) 得到什么结果 ?(7) abs(A*null(A)) < tol 得到什么结果 ? (8) U(:,1:2) = = orth(A) 的运行结果是什么 ?程序:A=[1 2 3;4 5 6;7 8 9][U,S,V]=svd(A);tol=S(1,1)*3*epssum(diag(S)>tol) - rank(A) S(1,1) - norm(A)sqrt(sum(diag(S*S))) - norm(A,'fro') S(1,1)/S(3,3) - cond(A)S(1,1)*S(2,2)*S(3,3) - det(A) < tol V(:,1)'*null(A)abs(A*null(A)) < tol U(:,1:2) == orth(A)运行结果:(1) sum(diag(S)>tol) - rank(A) 的结果是0 (2) S(1,1) - norm(A) = 0的结果是0(3) sqrt(sum(diag(S*S))) - norm(A,'fro') 的结果是3.5527e-015 (4) S(1,1)/S(3,3) - cond(A) 的结果是 -8(5) S(1,1)*S(2,2)*S(3,3) - det(A) < tol 的结果是1 (6) V(:,1)'*null(A) 的结果是 0(7) abs(A*null(A)) < tol 的结果是1;1;1(8) U(:,1:2) = = orth(A) 的结果是 [1 1 ;1 1 ;1 1] 4.题目:求积分dt t x⎰0]sin[cos ,π20≤≤x 。

南京邮电大学软件设计实验报告

南京邮电大学软件设计实验报告

软件设计报告( 2014 / 2015 学年第二学期)课程名称软件设计指导老师赵江实习时间第十八周学生姓名学号____学院______专业软件设计课程编号:B0465011C适用专业:班级:一、所涉及的课程及知识点涉及的课程:第6学期之前的专业基础课程。

知识点:专业基础课程中所学的知识点。

二、目的与任务目的:通过软件设计,培养学生的实践能力和创新精神,加强学生对专业基础课程的理解和掌握,加强学生高级语言编程能力、应用软件以及仿真能力。

任务:选择以下任一模块进行设计:Matlab软件仿真、C语言及应用。

软件设计的内容题目1:如果给出两个矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=136782078451220124A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=087654321B ,执行下面的矩阵运算命令。

(1)B A *5+和I B A +-分别是多少(其中I 为单位矩阵) (2)B A *⋅和B A *将分别给出什么结果,它们是否相同为什么 逻辑功能程序:function [ ] = EXP1()A=[4,12,20;12,45,78;20,78,136]; B=[1,2,3;4,5,6;7,8,0]; I=eye(3); disp('A+5*B='); disp(A+5*B); disp('A-B+I=') disp(A-B+I); disp('A.*B='); disp(A.*B) disp('A*B='); disp(A*B); End 实验过程与结果打开matlab ,在命令窗口“Command Window ”中键入edit,启动程序编辑器。

输入完整程序后利用save as 储存为M 文件,文件名为EXP1。

返回主界面,在命令窗口“Command Window”中输入函数EXP1(),按下回车,得到程序运行结果如下:>> EXP1( )A+5*B=9 22 3532 70 10855 118 136A-B+I=4 10 178 41 7213 70 137A.*B=4 24 6048 225 468140 624 0A*B=192 228 84738 873 3061284 1518 528实验结果分析(1)利用MATLAB提供的disp函数既可以输出表达式、数值,也可以输出字符串,其调用方式为:disp(表达式或数值)、disp(‘待显示字符串’);(2)在MATLAB的矩阵运算中,+、-运算符通用,表示矩阵相加、减;*与.*不同在于*表示矩阵乘法,而.*表示矩阵对应位置元素相乘,所以*要求两个矩阵的行、列数互为转置,而.*则要求两个矩阵行、列数要相同;(3)使用eye可以获得单位矩阵函数(矩阵对角线处元素为1,其余元素为0),矩阵的阶数由括号内的值决定,格式为eye(n),n为矩阵阶数。

《MATLAB软件设计》实验报告

《MATLAB软件设计》实验报告

《MATLAB 软件设计》实验报告学院:&&&&&&&学院 学号:!!!!! 姓名:****1、写代码实现或填空(5分):(1)将矩阵123456789876⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦赋给变量a ;a=[1,2,3,4;,5,6,7,8;9,8,7,6;](2)将a 的第二行赋给变量b ;b=a(2,:)(3)将a 的第三列赋给变量c ;c=a(:,3)(4)a(2,3)=([7]);(5)a(1:2,2:3)=(⎥⎦⎤⎢⎣⎡7362);2、(35分)写代码段示意:从文本读入数据,用所读入数据绘制二维曲线图,二维伪彩色图,给所做图形添加标注,图例,色标,文本等,并用所学句柄绘图内容对图形进行精细修改。

x=load('as.txt');z=rand(12,7);y=[1:12]pcolor(x,y,z);Shading flat;shading interp;xlabel('x');ylabel('y');legend('sth');h6=colorbar;title('伪色彩图');h1=xlabel('x');set(h1,'string','x 轴','color',[1 0 1],'fontsize',11);h2=ylabel('y');set(h2,'string','y 轴','color',[1 0 1],'fontsize',11);set(gcf,'color',[0.4 0.3 0.7]);set(gca,'box','off');set(gca,'xlim',[0 50],'ylim',[0 10]);set(gca,'yscale','log','xscale','linear');set(gca,'xtick ',0:20:50);H=uicontrol(gcf,'Style','pushbutton','Position',[10 5 100 25],'string','关闭','CallBack','close','min',-90,'max',90,'value',10)3、(5分)结合代码段x=(1:10)/10*2*pi; y=sin(x); h1=plot(x,y);xlabel('x(km)');的执行结果填空或回答问题:(1) 获得h1的父对象句柄的指令为( f=get(h,’parent ’)),此父对象为( f =151.0012 );(2)利用句柄h1修改曲线的线型为虚线、宽度为20、颜色为红色;set(h1,'color',[1 0 0]);set(h1,'LineWidth',[20]);set(h1,'LineStyle','--');(3)获得X 轴标注的句柄h2;h2=xlabel('x(km)')(4)利用句柄h2修改X 轴的标注为distance(km),字体颜色为红色;set(h2,'String','distance(km)');set(h2,'color',[1 0 0]);4、(5分)排列下列对象的层次关系:menu, pushbutton, axes, line, figure, root menuUicontrol ——pushbuttonRoot ——figure -Axes ——line5、(15分)编写代码段示意分支结构和循环结构的用法。

matlab软件设计实验报告(各源程序均运行无误)

matlab软件设计实验报告(各源程序均运行无误)

南京邮电大学通信学院软件课程设计实验报告模块名称:__ MATLAB软件设计___专业班级:_____ 通信2班______姓名:___ _ ______学号:____ __ _____实验日期: 2012 年 3月5 日实验报告日期: 2012年 3月8 日1.在时间区间 [0,10]中,绘出t e y t2cos 15.0--=曲线。

程序close all clc clear t=0:0.1:10;y=1-exp((-0.5)*t).*cos(2*t); plot(t,y,'r-'); shg 运行结果:2. 写出生成如图E2-1所示波形的MA TLAB 脚本M 文件。

图中虚线为正弦波,要求它的负半波被置零,且在23处被削顶。

程序:close all clc cleart=linspace(0,3*pi,500); y=sin(t); a=sin(pi/3); z=(y>=0).*y;z=(y>=a).*a+(y<a).*z; plot(t,y,':r');hold on ; plot(t,z,'b-')xlabel('t'),ylabel('z=f(t)'),title('') legend('y=sin(t)','z=f(t)',4),hold off运行结果:3. 令⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321A ,运行 [U,S,V]=svd(A);tol=S(1,1)*3*eps; 然后回答以下问题: 程序:close all clc clearA=[1 2 3;4 5 6;7 8 9]; [U,S,V]=svd(A); tol=S(1,1)*3*eps; sum(diag(S)>tol)-rank(A) S(1,1)-norm(A)sqrt(sum(diag(S*S)))-norm(A,'fro') S(1,1)/S(3,3)-cond(A)S(1,1)*S(2,2)*S(3,3)-det(A)<tol V(:,1)'*null(A)V(:,1)'*null(A)U(:,1:2)=orth(A)(1)sum(diag(S)>tol) - rank(A) 是多少?ans =(2)S(1,1) - norm(A) = =0 是多少?ans =1(3)sqrt(sum(diag(S*S))) - norm(A,'fro') 的结果是什么?ans =(4)S(1,1)/S(3,3) - cond(A) 的结果是什么?ans =(5)S(1,1)*S(2,2)*S(3,3) - det(A) < tol 的运行结果是什么?ans =1(6)V(:,1)'*null(A) 得到什么结果?ans =-5.5511e-017(7)abs(A*null(A)) < tol 得到什么结果?ans =111(8)U(:,1:2) = = orth(A) 的运行结果是什么?ans =1 11 11 14. 求积分dt t x⎰]sin[cos ,π20≤≤x 。

南邮MATLAB上机实验

南邮MATLAB上机实验

实验一:MATLAB语言平台与SIMULINK工具箱一、目的与任务1.学习了解MATLAB语言环境;2.练习MATLAB命令;4.掌握SIMULINK工具箱的应用。

二、内容与要求1.实验内容(1)学习了解MATLAB语言环境;(2)练习MATLAB命令的基本操作;(3)掌握SIMULINK仿真环境的使用方法;(4) 掌握线性系统仿真常用基本模块的用法2.要求按照实验文档的要求与步骤完成实验,撰写实验报告。

三、实验基本知识:1.熟悉MATLAB环境:MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。

2.掌握MATLAB常用命令3.了解SIMULINK模块库中各子模块基本功能四、上机练习1.学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说明,学习使用指令eye(其它不会用的指令,依照此方法类推)>> help eyeEYE Identity matrix.EYE(N) is the N-by-N identity matrix.EYE(M,N) or EYE([M,N]) is an M-by-N matrix with 1's onthe diagonal and zeros elsewhere.EYE(SIZE(A)) is the same size as A.EYE with no arguments is the scalar 1.EYE(M,N,CLASSNAME) or EYE([M,N],CLASSNAME) is an M-by-N matrix with 1'sof class CLASSNAME on the diagonal and zeros elsewhere. Example:x = eye(2,3,'int8');See also speye, ones, zeros, rand, randn.Reference page in Help browserdoc eye>> D=eye(3)D =1 0 00 1 00 0 12.任意创建3个变量,分别为数值、矩阵、字符串,保存到mydat.mat文件,再把my_data.mat文件中的变量读取到MatLab工作空间内;查找已创建变量的信息,删除变量;学习使用clc、clear,观察command window、command history和workspace等窗口的变化结果。

matlab课程设计报告书

matlab课程设计报告书

matlab课程设计报告书目录1.内容描述................................................2 1.1 报告背景与意义.........................................21.2 报告编制依据与范围.....................................32.设计目标与要求..........................................4 2.1 设计目标...............................................52.2 设计要求...............................................63.系统需求分析............................................7 3.1 功能需求...............................................8 3.2 性能需求..............................................103.3 可用性需求............................................114.系统设计概述...........................................12 4.1 设计思路..............................................134.2 设计内容..............................................145.系统详细设计...........................................15 5.1 系统架构设计..........................................16 5.1.1 前端界面设计........................................17 5.1.2 后端逻辑设计........................................19 5.2 数据结构设计..........................................215.3 算法设计..............................................235.4 控制流程设计..........................................256.系统实现...............................................266.1 开发环境搭建..........................................286.2 程序编码实现..........................................296.3 调试与测试............................................317.系统测试与评估.........................................327.1 测试环境与方法........................................347.2 功能测试..............................................357.3 性能测试..............................................367.4 用户满意度调查........................................378.结论与展望.............................................398.1 设计总结..............................................408.2 不足之处与改进方向....................................418.3 未来工作展望..........................................421. 内容描述本报告书旨在详细阐述MATLAB课程设计的整体框架、设计目标、关键问题以及解决方案,以期为后续的课程学习和实践提供参考。

南京邮电大学matlab软件设计.doc

南京邮电大学matlab软件设计.doc

南京邮电大学matlab软件设计南京邮电大学通信学院软件课程设计实验报告模块名称___MATLAB软件设计专业班级__通信工程_17班姓名____张步涛__ ____ 学号___ _10001018 实验日期2013年6 月1728日实验报告日期2013 年7 月 1 日一、要求练习的实验部分1.在时间区间[0,10]中,绘出曲线。

程序t00.110; y1-exp-0.5*t.*cos2*t; plott,y, r- ; shg 结果2. 写出生成如图E2-1所示波形的MATLAB脚本M文件。

图中虚线为正弦波,要求它的负半波被置零,且在处被削顶。

程序tlinspace0,3*pi,500; ysint; asinpi/3; zy0.*y; zya.*aytol - rankA 是多少(2)S1,1 - normA 0 是多少(3)sqrtsumdiagS*S - normA, fro 的结果是什么(4)S1,1/S3,3 - condA 的结果是什么(5)S1,1*S2,2*S3,3 - detA tol - rankA,求a asumdiagStol - rankA disp 设bS1,1 - normA,求 b bS1,1 - normA disp 设csqrtsumdiagS*S - normA, fro ,求c csqrtsumdiagS*S - normA, fro disp 设dS1,1/S3,3 - condA,求 d dS1,1/S3,3 - condA disp 设eS1,1*S2,2*S3,3 - detA tol - rankA,求a a 0 设bS1,1 - normA,求b b 0 设csqrtsumdiagS*S - normA, fro ,求c c 3.5527e-015 设dS1,1/S3,3 - condA,求 d d -8 设eS1,1*S2,2*S3,3 - detA tol - rankA 的结果是0;(2)S1,1 - normA 0 的结果是0;(3)sqrtsumdiagS*S - normA, fro 的结果是3.5527e-015;(4)S1,1/S3,3 - condA 的结果是-8;(5)S1,1*S2,2*S3,3 - detA wavread Error using wavread Data compression format IMA ADPCM is not supported. 我在查阅了很多资料,在网上也查阅相关信息,花费了大量时间也没找出结果,最后发现在WAV格式的语音文件有两种格式,即PCM格式和IMA ADPCM格式,而在MATLAB中用wavread函数进行语音处理时,并不能直接处理IMA ADPCM格式的语音信号,经过格式转换之后(选择PCM格式),我们运行出了正确的结果。

MATLAB设计实践报告要点甄选范文

MATLAB设计实践报告要点甄选范文

MATLAB设计实践报告要点《 MATLAB 实践》课程设计学生姓名:学号:专业班级:指导教师:二○一二年六月目录1. 设计目的 (3)2. 题目分析 (3)2.1课程设计的基本要求 (3)2.2要求实现功能 (3)3、总体设计 (4)3.1总体界面外观 (4)3.2菜单栏 (4)4、具体设计 (5)4.1文件 (5)4.2特殊处理 (6)4.3灰度图像处理 (7)4.4图像的常用操作 (8)4.5快捷工具 (17)5、结果分析 (19)6、心得体会 (19)7、参考书目 (20)8、附录 (20)1、设计目的综合运用MATLAB工具箱实现图像处理的GUI程序设计,设计和实现自己的Photoshop。

2、题目分析○1课程设计的基本要求1)熟悉和掌握MATLAB 程序设计方法2)掌握MATLAB GUI 程序设计3)学习和熟悉MATLAB图像处理工具箱4)学会运用MATLAB工具箱对图像进行处理和分析○2要求实现功能1)图像的读取和保存。

2)设计图形用户界面,让用户能够对图像进行任意的亮度和对比度变化调整,显示和对比变换前后的图像。

3)设计图形用户界面,让用户能够用鼠标选取图像感兴趣区域,显示和保存该选择区域。

4)编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域进行放大和缩小整数倍的操作,并保存,比较几种插值的效果。

5)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。

6)为图像添加边框特效,并保存。

信息化社会中,计算机在各种信息处理中发挥着重要的作用。

我们可以借助计算机,对数字图像进行处理,以达到不同的效果。

根据题目的要求,除了实现要求的功能外,还有很多的功能需要用到。

(1)、将一个RGB图像转换为灰度图像。

(2)、可以对图像做各种变换,如旋转等。

(3)、有时并不需要图像显示其细节部分,只要其轮廓,这时候不要很高的灰度级。

可以把图像转换为二值图像,进行图像腐蚀,或是创建索引图像等。

南邮Matlab实验报告三参考模板

南邮Matlab实验报告三参考模板

Matlab上机实验报告实验名称:MATLAB的数值运算班级:自动化二班学号: B11050216姓名:李鹏飞南京邮电大学2013年4月9日一、实验目的1.学习MATLAB 的基本矩阵运算; 2.学习MATLAB 的点运算;3.学习复杂运算。

二、实验基本知识1.基本矩阵运算;2.多项式运算;3.代数方程组;4.数值微积分。

三、上机练习1. 给a,b,c 赋如下数据:]6,46,23,4,2,6,3,8,0,1[,3568382412487,278744125431-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=c b a1)求a+b,a*b,a.*b,a/b,a./b,a^2,a.^2,length(c)的结果.2)求c 中所有元素的平均值、最大值.3)求d=b(2:3,[1,3]).程序代码:(1)>> a=[1,3,4;5,12,44;7,8,27]; >> b=[-7,8,4;12,24,38;68,-5,3]; >> c=[1,0,8,3,6,2,-4,23,46,6]; >> d=a+b d =-6 11 8 17 36 82 75 3 30>> e=a*be =301 60 1303101 108 6081883 113 413 >> f=a.*bf =-7 24 1660 288 1672476 -40 81 >> g=a/bg =0.0966 0.0945 0.0080-3.6125 1.5838 -0.5778-1.9917 0.9414 -0.2682>> h=a./bh =-0.1429 0.3750 1.00000.4167 0.5000 1.15790.1029 -1.6000 9.0000>> i=a^2i =44 71 244373 511 1736236 333 1109 >> j=a.^2j =1 9 1625 144 1936 49 64 729 >> k=length(c) k =10(2)>> l=max(c) l =46>> m=mean(c) m =9.1000(3)>> d=b(2:3,[1,3]) d =12 3868 32.求解方程⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡001987654321X ,并对所得结果作出解释。

南邮MATLAB软件设计

南邮MATLAB软件设计

通信与信息工程学院2015 / 2016 学年第 2 学期软件设计实验报告模块名称MATLAB软件设计专业通信工程学生班级B130102学生学号B13010229学生姓名郭智超指导教师孟田甜报告内容一、要求练习的实验部分1.题目:在时间区间 [0,10]中,绘出t e y t2cos 15.0--=曲线。

程序代码:t=0:0.02:10;y=1-exp((-0.5)*t).*cos(2*t); plot(t,y,'b'); xlabel('time');ylabel('amplitude'); title('figure 1'); grid实验结果:24681000.511.5timea m p l i t u d efigure 12.题目:写出生成如图E2-1所示波形的MATLAB 脚本M 文件。

图中虚线为正弦波,要求它的负半波被置零,且在23处被削顶。

程序代码:t=linspace(0,10,500); %产生线性间隔的向量(在0-10之间取500点)y=sin(t); a=sin(pi/3); z=(y>=0).*y;z=(y>=a).*a+(y<a).*z; plot(t,y,':r');hold on; %保持当前图形 plot(t,z,'b-') xlabel('t'); ylabel('z=f(t)');title('逐段解析函数');legend('y=sin(t)','z=f(t)',4); %确定向量长度 axis([0 10 -1.2 1.2]); %限定坐标轴范围 hold off; grid实验结果:24681001tz =f (t )逐段解析函数3.题目: 令⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321A ,运行 [U,S,V]=svd(A);tol=S(1,1)*3*eps; 然后回答以下问题: (1) sum(diag(S)>tol) - rank(A) 是多少 ?(2) S(1,1) - norm(A) = 0 是多少 ?(3) sqrt(sum(diag(S*S))) - norm(A,'fro') 的结果是什么 ?(4) S(1,1)/S(3,3) - cond(A) 的结果是什么 ?(5) S(1,1)*S(2,2)*S(3,3) - det(A) < tol 的运行结果是什么? (6) V(:,1)'*null(A) 得到什么结果 ?(7) abs(A*null(A)) < tol 得到什么结果 ? (8) U(:,1:2) = = orth(A) 的运行结果是什么 ?程序:A=[1 2 3;4 5 6;7 8 9][U,S,V]=svd(A);tol=S(1,1)*3*epssum(diag(S)>tol) - rank(A) S(1,1) - norm(A)sqrt(sum(diag(S*S))) - norm(A,'fro') S(1,1)/S(3,3) - cond(A)S(1,1)*S(2,2)*S(3,3) - det(A) < tol V(:,1)'*null(A)abs(A*null(A)) < tol U(:,1:2) == orth(A)运行结果:(1) sum(diag(S)>tol) - rank(A) 的结果是0 (2) S(1,1) - norm(A) = 0的结果是0(3) sqrt(sum(diag(S*S))) - norm(A,'fro') 的结果是3.5527e-015 (4) S(1,1)/S(3,3) - cond(A) 的结果是 -8(5) S(1,1)*S(2,2)*S(3,3) - det(A) < tol 的结果是1 (6) V(:,1)'*null(A) 的结果是 0(7) abs(A*null(A)) < tol 的结果是1;1;1(8) U(:,1:2) = = orth(A) 的结果是 [1 1 ;1 1 ;1 1] 4.题目:求积分dt t x⎰0]sin[cos ,π20≤≤x 。

南邮软件课程设计MATLAB软件设计

南邮软件课程设计MATLAB软件设计

南京邮电大学通信学院软件课程设计实验报告模块名称:___MATLAB软件设计专业班级:__通信工程_姓名:______ ____学号:___ _09实验日期:2012 年 6 月 11—21日实验报告日期: 2012 年 6 月 26 日索引目录一、要求练习的实验部分 (1)1、练习题1 (1)2、练习题2 (1)3、练习题3 (2)4、练习题4 (5)5、练习题5 (6)6、练习题6 (7)7、练习题7 (8)8、练习题8 (11)9、练习题9 (13)10、练习题10 (14)11、练习题11 (17)12、练习题12 (20)二、模拟数字电路仿真实验 (21)(一)数字逻辑电路基础 (21)(二)组合逻辑电路仿真 (22)(三)时序逻辑电路仿真 (26)三、数字信号处理仿真实验 (28)(一)、利用Kaiser窗函数设计的FIR低通滤波器进行数字滤波 (28)(二)、DSB-SC信号的生成与解调 (35)四、通信系统实验 (40)模拟调制---DSB调制与解调 (40)一、要求练习的实验部分1.在时间区间 [0,10]中,绘出t e y t2cos 15.0--=曲线。

程序:(zoushuCode1.m ) t=0:0.1:10;y=1-exp((-0.5)*t).*cos(2*t); plot(t,y,'r-'); shg结果:(图图1.fig)2. 写出生成如图E2-1所示波形的MA TLAB 脚本M 文件。

图中虚线为正弦波,要求它的负半波被置零,且在23处被削顶。

程序:(zoushuCode2.m ) t=linspace(0,3*pi,500); y=sin(t); a=sin(pi/3); z=(y>=0).*y;z=(y>=a).*a+(y<a).*z; plot(t,y,':r'); hold on; plot(t,z,'b-')xlabel('t'),ylabel('z=f(t)'),title('逐段解析函数') legend('y=sin(t)','z=f(t)',4),hold off 结果:(图图2.fig )3. 令⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321A ,运行 [U,S,V]=svd(A);tol=S(1,1)*3*eps; 然后回答以下问题: (1)sum(diag(S)>tol) - rank(A) 是多少 ? (2) S(1,1) - norm(A) = 0 是多少 ?(3) sqrt(sum(diag(S*S))) - norm(A,'fro') 的结果是什么 ? (4) S(1,1)/S(3,3) - cond(A) 的结果是什么 ?(5) S(1,1)*S(2,2)*S(3,3) - det(A) < tol 的运行结果是什么? (6) V(:,1)'*null(A) 得到什么结果 ?(7) abs(A*null(A)) < tol 得到什么结果 ? (8)U(:,1:2) = = orth(A) 的运行结果是什么 ?程序:(zoushuCode3.m)clear; clc;disp('设 A=[1,2,3;4,5,6;7,8,9],得')A=[1,2,3;4,5,6;7,8,9] %一个3*3矩阵disp('设 [U,S,V]=svd(A),得')[U,S,V]=svd(A) %奇异值分解(SVD)USV:U m*m酉矩阵 V n*n酉矩阵 S 对角阵disp('设 tol=S(1,1)*3*eps,得')tol=S(1,1)*3*epsdisp('设 a=sum(diag(S)>tol) - rank(A),求 a')a=sum(diag(S)>tol) - rank(A)disp('设 b=S(1,1) - norm(A),求 b')b=S(1,1) - norm(A)disp('设 c=sqrt(sum(diag(S*S))) - norm(A, fro ),求 c')c=sqrt(sum(diag(S*S))) - norm(A,'fro')disp('设 d=S(1,1)/S(3,3) - cond(A),求 d')d=S(1,1)/S(3,3) - cond(A)disp('设 e=S(1,1)*S(2,2)*S(3,3) - det(A) < tol ,求 e')e=S(1,1)*S(2,2)*S(3,3) - det(A) < toldisp('设 f=V(:,1) *null(A),求 f')f=V(:,1)'*null(A)disp('设 g=abs(A*null(A)) < tol,求 g')g=abs(A*null(A)) < toldisp('设 h=U(:,1:2) == orth(A),求 h')h=U(:,1:2) == orth(A)结果:(结果3.txt)设 A=[1,2,3;4,5,6;7,8,9],得A =1 2 34 5 67 8 9设 [U,S,V]=svd(A),得U =-0.2148 0.8872 0.4082-0.5206 0.2496 -0.8165-0.8263 -0.3879 0.4082S =16.8481 0 00 1.0684 00 0 0.0000V =-0.4797 -0.7767 -0.4082-0.5724 -0.0757 0.8165-0.6651 0.6253 -0.4082设 tol=S(1,1)*3*eps,得tol =1.1223e-014设 a=sum(diag(S)>tol) - rank(A),求 aa =设 b=S(1,1) - norm(A),求 bb =设 c=sqrt(sum(diag(S*S))) - norm(A, fro ),求 cc =3.5527e-015设 d=S(1,1)/S(3,3) - cond(A),求 dd =-8设 e=S(1,1)*S(2,2)*S(3,3) - det(A) < tol ,求 ee =1设 f=V(:,1) *null(A),求 f f =设 g=abs(A*null(A)) < tol ,求 g g =1 1 1设 h=U(:,1:2) == orth(A),求 h h =1 1 1 1 1 1 结果分析:由上面的结果得出如下的题目答案:(1)sum(diag(S)>tol) - rank(A) 的结果是0; (2)S(1,1) - norm(A) = 0 的结果是0;(3)sqrt(sum(diag(S*S))) - norm(A,'fro') 的结果是3.5527e-015; (4)S(1,1)/S(3,3) - cond(A) 的结果是-8;(5)S(1,1)*S(2,2)*S(3,3) - det(A) < tol 的运行结果是1; (6)V(:,1)'*null(A)的结果是0; (7)abs(A*null(A)) < tol 的结果是1 1 1 ;(8)U(:,1:2)==orth(A)的运行结果是1 1 1 1 1 1 4. 求积分dt t x⎰]sin[cos ,π20≤≤x 。

数学实验报告南邮

数学实验报告南邮

实验名称:线性方程组的求解方法实验目的:1. 理解线性方程组的概念及其解法。

2. 掌握高斯消元法和克拉默法则求解线性方程组的方法。

3. 通过实验验证不同方法的计算效率和适用范围。

实验时间:2023年X月X日实验地点:南京邮电大学计算机实验室实验器材:1. 计算机2. 数学软件(如MATLAB、Mathematica等)3. 纸张和笔实验步骤:一、实验准备1. 确定实验所需线性方程组,例如:\[\begin{cases}2x + 3y - z = 4 \\-x + 2y + 3z = -1 \\3x - 2y + 4z = 5\end{cases}\]2. 熟悉高斯消元法和克拉默法则的原理。

二、实验实施1. 高斯消元法求解(1)将线性方程组转化为增广矩阵:\[\begin{bmatrix}2 &3 & -1 & | &4 \\-1 & 2 & 3 & | & -1 \\3 & -2 &4 & | & 5\end{bmatrix}\](2)进行行变换,将增广矩阵转化为行最简形式:\[\begin{bmatrix}1 & 0 & 0 & | & 1 \\0 & 1 & 0 & | & 1 \\0 & 0 & 1 & | & 1\end{bmatrix}\](3)根据行最简形式得到方程组的解:\(x = 1, y = 1, z = 1\)。

2. 克拉默法则求解(1)计算系数矩阵的行列式:\[D = \begin{vmatrix}2 &3 & -1 \\-1 & 2 & 3 \\3 & -2 & 4\end{vmatrix}\](2)计算增广矩阵的行列式:\[D_x = \begin{vmatrix}4 & 3 & -1 \\-1 & 2 & 3 \\5 & -2 & 4\end{vmatrix}\](3)计算\(D_y\)和\(D_z\),分别对应\(x\)、\(y\)、\(z\)的系数矩阵和增广矩阵的行列式。

MATLAB课程设计报告

MATLAB课程设计报告

目录一、课程设计目的 (1)二、课程设计任务 (1)三、课程设计题目 (1)3.1、画出分段函数图: (1)3.2、信号的产生与变换 (2)3.3、财经问题 (3)3.4、计算平均学分积GPA (4)3.5、供煤量分配问题 (6)四、课程设计结论及分析 (7)五、心得体会 (7)六、参考文献 (7)一、课程设计目的1. 熟悉MATLAB 的工作环境;2. 熟悉并练习MATLAB 的命令;3. 掌握MATLAB 的基本操作;4. 熟练掌握MATLAB 的基本应用。

二、课程设计任务1.熟练掌握MATLAB 的基本用法以及实际应用;2.将课程设计题目解答完毕,完成一下内容:(1)、画出分段函数图;(2)、信号的产生与变换;(3)、财经问题;(4)、计算平均学分积GPA ;(5)、供煤量分配问题。

三、课程设计题目3.1、画出分段函数图:2222220.5457exp(0.75 3.75 1.5),1(,)0.7575exp(6),1105457exp(0.75 3.75 1.5),1y x x x y p x y y x x y y x x x y ⎧---+>⎪=---<+≤⎨⎪--++≤-⎩(1) 程序:x=-3:0.1:3;y=-3:0.1:3;length_of_x=length(x);length_of_y=length(y);for i=1:length_of_xfor j=1:length_of_yif (x(i)+y(j))>1z(i,j)=0.5457*exp(-0.75*y(j)^2-3.75*x(i)^2-1.5*x(i)); elseif ((x(i)+y(j))>-1)&&((x(i)+y(j))<=1)z(i,j)=0.7575*exp(-y(j)^2-6*x(i)^2);elsez(i,j)=0.5457*exp(-0.75*y(j)^2-3.75*x(i)^2+1.5*x(i)); endendendmesh(x,y,z)(2) 运行结果:3.2、信号的产生与变换数字信号处理中y(n)=x(-n)的画图实现;其中21,33()0, n 3n n x n +-≤≤⎧=⎨>⎩(1)程序:n=-4:4;for i=1:9if abs(n(i))>3x(i)=0;else x(i)=2*n(i)+1;endendy=fliplr(x);stem(n,y);(2)运行结果:3.3、财经问题一笔100000元的贷款要按每月等额偿付d元的方式付清。

2016南邮matlab软件设计报告

2016南邮matlab软件设计报告

软件设计报告姓名:。

学号:B130207212016年6月26日~2016年7月3日目录第一章软件设计介绍 (1)第二章软件开发平台简介 (2)第三章软件设计练习题 (3)3.1 (3)3.2 (3)3.3 (4)3.4 (9)3.5 (10)3.6 (11)3.7 (12)3.8 (13)第四章设计题第一题 (14)4.1设计电路图 (14)4.2设置电路参数 (15)4.3程序代码 (16)4.4运行结果与分析 (17)第五章设计题第二题 (20)5.1迭代法介绍 (20)5.2简单迭代法的函数M文件 (21)5.3简单迭代法的运行M文件 (21)5.4简单迭代法的结果 (22)5.5超松弛迭代法的函数M文件 (22)5.6超松弛迭代法的运行M文件 (23)5.7超松弛迭代法的结果 (23)第六章设计题第三题 (25)6.1简单迭代法的函数M文件 (25)6.2简单迭代法的运行M文件 (26)6.3简单迭代法的结果 (26)6.4超松弛迭代法的函数M文件 (26)6.5超松弛迭代法的运行M文件 (27)6.6超松弛迭代法的结果 (28)第七章设计题第四题 (29)7.1设计思想 (29)7.2程序代码 (30)7.3运行结果 (30)第八章软件设计总结 (32)第一章软件设计介绍一、软件设计的性质、目的本课程是一门技能训练课,为在校学生的必修课程。

通过设计培养学生良好的编程习惯,使学生掌握编程的基本步骤,规范学生的编写程序的格式,锻炼学生编写程序的能力,为将来编写较大程序的打好基础。

二、软件设计的任务通过集中时间上机实验,使学生充分发挥已有的编程能力,熟悉编译环境,选择若干课题,进行审题、分析、设计和调试,并根据要求写出实验报告。

三、实验内容软件设计课题共分A 、B两档。

A档为练习题,第一周完成;B档为选做题,第二周完成。

四、考核办法考核采取程序验收和面试的方法进行。

其中,程序验收及面试占50%,实验报告占50%。

南京邮电大学matlab软件设计(超详细).doc

南京邮电大学matlab软件设计(超详细).doc

南京邮电大学matlab软件设计(超详细).doc南京邮电大学通信学院软件课程设计实验报告模块名称:___MATLAB软件设计专业班级:__通信工程姓名:____ ____学号:___实验日期:2013年 6 月17—28日实验报告日期: 2013 年 7 月 1 日一、要求练习的实验部分1.在时间区间[0,10]中,绘出t15.0-=曲线。

-ey t2cos程序:t=0:0.1:10;y=1-exp((-0.5)*t).*cos(2*t);plot(t,y,'r-');shg结果:2.写出生成如图E2-1所示波形的MATLAB脚本M文件。

图中虚线为正弦波,要求它的负3处被削顶。

半波被置零,且在2程序:t=linspace(0,3*pi,500);y=sin(t);a=sin(pi/3);z=(y>=0).*y;z=(y>=a).*a+(y<a).*z;plot(t,y,':r');hold on;plot(t,z,'b-')xlabel('t'),ylabel('z=f(t)'),title('逐段解析函数') legend('y=sin(t)','z=f(t)',4),hold off结果:3. 令⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321A ,运行[U,S,V]=svd(A);tol=S(1,1)*3*eps; 然后回答以下问题:(1) sum(diag(S)>tol) - rank(A) 是多少 ?(2) S(1,1) - norm(A) = 0 是多少 ?(3) sqrt(sum(diag(S*S))) - norm(A,'fro')的结果是什么 ?(4) S(1,1)/S(3,3) - cond(A) 的结果是什么 ?(5)S(1,1)*S(2,2)*S(3,3) - det(A) < tol 的运行结果是什么?(6)V(:,1)'*null(A) 得到什么结果? (7)abs(A*null(A)) < tol 得到什么结果?(8)U(:,1:2) = = orth(A) 的运行结果是什么?程序:clear;clc;disp('设 A=[1,2,3;4,5,6;7,8,9],得')A=[1,2,3;4,5,6;7,8,9] %一个3*3矩阵disp('设 [U,S,V]=svd(A),得')[U,S,V]=svd(A) %奇异值分解(SVD)USV:U m*m酉矩阵 V n*n酉矩阵 S 对角阵disp('设 tol=S(1,1)*3*eps,得')tol=S(1,1)*3*epsdisp('设 a=sum(diag(S)>tol) - rank(A),求a')a=sum(diag(S)>tol) - rank(A)disp('设 b=S(1,1) - norm(A),求 b')b=S(1,1) - norm(A)disp('设 c=sqrt(sum(diag(S*S))) - norm(A, fro ),求 c')c=sqrt(sum(diag(S*S))) - norm(A,'fro') disp('设 d=S(1,1)/S(3,3) - cond(A),求 d') d=S(1,1)/S(3,3) - cond(A)disp('设 e=S(1,1)*S(2,2)*S(3,3) - det(A) < tol ,求 e')e=S(1,1)*S(2,2)*S(3,3) - det(A) < tol disp('设 f=V(:,1) *null(A),求 f')f=V(:,1)'*null(A)disp('设 g=abs(A*null(A)) < tol,求 g')g=abs(A*null(A)) < toldisp('设 h=U(:,1:2) == orth(A),求 h')h=U(:,1:2) == orth(A)结果:设 A=[1,2,3;4,5,6;7,8,9],得A =1 2 34 5 67 8 9设 [U,S,V]=svd(A),得U =-0.2148 0.8872 0.4082 -0.5206 0.2496 -0.8165 -0.8263 -0.3879 0.4082S =16.8481 0 0 0 1.0684 0 0 0 0.0000V =-0.4797 -0.7767 -0.4082-0.5724 -0.0757 0.8165-0.6651 0.6253 -0.4082设 tol=S(1,1)*3*eps,得tol =1.1223e-014设 a=sum(diag(S)>tol) - rank(A),求 aa =设 b=S(1,1) - norm(A),求 bb =设 c=sqrt(sum(diag(S*S))) - norm(A, fro ),求 cc =3.5527e-015设 d=S(1,1)/S(3,3) - cond(A),求 dd =-8设 e=S(1,1)*S(2,2)*S(3,3) - det(A) < tol ,求 ee =1设 f=V(:,1) *null(A),求 ff =设 g=abs(A*null(A)) < tol,求 gg =111设 h=U(:,1:2) == orth(A),求 hh =1 11 11 1结果分析:由上面的结果得出如下的题目答案:(1)sum(diag(S)>tol) - rank(A) 的结果是0;(2)S(1,1) - norm(A) = 0 的结果是0;(3)sqrt(sum(diag(S*S))) - norm(A,'fro') 的结果是3.5527e-015;(4)S(1,1)/S(3,3) - cond(A) 的结果是-8;(5)S(1,1)*S(2,2)*S(3,3) - det(A) < tol 的运行结果是1;(6)V(:,1)'*null(A)的结果是0;(7)abs(A*null(A)) < tol的结果是111 ;(8)U(:,1:2)==orth(A)的运行结果是1 11 11 1 4.求积分dt tx⎰0]sin[cos,π20≤≤x。

南邮MATLAB软件设计

南邮MATLAB软件设计

AU域^上薯通信与信息工程学院2015 / 2016 学年第2学期软件设计实验报告模块名称MATLAB软件设计专业通信工程学生班级B130102学生学号B13010229学生姓名郭智超报告内容、要求练习的实验部分0.5t1.题目:在时间区间[0,10]中,绘出y 1 e cos2t曲线程序代码:t=0:0.02:10;y=1-exp((-0.5)*t).*cos(2*t); plot(t,y,'b');xlabel('time'); ylabel('amplitude'); title('figure 1');grid实验结果:figure 12.题目:写出生成如图E2-1所示波形的MATLA脚本M文件。

图中虚线为正弦波,要求它的负半波被置零,且在—处被削顶。

20-10之间取500点)的结果是什么?程序代码:t=li nspace(0,10,500); %产生线性间隔的向量(在 y=si n( t); a=s in( pi/3); z=(y>=O).*y; z=(y>=a).*a+(y<a).*z; plot(t,y,':r'); hold on; %保持当前图形plot(t,z,'b-') xlabel('t'); ylabel('z=f(t)'); title('逐段解析函数');lege nd('y=si n( t)','z=f(t)',4); % 确定向量长度 axis([0 10 -1.2 1.2]); %限定坐标轴范围hold off; grid实验结果:(1) sum(diag(S)>tol) - rank(A) 是多少? (2) S(1,1) - norm(A) = 0 是多少? (3) sqrt(sum(diag(S*S))) - norm(A,'fro')3.题目逐段解析函数z令 A 4 5 6,运行[U,S,V]=svd(A);tol=S(1,1)*3*eps;然后回答以下问题:(4) S(1,1)/S(3,3) - cond(A) 的结果是什么?(5) S(1,1)*S(2,2)*S(3,3) - det(A) < tol 的运行结果是什么?(6) V(:,1)'*null(A) 得到什么结果?(7) abs(A*null(A)) < tol 得到什么结果?(8) U(:,1:2) = = orth(A) 的运行结果是什么?程序:A=[1 2 3;4 5 6;7 8 9][U,S,V]=svd(A);tol=S(1,1)*3*epssum(diag(S)>tol) - ran k(A)S(1,1) - norm(A) sqrt(sum(diag(S*S))) - norm(A,'fro') S(1,1)/S(3,3) -con d(A) S(1,1)*S(2,2)*S(3,3) - det(A) < tol V(:,1)'* null(A)abs(A* null(A)) < tolU(:,1:2) == orth(A)运行结果:(1)sum(diag(S)>tol) - rank(A) 的结果是0(2)S(1,1) - norm(A) = 0 的结果是0(3)sqrt(sum(diag(S*S))) - norm(A,'fro') 的结果是3.5527e-015(4)S(1,1)/S(3,3) - cond(A) 的结果是-8(5)S(1,1)*S(2,2)*S(3,3) - det(A) < tol 的结果是1(6)V(:,1)'*null(A) 的结果是0(7)abs(A*nul 1(A)) < tol 的结果是1; 1; 1(8)U(:,1:2) = = orth(A) 的结果是[1 1 ; 1 1 ; 1 1]x4. 题目:求积分o sin[cost]dt, 0x2。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件设计报告姓名:。

学号:B130207212016年6月26日~2016年7月3日目录第一章软件设计介绍 (1)第二章软件开发平台简介 (2)第三章软件设计练习题 (3)3.1 (3)3.2 (3)3.3 (4)3.4 (9)3.5 (10)3.6 (11)3.7 (12)3.8 (13)第四章设计题第一题 (14)4.1设计电路图 (14)4.2设置电路参数 (15)4.3程序代码 (16)4.4运行结果与分析 (17)第五章设计题第二题 (20)5.1迭代法介绍 (20)5.2简单迭代法的函数M文件 (21)5.3简单迭代法的运行M文件 (21)5.4简单迭代法的结果 (22)5.5超松弛迭代法的函数M文件 (22)5.6超松弛迭代法的运行M文件 (23)5.7超松弛迭代法的结果 (23)第六章设计题第三题 (25)6.1简单迭代法的函数M文件 (25)6.2简单迭代法的运行M文件 (26)6.3简单迭代法的结果 (26)6.4超松弛迭代法的函数M文件 (26)6.5超松弛迭代法的运行M文件 (27)6.6超松弛迭代法的结果 (28)第七章设计题第四题 (29)7.1设计思想 (29)7.2程序代码 (30)7.3运行结果 (30)第八章软件设计总结 (32)第一章软件设计介绍一、软件设计的性质、目的本课程是一门技能训练课,为在校学生的必修课程。

通过设计培养学生良好的编程习惯,使学生掌握编程的基本步骤,规范学生的编写程序的格式,锻炼学生编写程序的能力,为将来编写较大程序的打好基础。

二、软件设计的任务通过集中时间上机实验,使学生充分发挥已有的编程能力,熟悉编译环境,选择若干课题,进行审题、分析、设计和调试,并根据要求写出实验报告。

三、实验内容软件设计课题共分A 、B两档。

A档为练习题,第一周完成;B档为选做题,第二周完成。

四、考核办法考核采取程序验收和面试的方法进行。

其中,程序验收及面试占50%,实验报告占50%。

在考核过程中,若发现抄袭程序者,所抄袭的程序按零分记。

第二章软件开发平台简介MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。

是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

MATLAB和Mathematica、Maple并称为三大数学软件。

它在数学类科技应用软件中在数值计算方面首屈一指。

MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。

在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

第三章 软件设计练习题3.1在时间区间 [0,10]中,绘出t e y t 2cos 15.0--=曲线。

M 文件project1.m t=0:0.1:10;y=1-exp((-0.5)*t).*cos(2*t); plot(t,y,'r-');0123456789100.511.53.2写出生成如图所示波形的MATLAB 脚本M 文件。

图中虚线为正弦波,要求它的负半波被置零,且在23处被削顶。

M 文件project2.m x=linspace(0,10,1000); y=sin(x);pos = find(y >sqrt(3)/2); pos1 = find(y < 0);y(pos) = sqrt(3)/2; y(pos1) = 0; plot(x,y) ; hold on;fplot('sin(x)',[0,10],'k--')12345678910-1-0.8-0.6-0.4-0.200.20.40.60.813.3正弦信号的PCM 编码与解码在PCM 中,对模拟信号进行抽样、量化,将量化的信号电平值转化为对应的二进制码组的过程称为编码,其逆过程称为译码或解码。

A 律13折线由表3-1可见,如果把16个量化级分成两部分:0~7的8个量化级对于于负极性样值脉冲,8~15的8个量化级对应于正极性样值脉冲。

自然二进制码就是一般的十进制正整数的二进制表示,在16个量化级中:4216=,采用4位码元表示为:312b =、222b =、132b =、042b =的有无组合来构成。

比如第11个量化级可表示为3101120228021=+++=+++其对应的码组可表示为:1011,其余依次类推。

我们在程序中采用自然码。

自然码、折叠码、格雷码每个段落内位均匀分层量化,共16层。

每个样值用8比特来表示,即12345678[][][]b b b b b b b b 。

这8比特分为三部分:1b 为极性码,0代表负值,1代表正值。

24[~]b b 称为段落码,表示段落的号码,其值为0~7,代表8个段落。

5678[]b b b b 表示每个段落内均匀分层的位置,其值为0~15,代表一段落内的16个均匀量化间隔。

在PCM 解码时,根据8比特码确定某段落内均匀分层的位置,然后去其量化间隔的中间值作为量化电平。

首先产生一个正弦信号,并对其进行采样量化,生成一个幅值矩阵;然后利用编码子函数对此矩阵中的每个元素按照A律13折线编码规则编码,并产生一个输出码组矩阵;最后利用解码子函数对输出码组矩阵解码,并画出编码前与解码后的波形图。

程序流程图A律十三折线编码译码流程图M文件:1).project3mycode.mfunction y=project3mycode(x)maxx=max(x);xx=x;x=abs(x/maxx);y=zeros(1,length(x));for i=1:length(x);if x(i)>1/2y(i)=floor(32*(x(i)-1/2))+111;else if x(i)>1/4 && x(i)<1/2y(i)=floor(64*(x(i)-1/4))+95;else if x(i)>1/8 && x(i)<1/4y(i)=floor(128*(x(i)-1/8))+79;else if x(i)>1/16 && x(i)<1/8y(i)=floor(256*(x(i)-1/16))+63;else if x(i)>1/32 && x(i)<1/16y(i)=floor(512*(x(i)-1/32))+47;else if x(i)>1/64 && x(i)<1/32y(i)=floor(1024*(x(i)-1/64))+31;else if x(i)>1/128 && x(i)<1/64y(i)=floor(2048*(x(i)-1/128))+15;elsey(i)=floor(2048*x(i))-1;endendendendendendendif xx(i)>0y(i)=128+y(i);endendy=dec2bin(y);end2). project3mycoded .mfunction y=project3mycoded(x)for i=1:length(x);temp1=bitand(x(i),15);temp2=bitand(x(i),112);if temp2==112y(i)=1/2+temp1/32;else if temp2==96y(i)=1/4+temp1/64;else if temp2==80y(i)=1/8+temp1/128;else if temp2==64y(i)=1/16+temp1/256;else if temp2==48y(i)=1/32+temp1/512;else if temp2==32y(i)=1/64+temp1/1024;else if temp2==16y(i)=1/128+temp1/2048; elsey(i)=temp1/2048;endendendendendendendif bitand(x(i),128)==0y(i)=-y(i);endendend3). project3.mclearclct=0.01:0.01:10;y=cos(t);subplot(3,1,1)plot(t,y);sample_t=5:5:1000;sample_y=y(sample_t);subplot(3,1,2)plot(sample_t/1000,sample_y); codey=project3mycode(sample_y); codey=bin2dec(codey);yy=project3mycoded(codey); subplot(3,1,3)plot(sample_t/1000,yy);程序结果012345678910-10100.10.20.30.40.50.60.70.80.91-10100.10.20.30.40.50.60.70.80.91-113.4分别用符号积分和数值积分函数计算积分0cos xt dt ⎰,π20≤≤x ,并绘图显示。

M 文件project4.m t=0:pi/100:2*pi; f=abs(cos(t)); F=cumsum(f)*pi/100; plot(t,F);012345670.511.522.533.544.53.5求方程2,122==+xy y x 的解。

[x,y]=solve('x*x+y*y=1','x*y=2') x =-1/2*(1/2*5^(1/2)+1/2*i*3^(1/2))^3+1/4*5^(1/2)+1/4*i*3^(1/2) -1/2*(1/2*5^(1/2)-1/2*i*3^(1/2))^3+1/4*5^(1/2)-1/4*i*3^(1/2) -1/2*(-1/2*5^(1/2)+1/2*i*3^(1/2))^3-1/4*5^(1/2)+1/4*i*3^(1/2) -1/2*(-1/2*5^(1/2)-1/2*i*3^(1/2))^3-1/4*5^(1/2)-1/4*i*3^(1/2) y =1/2*5^(1/2)+1/2*i*3^(1/2) 1/2*5^(1/2)-1/2*i*3^(1/2) -1/2*5^(1/2)+1/2*i*3^(1/2) -1/2*5^(1/2)-1/2*i*3^(1/2)3.6构建一个简单的全波整流模型,并用示波器分两路同时观察原信号和整流后的信号波形。

相关文档
最新文档