实验一 熟悉MATLAB环境(实验报告)2010
- 格式:doc
- 大小:157.50 KB
- 文档页数:6
实习报告实习题目:MATLAB的设计与绘图专业:学号:一.概述MATLAB 作为一种高级科学计算软件,是进行算法开发、数据可视化、数据分析以及数值计算的交互式应用开发环境。
世界上许许多多的科研工作者都在使用MATLAB 产品来加快他们的科研进程,缩短数据分析和算法开发的时间,研发出更加先进的产品和技术。
二。
实验目的1。
进一步熟悉MATLAB的软件环境和基本使用方法;2.巩固运用MATLAB、矩阵运算、多项式运算、字符串、单元数组、符号计算功能、绘图及句柄图形及它们的命令语句;3.学习和巩固数字图形图像处理在MATLAB中的知识和运用;4.培养我们独立自学、设计和撰写实验报告的能力;5.通过对MATLAB的进一步学习,是我们加深所学内容的认识,理解,掌握,能把所学知识运用到实际工作中;三.实习日记1.熟悉MATLAB的软件环境和基本使用方法(第一周)MATLAB的语言的基本功能和特点:它是一种高级科学计算语言,相对于传统的C、C++ 或者FORTRAN 语言,MATLAB 提供了高效快速解决各种科学计算问题的方法。
它具有数学计算、开发工具、数据的可视化、交互式编辑创建图形、集成的算法开发编程语言和环境、图形用户界面开发环境——GUIDE 、开放性、可扩展性强 、专业应用工具箱等强大的功能。
具有易于学习、使用方便、支持多种操作系统、丰富的内部函数、强大的图形和符号功能等优点。
路径设置:除 MATLAB 默认的搜索路径外,用户可以设置搜索路径。
设置方法为:选择 MATLAB 窗口中的 File | Set Path 命令,进入路径搜索对话框。
MATLAB 的搜索顺序:当在命令窗口中或者一个 M 文件中输入一个元素名 时,MATLAB 按照下面的顺序搜索该元素的意义,以元素 foo 为例:1)查找工作区中是否存在名为 foo 的变量; 2)在当前路径中查找是否存在名 foo 。
m 的文件;3)按照顺序查找搜索路径中是否存在该文件。
matlab实验报告总结电气工程学院自动化102班 2012年12月21日实验一 MATLAB环境的熟悉与基本运算一、实验目的1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算二、实验基本知识1.熟悉MATLAB环境MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。
2.掌握MATLAB常用命令变量与运算符变量命名规则如下:变量名可以由英语字母、数字和下划线组成变量名应以英文字母开头长度不大于31个区分大小写MATLAB中设置了一些特殊的变量与常量,列于下表。
MATLAB运算符,通过下面几个表来说明MATLAB的各种常用运算符表2 MATLAB算术运算符表3 MATLAB关系运算符表4 MATLAB逻辑运算符表5 MATLAB特殊运算的一维、二维数组的寻访表6 子数组访问与赋值常用的相关指令格式的基本运算表7 两种运算指令形式和实质内涵的异同表的常用函数表8 标准数组生成函数表9 数组操作函数三、实验内容1、新建一个文件夹2、启动,将该文件夹添加到MATLAB路径管理器中。
3、保存,关闭对话框4、学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说明,学习使用指令eye5、学习使用clc、clear,观察command window、command history和workspace等窗口的变化结果。
6、初步程序的编写练习,新建M-file,保存,学习使用MATLAB的基本运算符、数组寻访指令、标准数组生成函数和数组操作函数。
注意:每一次M-file的修改后,都要存盘。
练习A:help rand,然后随机生成一个2×6的数组,观察command window、command history和workspace等窗口的变化结果。
学习使用clc、clear,了解其功能和作用。
答:clc是清除命令窗体内容 clear是清除工作区间输入C=1:2:20,则C表示什么?其中i=1,2,3,?,10。
matlab实验报告总结电气工程学院自动化102班 2012年12月21日实验一 MATLAB环境的熟悉与基本运算一、实验目的1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算二、实验基本知识1.熟悉MATLAB环境MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。
2.掌握MATLAB常用命令变量与运算符变量命名规则如下:变量名可以由英语字母、数字和下划线组成变量名应以英文字母开头长度不大于31个区分大小写MATLAB中设置了一些特殊的变量与常量,列于下表。
MATLAB运算符,通过下面几个表来说明MATLAB的各种常用运算符表2 MATLAB算术运算符表3 MATLAB关系运算符表4 MATLAB逻辑运算符表5 MATLAB特殊运算的一维、二维数组的寻访表6 子数组访问与赋值常用的相关指令格式的基本运算表7 两种运算指令形式和实质内涵的异同表的常用函数表8 标准数组生成函数表9 数组操作函数三、实验内容1、新建一个文件夹2、启动,将该文件夹添加到MATLAB路径管理器中。
3、保存,关闭对话框4、学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说明,学习使用指令eye5、学习使用clc、clear,观察command window、command history和workspace等窗口的变化结果。
6、初步程序的编写练习,新建M-file,保存,学习使用MATLAB的基本运算符、数组寻访指令、标准数组生成函数和数组操作函数。
注意:每一次M-file的修改后,都要存盘。
练习A:help rand,然后随机生成一个2×6的数组,观察command window、command history和workspace等窗口的变化结果。
学习使用clc、clear,了解其功能和作用。
答:clc是清除命令窗体内容 clear是清除工作区间输入C=1:2:20,则C表示什么?其中i=1,2,3,?,10。
实验一 MATLAB基本操作
一.实验目的
1.熟悉MATLAB实验环境,练习MATLAB命令、m文件、Simulink的基本操作。
2.利用MATLAB编写程序进行矩阵运算、图形绘制、数据处理等。
3.利用Simulink建立系统的数学模型并仿真求解。
二.实验仪器和设备
1、硬件平台:计算机1台
2、软件平台:W indows操作系统、MATLAB
三.实验内容
1、用MA TLAB可以识别的格式输入下面两个矩阵
再求出它们的乘积矩阵C,并将C矩阵的右下角2×3子矩阵赋给D矩阵。
赋值完成后,调用相应的命令查看MATLAB工作空间的占用情况。
2、建立下面给出的各个矩阵,并求取矩阵各种参数,如矩阵的行列式、秩、特征多项式、范数等。
,
,
3、用MA TLAB语言实现下面的分段函数并绘制其图形
4、分别用for和while循环结构编写程序,求出
5、选择合适的步距绘制出下面的图形
(1),其中
(2)用图形表示连续调制波形及其包络线。
其中
6、求解下面的线性代数方程,并验证得出的解真正满足原方程。
(a),(b)
7 考虑简单的线性微分方程
(1)试用Simulink搭建起系统的仿真模型,并绘制出仿真结果曲线。
8、建立下图所示线性系统的Simulink模型,并观察在单位阶跃信号输入下系统的输出曲线和误差曲线。
图 4.21 线性系统Simulink模型
四.实验报告要求
在MATLAB中完成程序编写及实验仿真结果,,插入到Word格式的实验报告中,并附上所设计的程序及SIMULINK程序。
初识MATLAB的实验报告1. 引言MATLAB(Matrix Laboratory)是一种高级的技术计算环境和编程语言。
它具有强大的矩阵计算能力和丰富的科学和工程绘图功能,被广泛应用于各个领域的科研与工程实践中。
本实验旨在初步了解MATLAB的基本语法和功能,通过实际操作加深对MATLAB编程的理解。
2. 实验目的1. 掌握MATLAB的安装和基本使用方法;2. 学习MATLAB中的常用数学函数和操作;3. 了解MATLAB绘图功能并能够绘制简单的图形。
3. 实验步骤3.1 MATLAB安装首先,在官方网站(3.2 MATLAB入门3.2.1 MATLAB语法MATLAB的语法类似于其他常见的编程语言,每个语句以分号结尾。
在MATLAB 中,可以直接进行基本的数学运算,例如加减乘除、指数、对数等。
通过以下代码可以计算两个变量的和并将结果打印出来:matlaba = 10;b = 20;sum = a + b;disp(sum);3.2.2 MATLAB变量在MATLAB中,可以创建和操作各种类型的变量,例如数值、字符串、矩阵等。
以下代码演示了如何创建一个矩阵:matlabmatrix = [1, 2, 3; 4, 5, 6; 7, 8, 9];disp(matrix);3.2.3 MATLAB函数MATLAB提供了许多内置的数学函数,可以直接调用。
以下代码演示了如何计算正弦函数值并打印结果:matlabx = pi/4;y = sin(x);disp(y);3.3 MATLAB绘图MATLAB具有强大的绘图功能,可以绘制各种图形,如曲线、散点图、柱状图等。
以下代码演示了如何绘制一个简单的正弦曲线:matlabx = linspace(0, 2*pi, 100);y = sin(x);plot(x, y);xlabel('x');ylabel('y');title('Sine Curve');4. 实验结果与分析在完成上述实验步骤后,我们成功安装了MATLAB,并学习了基本的语法、变量和函数的使用方法。
Matlab实验报告院系名称:信息科学与工程学院专业班级:通信工程1303指导老师:陈科文,支国明,张金焕,周扬学生姓名:学号:目录实验一熟悉MATLAB环境 (3)实验二数值数组创建、应用及可视化 (7)实验三字符串数组的使用、简单脚本文件和函数的编写 (12)实验四数据可视化方法 (22)实验一一、实验目的1 .熟悉MATLAB 主界面,并学会简单的菜单操作;2 .学会简单的矩阵输入与信号输入;3 .掌握部分绘图函数。
二、实验内容及要求1.用户工作目录和当前目录的建立和设置;2.熟悉简单的矩阵输入;3.常用基本命令的使用;4.基本序列运算;三、实验步骤及结果测试1.用户工作目录和当前目录的建立和设置2.熟悉简单的矩阵输入四、实验体会及心得这是我第一次做Matlab实验,一打开页面就有很多地方都不明白,因为页面大部分是英文,由于上课时对Matlab操作页面还有一些记忆,感觉还可以:本次试验是我对Matlab这门课有了一定的了解,对矩阵在Matlab中的运用也有了初步的认识。
实验二一、 实验目的1 .掌握二维数组的创建、寻访,区分数组运算与矩阵运算的区别;2 .掌握标准数组生成函数和数组构造技法;3 .进一步熟悉 M 脚本文件编写的方法和技巧。
二、实验内容及要求1.数组的创建和寻访 ;2.编写如图所示波形的 MATLAB 脚本文件,图中虚线为正弦波,要求它分别在21 及22处削顶。
三、实验步骤及结果测试仿照问题 1 中方法找出数组⎥⎦⎤⎢⎣⎡----=5311342024A 中所有绝对值大于 3 的元素。
程序如下图:运行指令 rand(‘state ’,11),A=rand(3,10000);B=(A>0.5);C=2*B -1;首先预测( C*C’)/100 的运行结果,然后再在机器上验证。
(本方法提供了产生通信等仿真中常需若干独立的双随机码的方法原型。
)A :B :C :编写如图所示波形的 MATLAB 脚本文件,图中虚线为正弦波,要求它分别在21 及22处削顶。
兰州理工大学《自动控制原理》MATLAB分析与设计仿真实验报告院系:电信学院班级:自动化(4)班姓名:罗庆学学号:09220420时间:2011年11月22日电气工程与信息工程学院《自动控制原理》MATLAB分析与设计仿真实验任务书(2010)一.仿真实验内容及要求:1.MATLAB软件要求学生通过课余时间自学掌握MATLAB软件的基本数值运算、基本符号运算、基本程序设计方法及常用的图形命令操作;熟悉MATLAB仿真集成环境Simulink的使用。
2.各章节实验内容及要求1)第三章线性系统的时域分析法∙对教材P136.3-5系统进行动态性能仿真,并与忽略闭环零点的系统动态性能进行比较,分析仿真结果;∙对教材P136.3-9系统的动态性能及稳态性能通过的仿真进行分析,说明不同控制器的作用;∙在MATLAB环境下完成英文讲义P153.E3.3。
∙对英文讲义中的循序渐进实例“Disk Drive Read System”,在100K时,试采=a用微分反馈使系统的性能满足给定的设计指标。
2)第四章线性系统的根轨迹法∙在MATLAB环境下完成英文讲义P157.E4.5;∙利用MATLAB绘制教材P181.4-5-(3);∙在MATLAB环境下选择完成教材第四章习题4-10或4-18,并对结果进行分析。
3)第五章线性系统的频域分析法利用MATLAB绘制本章作业中任意2个习题的频域特性曲线;4)第六章线性系统的校正利用MATLAB选择设计本章作业中至少2个习题的控制器,并利用系统的单位阶跃响应说明所设计控制器的功能。
5)第七章线性离散系统的分析与校正∙利用MATLAB完成教材P383.7-20的最小拍系统设计及验证。
∙利用MATLAB完成教材P385.7-25的控制器的设计及验证。
二.仿真实验时间安排及相关事宜1.依据课程教学大纲要求,仿真实验共6学时,教师可随课程进度安排上机时间,学生须在实验之前做好相应的准备,以确保在有限的机时内完成仿真实验要求的内容;2.实验完成后按规定完成相关的仿真实验报告;3.仿真实验报告请参照有关样本制作并打印装订;4.仿真实验报告必须在本学期第15学周结束之前上交授课教师。
实习报告实习题目:MATLAB的设计与绘图专业:学号:一.概述MATLAB 作为一种高级科学计算软件,是进行算法开发、数据可视化、数据分析以及数值计算的交互式应用开发环境。
世界上许许多多的科研工作者都在使用MATLAB 产品来加快他们的科研进程,缩短数据分析和算法开发的时间,研发出更加先进的产品和技术。
二.实验目的1.进一步熟悉MATLAB的软件环境和基本使用方法;2.巩固运用MATLAB、矩阵运算、多项式运算、字符串、单元数组、符号计算功能、绘图及句柄图形及它们的命令语句;3.学习和巩固数字图形图像处理在MATLAB中的知识和运用;4.培养我们独立自学、设计和撰写实验报告的能力;5.通过对MATLAB的进一步学习,是我们加深所学内容的认识,理解,掌握,能把所学知识运用到实际工作中;三.实习日记1.熟悉MATLAB的软件环境和基本使用方法(第一周)MATLAB的语言的基本功能和特点:它是一种高级科学计算语言,相对于传统的C、C++ 或者FORTRAN 语言,MATLAB 提供了高效快速解决各种科学计算问题的方法。
它具有数学计算、开发工具、数据的可视化、交互式编辑创建图形、集成的算法开发编程语言和环境、图形用户界面开发环境——GUIDE 、开放性、可扩展性强 、专业应用工具箱等强大的功能。
具有易于学习、使用方便、支持多种操作系统、丰富的内部函数、强大的图形和符号功能等优点。
路径设置:除 MATLAB 默认的搜索路径外,用户可以设置搜索路径。
设置方法为:选择 MATLAB 窗口中的 File | Set Path 命令,进入路径搜索对话框。
MATLAB 的搜索顺序:当在命令窗口中或者一个 M 文件中输入一个元素名 时,MATLAB 按照下面的顺序搜索该元素的意义,以元素 foo 为例:1)查找工作区中是否存在名为 foo 的变量; 2)在当前路径中查找是否存在名 foo.m 的文件;3)按照顺序查找搜索路径中是否存在该文件。
MATLAB程序设计软件实验报告专业及班级____通信中兴131_______姓名____魏增_______________学号_____6102213869________日期_____2015.6.15_________南昌大学实验报告学生姓名: 魏增 学 号: 6102213869 班级: 中兴131班 实验类型:□ 验证 □ 综合 ■ 设计 □ 创新 实验日期: 实验成绩:实验一 MA TLAB 的基本使用一、 实验目的1.了解MA TALB 程序设计语言的基本特点,熟悉MA TLAB 软件的运行环境;2.掌握变量、函数等有关概念,掌握M 文件的创建、保存、打开的方法,初步具备将一般数学问题转化为对应计算机模型处理的能力;3.掌握二维图形绘制的方法,并能用这些方法实现计算结果的可视化。
二、 MATLAB 的基础知识通过本课程的学习,应基本掌握以下的基础知识: 一. MA TLAB 简介二. MA TLAB 的启动和退出 三. MA TLAB 使用界面简介 四. 帮助信息的获取五. MA TLAB 的数值计算功能六. 程序流程控制 七. M 文件八. 函数文件九. MATLAB 的可视化 三、上机练习1. 仔细预习第二部分内容,关于MA TLAB 的基础知识。
2. 熟悉MA TLAB 环境,将第二部分所有的例子在计算机上练习一遍3、已知矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=123456789,987654321B A 。
求A*B ,A .* B ,比较二者结果是否相同。
并利用MA TLAB 的内部函数求矩阵A 的大小、元素和、长度以及最大值。
解:>> A=[1 2 3;4 5 6;7 8 9]; >> B=[9 8 7;6 5 4;3 2 1];>> A*Bans =30 24 18 84 69 54 138 114 90 >> A.*B ans =9 16 2124 25 2421 16 9 两者结果不同 >> [m,n]=size(A) m =3 n =3 >> b=sum(A) b =12 15 18 >> a=length(A) a = 3 >>max(A)ans =7 8 94、Fibonacci 数组的元素满足Fibonacci 规则:),2,1(,12=+=++k a a a k k k ;且121==a a 。
MATLAB实验报告专业班级学号姓名实验一Matlab环境及命令窗口的使用实验目的与要求:熟练掌握MA TLAB的启动和退出;熟悉MATLAB的命令窗口;熟悉常用选单和工具栏;熟悉MA TLAB桌面的其它窗口。
实验内容:启动MATLAB,熟悉各环境窗口及作用,熟悉file、edit、View等菜单下各选项的功能;熟悉工具栏中各项的功能;打开演示程序(demo),开始其中的演示程序;退出MA TLAB(exit、quit)。
在命令窗口中,输入简单的命令操作;打开函数编辑窗,编写简单的程序并保存;程序:>> x1=sqrt(100),x2=5.48,y=9/x2x1 =10x2 =5.4800y =1.6423>>demo演示框左侧是库目录,选定demo下的图形类(Graphics)按钮,双击演示框右边的栏里的function of complex variable选项,就会出现如图中的演示框。
此例为复数Z的三次方:Z^3。
实验二Matlab数值计算实验目的与要求:熟练掌握matlab变量的使用;熟练掌握矩阵的创建;熟悉掌握matlab 的矩阵和数组的运算;熟悉matlab多项式的运算。
实验内容:给2×3阶矩阵变量a赋值(注意逗号与分号的使用),取其第2行第2个元素,取其第2行元素,取其第1列和第3列的元素;计算a/3、5*a、a+2等的值;程序:>> a=[7,9,5;5,9,4]a =7 9 55 9 4>> a=[7,9,5;5 9 4]a =7 9 55 9 4>> b=a([2],[2])b =9>> c=a([2],:)c =5 9 4>> d=a(:,[1,3])d =7 55 4>> e=a/3e =2.33333.0000 1.66671.6667 3.0000 1.3333>> 5*aans =35 45 2525 45 20>> a+2ans =9 11 77 11 62、生成2×3阶的全1矩阵x和3×3魔方矩阵y,计算a+x,x*y,x/y,y^2,2^a;a.*x, a.\x,y.^2,2.^a 的值。
实验一MATLAB环境及命令窗口1.使用命令窗口>> a=2.5a =2.5000>> b=[1 2;3 4]b =1 23 4>> c='a'c =a>> d=sin(a*b*pi/180)d =0.0436 0.08720.1305 0.1736>> e=a+ce =99.5000>> a=2.5;>> b=[1 2;3 4]b =1 23 4>> b=[1 2;3 4] %B为矩阵b =1 23 4>> d=sin(a*b*pi/...180)d =0.0436 0.08720.1305 0.17362.使用当前目录>> clear>> x=[1 2 3 4 5];>> y=sin(x)y =0.8415 0.9093 0.1411 -0.7568 -0.95893.自我练习>> x=[1 3 5 7 9];>> y=2*xy =2 6 10 14 18>> plot(y)实验二MATLAB的数值计算1.创建矩阵>> a=[1 2 3;4 5 6;7 8 9]a =1 2 34 5 67 8 9>> a=[1:3;4:6;7:9]a =1 2 34 5 67 8 9>> a=[linspace(1,3,3);linspace(4,6,3);linspace(7,9,3)]a =1 2 34 5 67 8 9>> a=ones(3)a =1 1 11 1 11 1 1>> a(1,:)=[1 2 3];>> a(2,:)=[4 5 6]a =1 2 34 5 61 1 1>> b=a(3:6)b =1 2 5 1>> b(1)=[]b =2 5 12.矩阵的运算(1).解线性方程组>> a=[2 -3 0 2;1 5 2 1;3 -1 1 -1;4 1 2 2]a =2 -3 0 21 52 13 -1 1 -14 1 2 2>> b=[8;2;7;12];>> x=a\bx =3.00000.0000-1.00001.0000(2).解矩阵方程>> A=[1/3 0 0;0 1/4 0;0 0 1/7];>> B=inv(A)*inv(inv(A)-eye(3))*6*AB =3.0000 0 00 2.0000 00 0 1.0000(3).计算特征值和特征向量,验证它们之间的关系>> x=[1 2 0;2 5 -1;4 10 -1]x =1 2 02 5 -14 10 -1>> [v,d]=eig(x)v =-0.2440 -0.9107 0.4472-0.3333 0.3333 0.0000-0.9107 -0.2440 0.8944d =3.7321 0 00 0.2679 00 0 1.0000>> x*vans =-0.9107 -0.2440 0.4472-1.2440 0.0893 0.0000-3.3987 -0.0654 0.8944>> x*dans =3.7321 0.5359 07.4641 1.3397 -1.000014.9282 2.6795 -1.00003.多项式的运算(1).表达式G(x)=(x-4)(x+5)(x^2-6x+9)>> p1=[1 -4]p1 =1 -4>> p2=[1 5]p2 =1 5>> p3=[1 -6 9]p3 =1 -6 9>> G=conv(p1,p2)G =1 1 -20>> G=conv(G,p3)G =1 -5 -17 129 -180>> x=0:20;>> y=polyval(G,x)y =Columns 1 through 8-180 -72 -14 0 0 40 198 576Columns 9 through 161300 2520 4410 7168 11016 16200 22990 31680Columns 17 through 2142588 56056 72450 92160 115600>> x0=roots(G)x0 =-5.00004.00003.00003.0000>> deconv(deconv(G,p3),p2)ans =1-4(2).多项式拟合与插值G(x)=x^4-5x^3-17x^2+129x-180>> G=[1 -5 -17 129 -180];>> x=0:20;>> y=polyval(G,x);>> y0=0.1*randn(1,21)y0 =Columns 1 through 100.0538 0.1834 -0.2259 0.0862 0.0319 -0.1308 -0.0434 0.0343 0.3578 0.2769Columns 11 through 20-0.1350 0.3035 0.0725 -0.0063 0.0715 -0.0205 -0.0124 0.1490 0.1409 0.1417Column 210.0671>> y1=y+y0y1 =1.0e+05 *Columns 1 through 10-0.0018 -0.0007 -0.0001 0.0000 0.0000 0.0004 0.0020 0.0058 0.0130 0.0252Columns 11 through 200.0441 0.0717 0.1102 0.1620 0.2299 0.3168 0.4259 0.5606 0.7245 0.9216Column 211.1560>> G1=polyfit(x,y1,4)G1 =1.0000-5.0019 -16.9766 128.9086 -179.9123实验三MATLAB的符号计算>> f=sym('sin(x)')f =sin(x)>> g=sym('y/exp(-2*t)') g =y*exp(2*t)>> syms x y t>> f=sym(sin(x))f =sin(x)>> g=sym(y/exp(-2*t)) g =y*exp(2*t)>> symvar(g)ans =[ t, y]>> symvar(g,1)ans =y>> findsym(g,2)ans =y,t>> x=0:10;>> y=subs(f,x)y =[ 0, sin(1), sin(2), sin(3), sin(4), sin(5), sin(6), sin(7), sin(8), sin(9), sin(10)] >> f1=subs(f,'5')f1 =sin(5)>> y1=double(f1)y1 =-0.9589>> y2=eval(f1)y2 =-0.9589>> digitsDigits = 32>> vpa(f1)ans =-0.95892427466313846889315440615599>> VPA(F1,10)Undefined function or variable 'F1'.Did you mean:>> vpa(f1,10)ans =-0.9589242747>> f=sym('sn(x)');>> g=sym('y/exp(-2*t)')g =y*exp(2*t)>> finverse(f)Warning: Functional inverse cannot be found.> In D:\Program Files\MATLAB\R2013a\toolbox\symbolic\symbolic\symengine.p>symengine at 56In sym.sym>sym.privBinaryOp at 1693In sym.finverse at 31ans =[ empty sym ]>> finverse(g,'t')ans =log(t/y)/2>> compose(g,'t')ans =t*exp(2*t)>> compose(f,g)ans =sn(y*exp(2*t))>> compose(f,g,'z')ans =sn(z*exp(2*t))>> diff(f)ans =diff(sn(x), x)>> cos(x)ans =Columns 1 through 81.0000 0.5403 -0.4161 -0.9900 -0.6536 0.2837 0.9602 0.7539 Columns 9 through 11-0.1455 -0.9111 -0.8391>> diff(g)ans =exp(2*t)>> diff(g,'t')ans =2*y*exp(2*t)>> syms t x>> limit((sin(x+t)-sin(x)/t,t,0)limit((sin(x+t)-sin(x)/t,t,0)|Error: Expression or statement is incorrect--possibly unbalanced (, {, or [.>> limit((sin(x+t)-sin(x))/t,t,0)ans =cos(x)>> int(f)Warning: Explicit integral could not be found.ans =int(sn(x), x)>> f=sym('sin(x)")f=sym('sin(x)")|Error: A MATLAB string constant is not terminated properly. >> f=sym('sin(x)')f =sin(x)>>>> int(f)ans =-cos(x)>> int(g)ans =(y^2*exp(2*t))/2>> int(g,'t')ans =(y*exp(2*t))/2>> int(g,'t',0,10)ans =(y*(exp(20) - 1))/2>> f=sym('x^2+3*x+2')f =x^2 + 3*x + 2>> g=sym('x^3-1')g =x^3 - 1>> f+gans =x^3 + x^2 + 3*x + 1>> f~=gans =x^2 + 3*x + 2 ~= x^3 - 1>> f~=gans =x^2 + 3*x + 2 ~= x^3 - 1>> pretty(f)2x + 3 x + 2>> f1=horner(f)f1 =x*(x + 3) + 2>> f2=factor(f1)f2 =(x + 2)*(x + 1)>> somple(g)Undefined function 'somple' for input arguments of type 'sym'. >> simple(g)simplify:x^3 - 1radsimp:x^3 - 1simplify(Steps = 100): x^3 - 1combine(sincos):x^3 - 1combine(sinhcosh): x^3 - 1combine(ln):x^3 - 1factor:(x - 1)*(x^2 + x + 1) expand:x^3 - 1combine:x^3 - 1rewrite(exp):x^3 - 1rewrite(sincos):x^3 - 1rewrite(sinhcosh):x^3 - 1rewrite(tan):x^3 - 1mwcos2sin:x^3 - 1collect(x):x^3 - 1ans =x^3 - 1>> h=sym2poly(f)h =1 32 >> f=poly2sym(h)f =x^2 + 3*x + 2>> A=sym('[x x^2;2*x cos(2*t)]')A =[ x, x^2][ 2*x, cos(2*t)]>> A.'ans =[ x, 2*x][ x^2, cos(2*t)]>> det(A)ans =- 2*x^3 + cos(2*t)*x>> diff(A)ans =[ 1, 2*x][ 2, 0]>> eq1=sym('2*x1-3*x2+2*x4=8')eq1 =2*x1 - 3*x2 + 2*x4 == 8>> eq2=('x1+5*x2+2*x3+x4=2');>> eq3=('3*x1-x2+x3-x4=7');>> eq2=sym('x1+5*x2+2*x3+x4=2'); >> eq3=sym('3*x1-x2+x3-x4=7')eq3 =3*x1 - x2 + x3 - x4 == 7>> eq4=sym('4*x1+x2+2*x3+2*x4=12');>> [x1,x2,x3,x4]=solve(eq1,eq2,eq3,eq4)x1 =3x2 =x3 =-1x4 =1>> [y,z]=dsolve('Dy-z=cos(x),Dz+y=1','x')y =sin(x)*(C4 + (sin(x)*(sin(x) + 2))/2) + cos(x)*(C5 + x/2 + 2*cos(x/2)^3*sin(x/2) + 2*cos(x/2)^2 - cos(x/2)*sin(x/2))z =cos(x)*(C4 + (sin(x)*(sin(x) + 2))/2) - sin(x)*(C5 + x/2 + 2*cos(x/2)^3*sin(x/2) + 2*cos(x/2)^2 - cos(x/2)*sin(x/2))>>实验四MATLAB的计算可视化和GUI设计1.绘制二维曲线窗口1:y=sin(2πt),t∈[0,2]; 窗口2:y=e^(-t), y=e^(-2t), y=e^(-3t) ,t∈[0,2]; 窗口3:矩形脉冲:宽度为1,高度为2,开始时间为1;窗口4:单位圆>> subplot(2,2,1)>> t1=0:0.1:2;>> y1=sin(2*pi*t1);>> plot(t1,y1)>> title('y=sin(2\pit)')>> subplot(2,2,2)>> t2=0:0.1:2;>> y2=[exp(-t2);exp(-2*t2);exp(-3*t2)];>> plot(t2,y2)>> axis([0 2 -0.2 1.2]);>> title('y=e-t,y=e-2t,y=e-3t')>> subplot(2,2,3);>> t3=[0 1 1 2 2 3 4];>> y3=[0 0 2 2 0 0 0];>> plot(t3,y3);>> axis([0 4 -0.5 3]);>> title('脉冲信号')>> subplot(2,2,4);>> t4=0:0.1:2*pi;>> plot(sin(t4),cos(t4))>> axis([-1.2 1.2 -1.2 1.2]);>> axis equal;>> title('圆')2.绘制多条二阶系统时域曲线和三维图形二阶系统的时域响应为:y=1-1/(sqrt(1-zeta^2))*e^(-zetax)*sin(sqrt(1-zeta^2)x+a*cos(zeta)) >> x=0:0.1:20;>> zeta=0zeta =>> y1=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt(1-zeta^2)*x+acos(zeta));>> plot(x,y1)>> zeta=0.3;>> y2=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt(1-zeta^2)*x+acos(zeta));>> hold on>> plot(x,y2,'r:')>> zeta=0.5;>> y3=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt(1-zeta^2)*x+acos(zeta));>> plot(x,y3,'g*')>> zeta=0.707;>> y4=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt(1-zeta^2)*x+acos(zeta));>> plot(x,y4,'m--')>> title('二阶系统曲线')>> legend('\zeta=0','\zeta=0.3','\zeta=0.5','zeta=0.707')>> grid on>> gtext('\zeta=0')>> gtext('\zeta=0.3')>> gtext('\zeta=0.5')>> gtext('\zeta=0.707')>> ginput(3)ans =4.5853 1.09067.9032 1.008814.2166 1.01463.特殊图形(1).绘制条形图>> x=0:0.3:2*pi;>> y=sin(x);>> subplot(2,2,1)>> bar(x,y,0.5)>> axis([0,2*pi,-1.2,1.2]) (2).绘制实心图>> subplot(2,2,2)>> fill(x,y,'r')(3).绘制阶梯图>> subplot(2,2,3)>> stairs(x,y)(4).绘制火柴杆图>> subplot(2,2,4)>> stem(x,y)。
实验一 matlab 基本操作一、 实验目的熟悉matlab 的安装与启动;熟悉matlab 用户界面;熟悉matlab 功能、建模元素;熟悉matlab 优化建模过程。
二、 实验设备与仪器1.微机2.matlab 仿真软件三、 实验步骤1. 了解matlab 的硬件和软件必备环境;2. 启动matlab ;3. 熟悉标题栏,菜单栏,工具栏,元素选择窗口,状态栏,控制栏以及系统布局区;4. 学习优化建模过程。
四、 实验报告要求1. 写出matlab 系统界面的各个构成;以及系统布局区的组成;以及每一部分的功能;2. 优化建模过程应用举例五、实验内容(一)、Matlab 操作界面1. 命令窗口(command window )2. 命令历史窗口(command history )3. 工作空间管理窗口(workspace )4. 当前路径窗口(current directory )(二)、优化建模过程应用举例1、简单矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321A 的输入步骤。
(1)在键盘上输入下列内容A = [1,2,3; 4,5,6; 7,8,9](2)按【Enter 】键,指令被执行。
(3)在指令执行后,MATLAB 指令窗中将显示以下结果:A = 1 2 34 5 67 8 92、矩阵的分行输入。
A=[1,2,34,5,67,8,9]A =1 2 34 5 67 8 93、指令的续行输入S=1-1/2+1/3-1/4+ ...1/5-1/6+1/7-1/8S =0.63454、画出衰减振荡曲线t ey t 3sin 3-=及其它的包络线30t e y -=。
t 的取值范围是]4,0[π。
t=0:pi/50:4*pi;y0=exp(-t/3);y=exp(-t/3).*sin(3*t);plot(t,y,'-r',t,y0,':b',t,-y0,':b')grid5、画出2222)sin(y x y x z ++=所表示的三维曲面。
实验一、熟悉MATLAB环境[实验目的]1.熟悉MATLAB主界面,并学会简单的菜单操作。
2.学会简单的矩阵输入与信号输入。
3.掌握部分绘图函数。
[实验内容]一.熟悉简单的矩阵输入1.从屏幕上输入矩阵A=[1 2 3;4 5 6;7 8 9]或A=[1,2,3;4,5,6;7,8,9]观察输出结果。
2.试用回车代替分号,观察输出结果。
3.输入矩阵B=[9,8,7;6,5,4;3,2,1]C=[4,5,6;7,8,9;1,2,3], 键入A B C 观察结果4.选择File|new菜单中的M-file,输入B=[9 ,8,7;6,5,4;3,2,1],保存为B.M文件,退出编辑环境。
此时在工作环境中使用B命令就可调出B矩阵。
[注]4.2版的MATLAB不能直接存为.m文件,而存为.txt文件,需在DOS下改为M文件,即在工作环境下键入!rename B.txt B.m既可。
5.再试着输入一些矩阵,矩阵中的元素可为任意表达式,但注意矩阵中各行各列的元素个数需分别相等,否则会给出出错信息。
6.输入who和whos观察结果,了解其作用。
二.基本序列运算1.数组的加减乘除和乘方运算输入A=[1 2 3],B=[4 5 6],求C=A+B,D=A-B,E=A.*B,F=A./B,G=A.^B,并用stem画出A,B,C,D,E,F,G。
再输入一些数组,进行类似运算。
2.粗略描绘下列各函数的波形(其中对于连续信号可取时间间隔为0.001)a.b.c.d.e.f.g.实验结果一.熟悉简单的矩阵输入1.A=[1 2 3;4 5 6;7 8 9]A =1 2 34 5 67 8 9A=[1,2,3;4,5,6;7,8,9]A =1 2 34 5 67 8 92.试用回车代替分号,观察输出结果A =1 2 34 5 67 8 93.A=[1,2,3;4,5,6;7,8,9],B=[9,8,7;6,5,4;3,2,1],C=[4,5,6;7,8,9;1,2,3], 键入A B C 观察结果A =1 2 34 5 67 8 99 8 76 5 43 2 1C =4 5 67 8 91 2 35.A=[1,2,5;9,8,6;6,5,3];B=[3,8;9,6];A,BA =1 2 59 8 66 5 3B =3 89 66.输入who和whos观察结果,了解其作用。
实验⼀MATLAB编程环境及常⽤信号的⽣成及波形仿真实验⼀ MATLAB 编程环境及常⽤信号的⽣成及波形仿真⼀、实验⽬的1、学会运⽤Matlab 表⽰常⽤连续时间信号的⽅法2、观察并熟悉这些信号的波形和特性:3、实验内容:编程实现如下常⽤离散信号:单位脉冲序列,单位阶跃序列,矩形序列,实指数序列,正弦序列,复指数序列;⼆、实验原理及实例分析2、如何表⽰连续信号?从严格意义上讲,Matlab 数值计算的⽅法不能处理连续时间信号。
然⽽,可利⽤连续信号在等时间间隔点的取样值来近似表⽰连续信号,即当取样时间间隔⾜够⼩时,这些离散样值能被Matlab 处理,并且能较好地近似表⽰连续信号。
3、Matlab 提供了⼤量⽣成基本信号的函数。
如:(1)指数信号:K*exp(a*t)(2)正弦信号:K*sin(w*t+phi)和K*cos(w*t+phi)(3)复指数信号:K*exp((a+i*b)*t)(4)抽样信号:sin(t*pi)注意:在Matlab 中⽤与Sa(t)类似的sinc(t)函数表⽰,定义为:)t /()t (sin )t (sinc ππ=(5)矩形脉冲信号:rectpuls(t,width)(6)周期矩形脉冲信号:square(t,DUTY),其中DUTY 参数表⽰信号的占空⽐DUTY%,即在⼀个周期脉冲宽度(正值部分)与脉冲周期的⽐值。
占空⽐默认为0.5。
(7)三⾓波脉冲信号:tripuls(t, width, skew),其中skew 取值范围在-1~+1之间。
(8)周期三⾓波信号:sawtooth(t, width)(9)单位阶跃信号:y=(t>=0)常⽤的图形控制函数1)学习clc, dir(ls), help, clear, format,hold, clf控制命令的使⽤和M⽂件编辑/调试器使⽤操作;2)主函数函数的创建和⼦程序的调⽤;3)plot,subplot, grid on, figure, xlabel,ylabel,title,hold,title,Legend,绘图函数使⽤;axis([xmin,xmax,ymin,ymax]):图型显⽰区域控制函数,其中xmin为横轴的显⽰起点,xmax为横轴的显⽰终点,ymin为纵轴的显⽰起点,ymax为纵轴的显⽰终点。
实验一基本操作和简单语句输入一、实验环境计算机MATLAB软件二、实验目的1、熟悉MATLAB的命令窗口。
2、掌握MATLAB的一些基本操作,能够进行一般的数值计算。
3、实现语句的重调和修改。
三、实验内容与步骤1、启动MATLAB2、观察MATLAB窗口的各个组成部分(1)了解菜单栏各窗口项的功能,用鼠标打开MA TLAB的各个菜单,在状态栏里显示当前鼠标所指的菜单项的含义。
(2)用鼠标指向常用工具栏的每个工具按钮,了解各工具按钮的含义。
3、命令窗口的打开和关闭(1)查看菜单窗口中有哪些菜单命令。
(2)在命令窗口中输入命令a=3;b=4;y=a*b+a/b,然后回车,查看命令显示结果。
>> a=3;b=4;y=a*b+a/b,y =12.7500(3)利用MATLAB中编辑命令时常用的按键功能,调用上一个语句,对它进行修改(如把分号改成逗号,看运行结果),并把运行结果复制到word中保存。
>> a=3,b=4,y=a*b+a/b,a =3b =4y =12.7500(4)关闭命令窗口。
(5)打开命令窗口。
4、使用MATLAB帮助熟悉MATLAB的帮助系统,通过帮助系统了解有关内容。
5、在命令窗口中输入demo,将出现MA TLAB的演示窗,通过演示窗,对MATLAB 的功能进行一次浏览。
四、练习1、计算y=x^3+(x-0.98)^2/(x+1.25)^3-5*(x+1/x),x=2,x=3时的值。
>> x=2;y=x^3+(x-0.98)^2/(x+1.25)^3-5*(x+1/x)y =-4.4697>> x=3;y=x^3+(x-0.98)^2/(x+1.25)^3-5*(x+1/x)y =10.38652、计算cos(pi/3)-sqrt(9-sqrt(2))>> cos(pi/3)-sqrt(9-sqrt(2))ans =-2.25423、已知:a=3,A=4,b=a^2,B=b^2-1,c=a+A-2*B,C=a+B+2*c,求:C>> a=3;A=4;b=a^2;B=b^2-1;c=a+A-2*B;C=a+B+2*cC =-2234、复数z1=1+3*i,z2=1+2*i,z3=2*exp((pi/6)*i),求z=(z1*z2)/z3>> z1=1+3*i;z2=1+2*i;z3=2*exp((pi/6)*i);z=(z1*z2)/z3z =-0.9151 + 3.4151i实验二矩阵和数组的操作一、实验环境计算机MATLAB软件二、实验目的1、掌握矩阵和数组的一般操作,包括创建、保存、修改和调用等。
实验一: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 eyeA=eye(3)A=1 0 00 1 00 0 12.任意创建3个变量,分别为数值、矩阵、字符串,保存到mydat.mat文件,再把my_data.mat文件中的变量读取到MatLab工作空间内;查找已创建变量的信息,删除变量;学习使用clc、clear,观察command window、command history和workspace等窗口的变化结果。
第 1 页 共 6 页
《数字信号处理》 实验报告
学院 信息学院 专业 电子信息工程 班级 电子08
姓名 学号 时间 2010.10.25
实验一 熟悉MATLAB环境
一、实验目的
1、熟悉MATLAB(2008a版本)的主要操作命令。
2、学会离散信号及系统的表达和运算。
3、掌握绘图及查看结果的命令。
4、用MATLAB编程并学会创建函数。
二、实验内容
1、用M语句实现如下向量数组(序列),并由stem语句绘离散序列图(即杆图)。
(并标注横轴、纵轴和标题)
a. x(n)=0.8n ; n取0-15。
图a 指数序列
b. x(n)=e(0.2+3j)n ; n取0-15。
图b 复指数序列: 模 相角
第 2 页 共 6 页
c. x(n)=3cos(0.125πn+0.2π)+2sin(0.25πn+0.1π) n取0-15。
图C 复合正弦序列
d. 把c.的x(n)周期化,周期16点,绘4个周期。
图d-16点周期化
e. 把c.的x(n)周期化,周期10点,绘4个周期。
图e-10点周期化
第 3 页 共 6 页
2、序列的运算:
已知x(n)= [1,-1,3,5 ], 计算y(n)及p(n)并绘杆图。(y(n)为有限长7点,P(n)
为9点)。
a. y(n)= 2x(n+2)- x(n-1)-2 x(n);
图a y(n)序列
b. P(n)= ∑nx(n-k),求和k=1,2,~5
图b P(n)序列
3、编一个用户函数名stepshift(n0,n1,n2)实现阶跃序列 U[n-n0]。其中n0在起点
n1和终点n2之间位置可选。并自选3个入口参数绘图。
M文件程序如下所列。
function u = stepsh(N0,N1,N2);
u=[zeros(1,N1),zeros(1,N0-N1-1),ones(1,N2-N0+1)];
stem(u);
第 4 页 共 6 页
title('step signal');
保存
在cw窗口调用函数
N0=7;N1=5;N2=20;
y=stepsh(N0,N1,N2)
图 自定义stepshift函数效果举例
4、绘因果离散系统(DF)频率特性:
H(z)=(1+1.4141/Z+1/z*z)/(1-0.67/z+0.9/z*z)
求H(z)的幅频响应,与相频响应。
DF幅频响应图 DF相频响应图
5、计算离散卷积
序列a={8 -2 -1 2 3}和b={2 3 -1 -3}的线性卷积序列C,绘结果图。
求序列C的程序如下
x=[8,-2,-1,2,3];
h=[2,3,-1,-3];
y=conv(x,h);
stem(y);
第 5 页 共 6 页
xlabel('n');
ylabel('y(K)');
title('y(n)=x(n)*h(n)');
序列a与b线性卷积的结果C的杆图
6、求差分方程描述的离散系统的单位脉冲响应h(n), 长度 0—49共50点
y(n)+0.1 y(n-1)-0.06 y(n-2) = x(n)- 2x(n-1)
程序如下:
b=[1,-2];
a=[1,0.1,-0.06];
[h,t]=impz(b,a,50);
stem(h);
xlabel('n(samples)');
ylabel('Amplitude');
title('impulse response')
系统单位脉冲响应h(n)图
第 6 页 共 6 页
三、回答思考题内容
1、对周期信号应当如何采样,才能保证周期延拓后和原信号一样?
2、在有限长序列的情况下,对于离散系统h(n),如何得到在输入x(n)时的
输出y(n)?