南京邮电大学matlab软件设计(超详细).
- 格式:doc
- 大小:1.36 MB
- 文档页数:47
通信与信息工程学院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语言平台与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软件设计专业班级__通信工程_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的基本语法和编程元素。
Matlab 程序由语句和函数构成,语句是实现具体功能的基本单位,函数则是对语句进行封装和重用的机制。
Matlab采用类似于C 语言的结构化编程风格,包括顺序、选择和循环三种基本的控制结构。
此外,Matlab还支持向量化操作和矩阵运算,可以大大简化程序的编写和运算的复杂度。
其次,我们需要了解Matlab的开发环境和常用工具。
Matlab 提供了一个交互式的命令窗口,用户可以直接在命令行输入和执行Matlab语句。
除此之外,Matlab还提供了一个集成的开发环境,可以方便地编辑、调试和运行Matlab程序。
开发环境中还包括了各种工具箱,可以扩展Matlab的功能,如信号处理、图像处理、控制系统等。
接下来,我们将介绍Matlab程序的编写和调试过程。
在编写Matlab程序时,我们首先需要确定程序的功能和数据结构,然后选择合适的函数和语句来实现。
编写完成后,我们可以在命令窗口中运行程序,观察程序的输出结果是否满足预期。
如果发现程序出现了错误或不符合预期,我们可以使用Matlab 提供的调试工具来进行调试和排错。
调试工具包括断点、单步执行、变量监视等功能,可以帮助我们分析程序的执行过程和找到问题所在。
最后,我们需要注意Matlab程序的性能和代码优化。
Matlab是一种解释性语言,相对于编译型语言来说,其执行速度较慢。
为了提高程序的性能,我们可以使用向量化操作和矩阵运算来减少循环和临时变量的使用。
此外,我们还可以使用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程序设计的基本原理和方法,培养学生运用Matlab解决实际问题的能力。
具体的教学目标如下:1.知识目标:(1)理解Matlab的基本语法和编程方法。
(2)熟悉Matlab的数据类型、运算符和控制结构。
(3)掌握Matlab函数的定义和调用方法。
(4)了解Matlab的绘图功能和图形用户界面设计。
2.技能目标:(1)能够运用Matlab编写简单的程序,解决数学、工程和科学计算问题。
(2)具备阅读和分析Matlab程序的能力。
(3)能够独立完成Matlab程序的调试和优化。
(4)学会使用Matlab进行数据分析和可视化。
3.情感态度价值观目标:(1)培养学生对计算机编程的兴趣和热情。
(2)增强学生运用计算机技术解决实际问题的意识。
(3)培养学生团队合作精神和自主学习能力。
二、教学内容本课程的教学内容主要包括以下几个部分:1.Matlab概述:介绍Matlab的发展历程、功能特点和应用领域。
2.Matlab基本语法:包括数据类型、运算符、控制结构等。
3.Matlab函数:介绍常用数学函数、绘图函数和图形用户界面设计函数。
4.Matlab编程实践:通过实例讲解如何运用Matlab解决实际问题。
5.Matlab与其他软件的接口:介绍Matlab与其他软件的联合使用方法。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学:1.讲授法:用于讲解Matlab的基本语法和函数。
2.案例分析法:通过分析实际案例,使学生掌握Matlab在工程和科学计算中的应用。
3.实验法:安排上机实验,让学生动手实践,巩固所学知识。
4.讨论法:学生进行小组讨论,培养团队合作精神和解决问题的能力。
四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:选用权威、实用的Matlab教材作为主要教学资料。
2.参考书:提供相关的Matlab编程指南和实例教程。
邮电大学通信学院软件课程设计实验报告模块名称:___MATLAB软件设计专业班级:__通信工程姓名:____ ____学号:___实验日期:2013年 6 月 17—28日实验报告日期: 2013 年 7 月 1 日一、要求练习的实验部分1.在时间区间 [0,10]中,绘出t ey t 2cos 15.0--=曲线。
程序:t=0:0.1:10;y=1-exp((-0.5)*t).*cos(2*t);plot(t,y,'r-');shg结果:2. 写出生成如图E2-1所示波形的MATLAB 脚本M 文件。
图中虚线为正弦波,要求它的负半波被置零,且在23处被削顶。
程序: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) < 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)结果:设 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),求 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 14. 求积分dt t x⎰0]sin[cos ,π20≤≤x 。
程序:t=0:pi/100:2*pi;f=abs(sin(cos(t)));F=cumsum(f)*pi/100;plot(t,F);xlabel('x 轴');ylabel('y 轴');title('描绘y=abs(sin(cos(t)))在(0,x)间积分曲线[x ∈(0,2π)]')grid on;结果:5. 求方程2,122==+xy y x 的解。
程序:clear;clc;disp('计算方程组 x^2+y^2=1 x*y=2 的根 x y')[x,y] = solve('x^2+y^2 = 1','x*y = 2')结果:计算方程组 x^2+y^2=1 x*y=2 的根 x yx =[ -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)]6. 在某激励条件下,二阶系统归一化响应可表示为)sin(11)(θββξ+-=-t e t y t ,其中ξ为阻尼系数,21ξβ-=,)1(2ξξθ-=arctg 。
请用不同的颜色或线型,在同一图上,绘制0.2:2.0:2.0=ξ取值下系统在]18,0[∈t 区间的响应曲线,并要求用2.0=ξ和0.2=ξ对它们相应的两条曲线进行醒目的文字标志。
程序:b=0.2:0.2:2.0;t=0:0.1:18;color=['r','g.','bo','cx','m+','y*','kv','r--','g:','b-.'];for i=1:10p(i)=sqrt(1-b(i).*b(i));q(i)=atan(sqrt(1-b(i).*b(i))./b(i));y=1-1./p(i).*exp(-b(i).*t).*sin(p(i).*t+q(i));if i==1plot(t,y,color(i))text(t(30),y(30),' \leftarrow ξ=0.2','FontSize',18)hold onelse if i==10plot(t,y,color(i))text(t(50),y(50),' \leftarrow ξ=2.0','FontSize',18)hold onelseplot(t,y,color(i))hold onendendend结果:7.构建一个简单的全波整流模型,并用示波器分两路同时观察原信号和整流后的信号波形。
要求:信源模块被重新命名为“输入正弦波”;信宿模块被重新命名为“示波器”;连接到信宿的信号线上分别标注“原信号”和“整流信号”;在模型窗中添加注释文本。
(1)、原理图:各模块参量设置:[示波器]ParametersNumber of axes: 2其他默认[其余模块]默认选项结果(2)、原理图:各模块参数设定[Gain]Gain: -1其他默认[其余模块]默认选项结果8.利用 SIMULINK及其标准模块设计一个低通滤波器,从受噪声干扰的多频率混合信号π,而)(tx中获取10Hz的信号。