matlab实验报告01
- 格式:doc
- 大小:40.50 KB
- 文档页数:7
开课学院及实验室:机电学院 2012年11 月16日
(2)在E盘新建一个文件夹并把其加入搜索路径。
截屏相关过程结果并保存。
(3)逐步按照以下步骤进行并记录各个步骤的结果:
1)在指令窗中输入clear指令;
5)再次在指令窗中输入clear指令后,输入
8)把cow.m暂时移动到另一个无关的文件夹,如“我的文档”。
(2)保存全部变量为数据文件Mydata.mat;在对应文件夹中找到该文件,截屏后保存结果;
(4)删除全部内存变量;
Editor/Debugger和脚本编写初步
把以下指令编写为M脚本文件,并运行:
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') grid
什么?此方法也是查询函数注释的有效方法,请牢记。
实验一 数学模型的MatlAB 描述一、MatlAB 中数学模型的表示MatlAB 中数学模型的表示主要有三种基本形式:传递函数分子/分母多项式模型、传递函数零极点增益模型和状态空间模型。
它们各有特点,有时需在各种模型之间进行转换。
1. 传递函数分子/分母多项式模型当传递函数为nn n nm m m m a s a sa s ab s b sb sb s G ++++++++=----11101110)(时,在MatlAB 中,直接用分子、分母的系数表示,即],,,[10m b b b num = ],,,[10n a a a d e n = ),()(d e n num tf s G =例1:已知一系统的传递函数2432328()3842ss G s s s s s ++=++++,提取其分子和分母多项式,并绘制零极点图*。
>> num=[3 2 8]; den=[1 3 8 4 2]; G=tf(num,den) [tt,ff]=tfdata(G ,'v') pzmap(G)grid on 结果如下:2. 传递函数的零极点增益模型当传递函数为)())(()())(()(1010n m p s p s p s z s z s z s Ks G ------=时,在MatlAB 中,用[z,p,k]矢量组表示,即[][][]),,()(,,,,,1010k p z zpk s G K k p p p p z z z z n m ====例2:求一传递函数222328()(61)(24)s s G s s s s s ++=++++的零极点及其增益,并绘制零极点图。
>> num=[3 2 8];den=conv([1 6 12],[1 2 4]); G=tf(num,den) GG=zpk(G)[z,p,k]=zpkdata(G ,'v') pzmap(G) grid结果如下:3.状态空间模型当系统的数学模型为状态空间表达式{BuAXX+='+=DuCXY时,在MatlAB中,用[A、B、C、D]矩阵组表示,即系统表示为()DCBAss、、、实验3:已知两系统串联,其中2132265452s sGs s s++=+++,222712432s sGs s++=++,求此串联系统的总的传递函数。
程序设计实验报告(matlab)实验一: 程序设计基础实验目的:初步掌握机器人编程语言Matlab。
实验内容:运用Matlab进行简单的程序设计。
实验方法:基于Matlab环境下的简单程序设计。
实验结果:成功掌握简单的程序设计和Matlab基本编程语法。
实验二:多项式拟合与插值实验目的:学习多项式拟合和插值的方法,并能进行相关计算。
实验内容:在Matlab环境下进行多项式拟合和插值的计算。
实验方法:结合Matlab的插值工具箱,进行相关的计算。
实验结果:深入理解多项式拟合和插值的实现原理,成功掌握Matlab的插值工具箱。
实验三:最小二乘法实验目的:了解最小二乘法的基本原理和算法,并能够通过Matlab进行计算。
实验内容:利用Matlab进行最小二乘法计算。
实验方法:基于Matlab的线性代数计算库,进行最小二乘法的计算。
实验结果:成功掌握最小二乘法的计算方法,并了解其在实际应用中的作用。
实验六:常微分方程实验目的:了解ODE的基本概念和解法,并通过Matlab进行计算。
实验内容:利用Matlab求解ODE的一阶微分方程组、变系数ODE、高阶ODE等问题。
实验方法:基于Matlab的ODE工具箱,进行ODE求解。
实验结果:深入理解ODE的基本概念和解法,掌握多种ODE求解方法,熟练掌握Matlab的ODE求解工具箱的使用方法。
总结在Matlab环境下进行程序设计实验,使我对Matlab有了更深刻的认识和了解,也使我对计算机科学在实践中的应用有了更加深入的了解。
通过这些实验的学习,我能够灵活应用Matlab进行各种计算和数值分析,同时也能够深入理解相关的数学原理和算法。
这些知识和技能对我未来的学习和工作都将有着重要的帮助。
实验一、Matlab 软件的安装与基本使用一、实验目的和要求:学会MA TLAB 软件的安装方法,熟悉MA TLAB 的工作环境及其基本功能的设置,以及基本指令的使用,了解MA TLAB 数值数组及其矩阵操作的使用、复数的输入方法。
二、实验内容和步骤:1、完成MA TLAB 软件的安装。
2、安装完成后启动MA TLAB 软件,熟悉MA TLAB 的工作环境。
打开MA TLAB 7,默认打开的窗口包括: (1)命令窗口(Command Window); (2)命令历史窗口(Command History); (3)工作间管理窗口(Workspace);(4)当前路径窗口(Current Directory)此外,还有捷径键、编译窗口、图形窗口和帮助窗口等其他种类的窗口,结合课本实例,熟悉每个窗口的功能和基本使用。
3、(1)求23)]47(212[÷-⨯+的运算结果,注意命令后有无分号的作用。
命令及结果如下:t=[12+2*(7-4)]/3^2t = 2(2)求20012x x v t at =++的值,其中t=5s 、010x m =、015/v m s =、29.81/sec a m =-。
命令及结果如下:syms t x0 v0 a; t=5,x0=10,v0=15,a=-9.18; x=x0+v0*t+1/2*a*t^2 t = 5 x0 = 10 v0 = 15 x = -29.7500(3) 设3x =, 4v =,用MA TLAB 命令求下列各式的值:1)22log()x v + 命令及结果如下:syms x v x=3,v=4; log(x^2+v^2)x = 3 ans =3.21892)2(2)x v - 命令及结果如下:syms x vx=3,v=4;f=(sqrt(x-3))/(x-2*v)^2 x = 3 f = 0 3) |sin 2|vx e命令及结果如下: syms x v x=3,v=4;t=abs(2*x)*exp(v) x = 3t = 327.58894、用三种不同的方法输入矩阵1234246836912a ⎛⎫ ⎪= ⎪ ⎪⎝⎭,运行并观察实验结果,矩阵的三种基本输入方法如下:a=[1,2,3,4;3,4,6,8;3,6,9,12] a =1 2 3 4 3 4 6 8 3 6 9 12>> a=[1,2,3,43,4,6,8 3,6,9,12]a =1 2 3 4 3 4 6 8 3 6 9 12>> >>利用M 文件创建 1 2 3 4 3 4 6 8 3 6 9125、输入复数矩阵⎥⎦⎤⎢⎣⎡-+++=i ii i24356223B ,并求其实部、虚部、模和幅角(分别用弧度和角度表示),了解MA TLAB 向量化运算的特点。
实验结果及分析实验1:程序如下x=1:10y=2*x;plot(x,y)仿真结果:实验结果分析:仿真结果是条很规则的直线,X轴和Y轴一一对应,清楚明了,而序又特别简单。
所以用Maltab 软件很方便地画出规则的直线,方便研究。
实验结果及分析1、A=2、A=1A=实验结果及分析实验三 Matlab在信号与系统中的应用实验名称实验1、掌握信号与系统课程中基本知识的Matlab编程、仿真方法目的实验原理实验1程序:b=[1];a=[1 1];p=;t=0:p:5;x=exp(-3*t);subplot(1,2,1);impulse(b,a,0:p:5);title('冲激响应');subplot(1,2,2);step(b,a,0:p:5);title('阶跃响应');实验内容<设计性实验>1、用MATLAB在时域中编程求解y′(t)+y(t)=f(t), f(t)= exp(-3t)ε(t)的冲激响应、阶跃响应。
在simulink仿真环境下,设计系统框图,分析系统的冲激响应、阶跃响应。
<设计性实验>(选做)2、用MATLAB在时域中编程求解y′(t)+y(t)=f(t), f(t)=(1+exp(-3t))ε(t)的冲激响应、阶跃响应,要求用conv编程实现系统响应。
在simulink仿真环境下,设计系统框图,分析系统的冲激响应、阶跃响应。
实验结果及分析实验1仿真结果:simulink仿真环境下冲激响应阶跃响应实验名称实验四 Matlab在数字信号处理中的应用实验结果及分析实验1仿真结果:6khz12kHZ。
matlab第⼀次实验报告Matlab第⼀次实验报告2012029010010尹康1. 编程实现以下数列的图像,⽤户能输⼊不同的初始值以及系数。
并以x,y为坐标显⽰图像x(n+1) = a*x(n)-b*(y(n)-x(n)^2);y(n+1) = b*x(n)+a*(y(n)-x(n)^2)程序代码:n=input('input the number of pionts:');a=input('input a:');b=input('input b:');x=[];y=[];x(1)=input('input x1:');y(1)=input('input y1:'); %输⼊点数、初始值以及系数for i=2:nx(i)=a*x(i-1)-b*(y(i-1)-x(i-1)^2);y(i)=a*x(i-1)+b*(y(i-1)-x(i-1)^2); %根据已输⼊的数据进⾏迭代endfigure;plot(x,y,'linewidth',2)axis equal %横纵坐标等⽐例text(x(1),y(1),'1st point') %标记初始点运⾏结果:⼼得体会及改进:在输⼊某些数据时,所绘曲线可能是⼀条折线(如:n=5,a=b=x1=1,y1=2)甚⾄只有⼀个点(如:n=5,a=b=x1=y1=1),此时可能出现曲线与坐标轴重合或⽆法看到点的情况,为了更清晰地展现曲线,可以使线宽适当加宽并标记初始点。
2.编程实现奥运5环图,允许⽤户输⼊环的直径。
程序代码:函数circle:%在指定的圆⼼坐标处,⽤指定颜⾊、宽度的线条绘出指定半径、圆⼼⾓的弧function f=circle(r,x,y,color,linw,alp1,alp2)alp=linspace(alp1,alp2);X=r*cos(alp)+x;Y=r*sin(alp)+y;plot(X,Y,color,'linewidth',linw)end主程序代码:r=input('input r:');linw=10; t=0.5; %指定线宽、间隔时间title('奥运五环图')hold onaxis equalaxis([-2.8*r,5.4*r,-1.6*r,2.6*r]); %使横纵坐标等⽐列/给定坐标轴范围pause(t); circle(r,-1.2*r,r,'b',linw, 0.7*pi,1.8*pi);pause(t); circle(r,0.01*r,0,'y',linw, 0.5*pi,2.2*pi);pause(t); circle(r,-1.2*r,r,'b',linw,-0.3*pi,0.8*pi);pause(t); circle(r,1.25*r,r,'k',linw, 0.7*pi,1.8*pi);pause(t); circle(r,0.01*r,0,'y',linw, 0.1*pi,0.5*pi);pause(t); circle(r,2.49*r,0,'g',linw, 0.5*pi,2.2*pi);pause(t); circle(r,1.25*r,r,'k',linw,-0.3*pi,0.8*pi);pause(t); circle(r,3.70*r,r,'r',linw, 0.7*pi,1.8*pi);pause(t); circle(r,2.49*r,0,'g',linw, 0.1*pi,0.5*pi);pause(t); circle(r,3.70*r,r,'r',linw,-0.3*pi,0.8*pi);pause(t); axis off%隐藏坐标轴运⾏结果:⼼得体会及改进:1.⼀般来讲,后绘的图形会覆盖先绘的图形,可以利⽤这⼀特性,将五环分成⼗段先后绘出,通过覆盖到达“环环相扣”的效果;2.分别绘出⼗段图形时,发现⼤段代码相似甚⾄重复的,因此可编写`circle`函数来达到简化程序的⽬的;3.适当使⽤`pause`指令,突出分别绘出的⼗段图形的“先后”关系,更清晰地展现作者意图及绘图过程;4.第⼀次绘出图形后发现五环的位置没有达到预想效果时,不必重新建⽴坐标轴,可以通过微调圆⼼坐标(0.01r)修正。
学生实验报告一、实验目的 熟悉MATLAB 软件的用户环境;了解MATLAB 软件的一般命令;掌握MATLAB 向量、数组、矩阵操作与运算函数;掌握MATLAB 软件的基本绘图命令;掌握MATLAB 语言的几种循环、条件和开关选择结构,及其编程规范。
通过该实验的学习,使学生能灵活应用MATLAB 软件解决一些简单问题,能借助MATLAB 软件的绘图功能,对函数的特性进行探讨,广泛联想,大胆猜想,发现进而证实其中的规律。
二、实验仪器、设备或软件: 电脑,MATLAB 软件三、实验内容 1.MATLAB 软件的数组操作及运算练习;2.直接使用MATLAB 软件进行作图练习;3.用MATLAB 语言编写命令M 文件和函数M 文件。
四、实验步骤1.在D 盘建立一个自己的文件夹;2.开启软件平台——MATLAB ,将你建立的文件夹加入到MATLAB 的搜索路径中;3.利用帮助了解函数max, min, sum, mean, sort, length ,rand, size 和diag 的功能和用法;4.开启MATLAB 编辑窗口,键入你编写的M 文件(命令文件或函数文件);5.保存文件(注意将文件存入你自己的文件夹)并运行;6.若出现错误,修改、运行直到输出正确结果;7.写出实验报告,并浅谈学习心得体会。
五、实验要求与任务根据实验内容和步骤,完成以下具体实验,要求写出实验报告(实验目的→问题→算法与编程→计算结果或图形→心得体会)1. 已知矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=321212113A , ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=101012111B 要求:(1)屏幕输出A 与B ;(2)A 的转置A′;(3)求A+B 的值;(4)求A-B 的值;(5)求4A ;(6)求A×B ;(7)求A -1.2. 有一函数f (x ,y )=x 2+sin xy +2y ,写一程序,输入自变量的值,输出函数值。
3. 用plot ,fplot 分别绘制函数y =cos(tan(πx ))图形。
matlab实验报告1MATLAB实验报告1摘要:本实验使用MATLAB软件进行了一系列的实验,主要包括数据处理、图像处理和信号处理。
通过实验,我们掌握了MATLAB软件在科学计算和工程领域的应用,深入了解了MATLAB在数据处理、图像处理和信号处理方面的强大功能。
一、数据处理实验在数据处理实验中,我们使用MATLAB对一组实验数据进行了分析和处理。
首先,我们导入了实验数据并进行了数据清洗和预处理,然后利用MATLAB的统计分析工具对数据进行了描述性统计分析,包括均值、方差、标准差等指标的计算。
接着,我们利用MATLAB的绘图工具绘制了数据的直方图和散点图,直观地展现了数据的分布规律和相关性。
二、图像处理实验在图像处理实验中,我们使用MATLAB对一幅图像进行了处理和分析。
首先,我们读取了图像并进行了灰度化处理,然后利用MATLAB的图像滤波工具对图像进行了平滑和锐化处理,最后利用MATLAB的图像分割工具对图像进行了分割和特征提取。
通过实验,我们深入了解了MATLAB在图像处理领域的应用,掌握了图像处理的基本原理和方法。
三、信号处理实验在信号处理实验中,我们使用MATLAB对一组信号进行了处理和分析。
首先,我们生成了一组模拟信号并进行了频域分析,利用MATLAB的信号滤波工具对信号进行了滤波处理,然后利用MATLAB的频谱分析工具对信号的频谱特性进行了分析。
通过实验,我们深入了解了MATLAB在信号处理领域的应用,掌握了信号处理的基本原理和方法。
综上所述,本实验通过对MATLAB软件的应用实验,使我们对MATLAB在数据处理、图像处理和信号处理方面的功能有了更深入的了解,为我们今后在科学计算和工程领域的应用奠定了良好的基础。
MATLAB软件的强大功能和广泛应用前景,将为我们的学习和科研工作提供有力的支持和帮助。
开课学院及实验室:机电学院 2012年11 月16日
(2)在E盘新建一个文件夹并把其加入搜索路径。
截屏相关过程结果并保存。
(3)逐步按照以下步骤进行并记录各个步骤的结果:
1)在指令窗中输入clear指令;
5)再次在指令窗中输入clear指令后,输入
8)把cow.m暂时移动到另一个无关的文件夹,如“我的文档”。
(2)保存全部变量为数据文件Mydata.mat;在对应文件夹中找到该文件,截屏后保存结果;
(4)删除全部内存变量;
Editor/Debugger和脚本编写初步
把以下指令编写为M脚本文件,并运行:
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') grid
什么?此方法也是查询函数注释的有效方法,请牢记。
MATLAB实验报告姓名:专业:学号:实验一MATLAB环境的熟悉与基本运算一、实验目的:1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算二、实验基本知识:1.熟悉MATLAB环境:MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器文件和搜索路径浏览器。
2.掌握MATLAB常用命令3.MATLAB变量与运算符变量命名规则如下:(1)变量名可以由英语字母、数字和下划线组成(2)变量名应以英文字母开头(3)长度不大于31个(4)区分大小写MATLAB中设置了一些特殊的变量与常量,列于下表。
MATLAB运算符,通过下面几个表来说明MATLAB的各种常用运算符表2MATLAB算术运算符表3MATLAB关系运算符表4MATLAB逻辑运算符表5MATLAB特殊运算4.MATLAB的一维、二维数组的寻访表6子数组访问与赋值常用的相关指令格式5.MATLAB的基本运算表7两种运算指令形式和实质内涵的异同表6.MATLAB的常用函数表8标准数组生成函数表9数组操作函数三、实验内容1、学习安装MATLAB软件。
2、学习使用help命令,例如在命令窗口输入helpeye,然后根据帮助说明,学习使用指令eye(其它不会用的指令,依照此方法类推)3、学习使用clc、clear,观察commandwindow、commandhistory和workspace等窗口的变化结果。
4、初步程序的编写练习,新建M-file,保存(自己设定文件名,例如exerc1、exerc2、exerc3……),学习使用MATLAB的基本运算符、数组寻访指令、标准数组生成函数和数组操作函数。
注意:每一次M-file的修改后,都要存盘。
四、实验结果练习A:(1)helprand,然后随机生成一个2×6的数组,观察commandwindow、commandhistory和workspace等窗口的变化结果。
实验一
一、实验目的
1.熟悉启动和退出MA TLAB的方法
2.熟悉其命令窗口的组成
3.掌握建立矩阵的方法
4.掌握其各种不都是的书写规则以及常用函数的使用
二、实验内容
详见书P360实验一
三、实验步骤和代码
第一题
1.
>> z1= 2*sin(85/180*pi)/(1+exp(2))
z1 =
0.2375
2.
>> x=[2,1+2*i;-0.45,5];
>> z2=1/2*log(x+sqrt(1+x*x))
z2 =
0.7114 - 0.0253i 0.8968 + 0.3658i
0.2139 + 0.9343i 1.1541 - 0.0044i
3.
>> a=-3.0:0.1:3.0;
>> z3=(exp(0.3*a)-exp(-0.3*a)).*sin(a+0.3)+log((0.3+a)/2)
z3 =
Columns 1 through 7
1.1775 + 3.1416i 1.2768 + 3.1416i 1.3511 + 3.1416i 1.4002 + 3.1416i 1.4247 + 3.1416i 1.4250 + 3.1416i 1.4020 + 3.1416i
Columns 8 through 14
1.3568 + 3.1416i 1.2905 + 3.1416i 1.2045 + 3.1416i 1.1002 + 3.1416i 0.9791 +
3.1416i 0.8427 + 3.1416i 0.6926 + 3.1416i
Columns 15 through 21
0.5302 + 3.1416i 0.3566 + 3.1416i 0.1730 + 3.1416i -0.0200 + 3.1416i -0.2223 + 3.1416i -0.4342 + 3.1416i -0.6575 + 3.1416i
Columns 22 through 28
-0.8953 + 3.1416i -1.1540 + 3.1416i -1.4447 + 3.1416i -1.7902 + 3.1416i -2.2428 + 3.1416i -2.9717 + 3.1416i -37.0245
Columns 29 through 35
-3.0077 -2.3145 -1.8971 -1.5861 -1.3287 -1.1022 -0.8948
Columns 36 through 42
-0.7003 -0.5150 -0.3371 -0.1659 -0.0014 0.1561 0.3056
Columns 43 through 49
0.4461 0.5764 0.6952 0.8010 0.8924 0.9682 1.0270
Columns 50 through 56
1.0677 1.0893 1.0908 1.0717 1.0316 0.9701 0.8874
Columns 57 through 61
0.7838 0.6599 0.5166 0.3551 0.1769
>>
4.
>> t=0:0.5:2.5;
a=find(t>=0&t<1);
z4=t(a).*t(a)
z4 =
0 0.2500
>> b=find(t>=1&t<2);
>> z4=t(b).*t(b)-1
z4 =
0 1.2500
>> c=find(t>=2&t<3);
>> z4=t(c).*t(c)-2*t(c)+1
z4 =
1.0000
2.2500
>>
第二题
>> A =[12,34,-4;34,7,87;3,65,7]; B=[1,3,-1;2,0,3;3,-2,7];
>> I=[1,0,0;0,1,0;0,0,1];
1.
>> A+6*B
ans =
18 52 -10
46 7 105
21 53 49
>> A-B+I
ans =
12 31 -3
32 8 84
0 67 1
2.
>> A*B
ans =
68 44 62
309 -72 596
154 -5 241
>> A.*B
ans =
12 102 4
68 0 261
9 -130 49
3.
>> A^3
ans =
37226 233824 48604
247370 149188 600766
78688 454142 118820 >> A.^3
ans =
1728 39304 -64
39304 343 658503
27 274625 343
4.
>> A/B
ans =
16.4000 -13.6000 7.6000
35.8000 -76.2000 50.2000
67.0000 -134.0000 68.0000
>> B\A
ans =
109.4000 -131.2000 322.8000
-53.0000 85.0000 -171.0000
-61.6000 89.8000 -186.2000
5.
>> [A,B]
ans =
12 34 -4 1 3 -1
34 7 87 2 0 3
3 65 7 3 -2 7
>> [A([1,3],:);B^2]
ans =
12 34 -4
3 65 7
4 5 1
11 0 19
20 -5 40
>>
第三题
>> A=[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]; >> B=[3,0,16;17,-6,9;0,23,-4;9,7,0;4,13,11];
1.
>> C=A*B
C =
93 150 77
258 335 237
423 520 397
588 705 557
753 890 717
2.
>> D=C(3:5,2:3)
D =
520 397
705 557
890 717
>>
3.
>> whos
Name Size Bytes Class
A 5x5 200 double array
B 1x900 900 logical array
C 5x3 120 double array
D 3x2 48 double array
I 3x3 72 double array
a 1x61 488 double array
ans 1x1 8 double array
ch 1x26 52 char array
p 5x5 25 logical array
t 1x900 7200 double array
x 2x2 64 double array (complex) z1 1x1 8 double array
z2 2x2 64 double array (complex) z3 1x61 976 double array (complex)
Grand total is 2038 elements using 10225 bytes
第四题
1.
>> t=100:1:999;
>> length(find(rem(t,21)==0))
ans =
43
2.
>> ch='AfgidyghvuinhFHRThb215fFGe';
>> b=find(ch>='A'&ch<='Z');
>> ch(b)=[];
>> ch
ch =
fgidyghvuinhhb215fe
>>
四、实验结果(在实验步骤和代码中)
五、实验心得
在MA TLAB的实验程序中,让我知道以下几个要点:
1.注意数学函数和MA TLAB的函数表达差异,如ln()的表达是log(),e的x次方的
表达是exp();
2.注意点乘的运用,在矩阵运算里,点乘代表对应元素相乘;
3.Whos可调看存储空间;
4.注意‘:’表达式的运用,起始:步长:终了;
5.分段函数可与‘:’相结合使用;
6.Find()函数只找出对应位子的坐标;length()函数计算个数。