南昌大学《MATLAB与控制系统仿真》实验报告
- 格式:doc
- 大小:1.88 MB
- 文档页数:36
MATLAB与控制系统仿真实验报告第一篇:MATLAB与控制系统仿真实验报告《MATLAB与控制系统仿真》实验报告2013-2014学年第 1 学期专业:班级:学号:姓名:实验三 MATLAB图形系统一、实验目的:1.掌握绘制二维图形的常用函数。
2.掌握绘制三维图形的常用函数。
3.熟悉利用图形对象进行绘图操作的方法。
4.掌握绘制图形的辅助操作。
二、实验原理:1,二维数据曲线图(1)绘制单根二维曲线plot(x,y);(2)绘制多根二维曲线plot(x,y)当x是向量,y是有一维与x同维的矩阵时,则绘制多根不同颜色的曲线。
当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。
(3)含有多个输入参数的plot函数plot(x1,y1,x2,y2,…,xn,yn)(4)具有两个纵坐标标度的图形plotyy(x1,y1,x2,y2)2,图形标注与坐标控制1)title(图形名称);2)xlabel(x轴说明)3)ylabel(y轴说明)4)text(x,y图形说明)5)legend(图例1,图例2,…)6)axis([xmin xmax ymin ymax zmin zmax])3, 图形窗口的分割 subplot(m,n,p)4,三维曲线plot3(x1,y1,z1,选项1,x2,y2,选项2,…,xn,yn,zn,选项n)5,三维曲面mesh(x,y,z,c)与surf(x,y,z,c)。
一般情况下,x,y,z是维数相同的矩阵。
X,y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的颜色范围。
6,图像处理1)imread和imwrite函数这两个函数分别用于将图象文件读入matlab工作空间,以及将图象数据和色图数据一起写入一定格式的图象文件。
2)image和imagesc函数这两个函数用于图象显示。
为了保证图象的显示效果,一般还应使用colormap函数设置图象色图。
控制系统matlab仿真实验报告5实验内容:本实验主要学习控制系统中PI控制器的设计和仿真。
实验目的:1. 了解PI控制器的基本原理和控制算法;2. 学习控制系统建模的基本思路和方法;3. 通过matlab仿真实验掌握PI控制器的实现方法和调节技巧。
实验原理:PI控制器是一种比比例控制器更加完善的控制器,它是由比例控制器和积分控制器组成的复合控制器。
在控制器设计中,通常情况下采用PI控制器进行设计,因为PI控制器的设计参数比其他控制器更加简单,调整起来也更加方便。
PI控制器的输出信号u(t)可以表示为:u(t) = kP(e(t) + 1/Ti ∫e(τ)dτ)其中,kP是比例系数;Ti是积分时间常数;e(t)是控制系统的误差信号,表示偏差;∫e(τ)dτ是误差信号的积分项。
上式中,第一项kPe(t)是比例控制器的输出信号,它与偏差信号e(t)成比例关系,当偏差信号e(t)越大,则输出信号u(t)也越大;PI控制器的设计步骤如下:1. 根据控制系统的特性和要求,选择合适的控制对象,并进行建模;2. 选择比例系数kP和积分时间常数Ti,使系统具有良好的动态响应和稳态响应;3. 利用matlab仿真实验验证控制系统的性能,并进行参数调节和改进。
实验步骤:1. 控制对象的建模a. 选择一个适当的控制对象,例如在本实验中选择一个RC电路。
b. 根据控制对象的特性和运行原理,建立控制对象的数学模型,例如在本实验中建立RC电路的微分方程模型。
a. 根据控制对象的特性和要求,选择合适的比例系数kP和积分时间常数Ti,例如在本实验中选择kP=1和Ti=0.1。
b. 根据PI控制器的输出信号,设计控制系统的反馈环路,例如在本实验中选择负反馈控制系统。
a. 在matlab环境下,利用matlab的控制系统工具箱,建立控制系统的仿真模型。
b. 运行仿真程序,并观察控制系统的时间响应和频率响应特性。
实验结果:本实验利用matlab环境下的控制系统工具箱,建立了RC电路的PI控制系统,并进行了仿真实验。
实验报告实验课程: MATLAB与控制系统仿真姓名:学号:专业班级:2016年 6月目录实验一 MATLAB的环境与基本运算(一)实验二 MATLAB的环境与基本运算(二)实验三 MATLAB语言的程序设计实验四 MATLAB的图形绘制实验五基于SIMULINK的系统仿真实验六控制系统的频域与时域分析实验七控制系统PID校正器设计法实验八线性方程组求解及函数求极值实验一 MATLAB的环境与基本运算(一)一、实验目的1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算二、实验基本原理1.熟悉MATLAB环境:MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。
2.掌握MA TLAB常用命令表1 MA TLAB常用命令3.MATLAB变量与运算符3.1变量命名规则3.2 MATLAB的各种常用运算符表2 MA TLAB算术运算符表4 MATLAB逻辑运算符表5 MATLAB特殊运算4.MATLAB的一维、二维数组的寻访表6 子数组访问与赋值常用的相关指令格式三、主要仪器设备及耗材计算机四、实验内容1.新建一个文件夹(自己的名字命名,在机器的最后一个盘符)2.启动MATLAB,将该文件夹添加到MATLAB路径管理器中。
3.学习使用help命令。
4.窗口命令● close● close all● clc● hold on● hold off了解其功能和作用,观察command window、command history和workspace等窗口的变化结果。
5.工作空间管理命令● who● whos● clear6.随机生成一个2×6的矩阵,写出实现矩阵左旋(以第1行第1列为中心逆时针)90°或右旋(顺时针)90°的命令。
左旋:rot90(a);右旋:rot90(flipud(fliplr(a)))(先左右翻转,上下翻转,在左旋90°)7.求高阶方程的的根,求高阶多项式的值。
《MATLAB与控制系统仿真》实验报告一、实验目的本实验旨在通过MATLAB软件进行控制系统的仿真,并通过仿真结果分析控制系统的性能。
二、实验器材1.计算机2.MATLAB软件三、实验内容1.搭建控制系统模型在MATLAB软件中,通过使用控制系统工具箱,我们可以搭建不同类型的控制系统模型。
本实验中我们选择了一个简单的比例控制系统模型。
2.设定输入信号我们需要为控制系统提供输入信号进行仿真。
在MATLAB中,我们可以使用信号工具箱来产生不同类型的信号。
本实验中,我们选择了一个阶跃信号作为输入信号。
3.运行仿真通过设置模型参数、输入信号以及仿真时间等相关参数后,我们可以运行仿真。
MATLAB会根据系统模型和输入信号产生输出信号,并显示在仿真界面上。
4.分析控制系统性能根据仿真结果,我们可以对控制系统的性能进行分析。
常见的性能指标包括系统的稳态误差、超调量、响应时间等。
四、实验步骤1. 打开MATLAB软件,并在命令窗口中输入“controlSystemDesigner”命令,打开控制系统工具箱。
2.在控制系统工具箱中选择比例控制器模型,并设置相应的增益参数。
3.在信号工具箱中选择阶跃信号,并设置相应的幅值和起始时间。
4.在仿真界面中设置仿真时间,并点击运行按钮,开始仿真。
5.根据仿真结果,分析控制系统的性能指标,并记录下相应的数值,并根据数值进行分析和讨论。
五、实验结果与分析根据运行仿真获得的结果,我们可以得到控制系统的输出信号曲线。
通过观察输出信号的稳态值、超调量、响应时间等性能指标,我们可以对控制系统的性能进行分析和评价。
六、实验总结通过本次实验,我们学习了如何使用MATLAB软件进行控制系统仿真,并提取控制系统的性能指标。
通过实验,我们可以更加直观地理解控制系统的工作原理,为控制系统设计和分析提供了重要的工具和思路。
七、实验心得通过本次实验,我深刻理解了控制系统仿真的重要性和必要性。
MATLAB软件提供了强大的仿真工具和功能,能够帮助我们更好地理解和分析控制系统的性能。
实验报告实验课程: MATLAB与控制系统仿真姓名:学号:专业班级:2016年 6月目录实验一 MATLAB的环境与基本运算(一)实验二 MATLAB的环境与基本运算(二)实验三 MATLAB语言的程序设计实验四 MATLAB的图形绘制实验五基于SIMULINK的系统仿真实验六控制系统的频域与时域分析实验七控制系统PID校正器设计法实验八线性方程组求解及函数求极值实验一 MATLAB的环境与基本运算(一)一、实验目的1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算二、实验基本原理1.熟悉MATLAB环境:MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。
2.掌握MATLAB常用命令表1 MATLAB常用命令3.MATLAB变量与运算符3.1变量命名规则3.2 MATLAB的各种常用运算符表2 MATLAB算术运算符表3 MATLAB关系运算符表4 MATLAB逻辑运算符符号功能说明示例符号功能说明示例:1:1:4;1:2:11 .;分隔行..,分隔列…()% 注释[] 构成向量、矩阵!调用操作系统命令{} 构成单元数组= 用于赋值4.MATLAB的一维、二维数组的寻访表6 子数组访问与赋值常用的相关指令格式三、主要仪器设备及耗材计算机四、实验容1.新建一个文件夹(自己的名字命名,在机器的最后一个盘符)2.启动MATLAB,将该文件夹添加到MATLAB路径管理器中。
3.学习使用help命令。
4.窗口命令closeclose allclchold onhold off了解其功能和作用,观察command window、command history和workspace等窗口的变化结果。
5.工作空间管理命令whowhosclear6.随机生成一个2×6的矩阵,写出实现矩阵左旋(以第1行第1列为中心逆时针)90°或右旋(顺时针)90°的命令。
MATLAB/Simulink与控制系统仿真实验报告姓名:喻彬彬学号:K031541725实验1、MATLAB/Simulink 仿真基础及控制系统模型的建立一、实验目的1、掌握MATLAB/Simulink 仿真的基本知识;2、熟练应用MATLAB 软件建立控制系统模型。
二、实验设备电脑一台;MATLAB 仿真软件一个三、实验内容1、熟悉MATLAB/Smulink 仿真软件。
2、一个单位负反馈二阶系统,其开环传递函数为210()3G s s s =+。
用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。
3、某控制系统的传递函数为()()()1()Y s G s X s G s =+,其中250()23s G s s s+=+。
用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。
4、一闭环系统结构如图所示,其中系统前向通道的传递函数为320.520()0.11220s G s s s s s+=+++,而且前向通道有一个[-0.2,0.5]的限幅环节,图中用N 表示,反馈通道的增益为1.5,系统为负反馈,阶跃输入经1.5倍的增益作用到系统。
用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。
四、实验报告要求实验报告撰写应包括实验名称、实验内容、实验要求、实验步骤、实验结果及分析和实验体会。
五、实验思考题总结仿真模型构建及调试过程中的心得体会。
题1、(1)利用Simulink的Library窗口中的【File】→【New】,打开一个新的模型窗口。
(2)分别从信号源库(Sourse)、输出方式库(Sink)、数学运算库(Math)、连续系统库(Continuous)中,用鼠标把阶跃信号发生器(Step)、示波器(Scope)、传递函数(Transfern Fcn)和相加器(Sum)4个标准功能模块选中,并将其拖至模型窗口。
《MATLAB与控制系统仿真》实验报告实验报告:MATLAB与控制系统仿真引言在现代控制工程领域中,仿真是一种重要的评估和调试工具。
通过仿真技术,可以更加准确地分析和预测控制系统的行为和性能,从而优化系统设计和改进控制策略。
MATLAB是一种强大的数值计算软件,广泛应用于控制系统仿真。
实验目的本实验旨在掌握MATLAB在控制系统仿真中的应用,通过实践了解控制系统的建模与仿真方法,并分析系统的稳定性和性能指标。
实验内容1.建立系统模型首先,根据控制系统的实际情况,建立系统的数学模型。
通常,控制系统可以利用线性方程或差分方程进行建模。
本次实验以一个二阶控制系统为例,其传递函数为:G(s) = K / [s^2 + 2ζω_ns + ω_n^2],其中,K表示放大比例,ζ表示阻尼比,ω_n表示自然频率。
2.进行系统仿真利用MATLAB软件,通过编写代码实现控制系统的仿真。
可以利用MATLAB提供的函数来定义传递函数,并通过调整参数来模拟不同的系统行为。
例如,可以利用step函数绘制控制系统的阶跃响应图像,或利用impulse函数绘制脉冲响应图像。
3.分析系统的稳定性与性能在仿真过程中,可以通过调整控制系统的参数来分析系统的稳定性和性能。
例如,可以改变放大比例K来观察系统的超调量和调整时间的变化。
通过观察控制系统的响应曲线,可以判断系统的稳定性,并计算出性能指标,如超调量、调整时间和稳态误差等。
实验结果与分析通过MATLAB的仿真,我们得到了控制系统的阶跃响应图像和脉冲响应图像。
通过观察阶跃响应曲线,我们可以得到控制系统的超调量和调整时间。
通过改变放大比例K的值,我们可以观察到超调量的变化趋势。
同时,通过观察脉冲响应曲线,我们还可以得到控制系统的稳态误差,并判断系统的稳定性。
根据实验结果分析,我们可以得出以下结论:1.控制系统的超调量随着放大比例K的增大而增大,但当K超过一定值后,超调量开始减小。
2.控制系统的调整时间随着放大比例K的增大而减小,即系统的响应速度加快。
南昌大学《MATLAB与控制系统仿真》实验报告实验报告实验课程: MATLAB与控制系统仿真姓名:学号:专业班级:2016年 6月目录实验一 MATLAB的环境与基本运算(一)实验二 MATLAB的环境与基本运算(二)实验三 MATLAB语言的程序设计实验四 MATLAB的图形绘制实验五基于SIMULINK的系统仿真实验六控制系统的频域与时域分析实验七控制系统PID校正器设计法实验八线性方程组求解及函数求极值实验一 MATLAB的环境与基本运算(一)一、实验目的1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算二、实验基本原理1.熟悉MATLAB环境:MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。
2.掌握MATLAB常用命令表1 MATLAB常用命令3.MATLAB变量与运算符3.1变量命名规则3.2 MATLAB的各种常用运算符表2 MATLAB算术运算符表 3MATLAB 关系运算符表4 MATLAB 逻辑运算符表5 MATLAB 特殊运算[] 构成向量、矩阵!调用操作系统命令{} 构成单元数组= 用于赋值4.MATLAB的一维、二维数组的寻访表6 子数组访问与赋值常用的相关指令格式三、主要仪器设备及耗材计算机四、实验内容1.新建一个文件夹(自己的名字命名,在机器的最后一个盘符)2.启动MATLAB,将该文件夹添加到MATLAB路径管理器中。
3.学习使用help命令。
4.窗口命令close● close all● clc● hold on● hold off了解其功能和作用,观察command window、command history和workspace等窗口的变化结果。
5.工作空间管理命令● who● whos● clear6.随机生成一个2×6的矩阵,写出实现矩阵左旋(以第1行第1列为中心逆时针)90°或右旋(顺时针)90°的命令。
控制系统仿真 实验报告实验4.基于MATLAB 的时域分析班级:09自动化 报告人:张家明 完成时间:2012-11-16 1.已知系统传递函数如下,1)用MA TLAB 建立系统模型并将所建立的系统模型相互转换为tf 、zpk 或ss 形式。
2)通过连接函数的方式实现系统G1和G2的串联和并联1).程序:z=[-2]; %G1(s) p=[-0.4,-15,-25]; k=18; sys1=zpk(z,p,k) [num,den]=zp2tf(z,p,k); sys2=tf(num,den) [A,B,C,D]=zp2ss(z,p,k) sys3=ss(A,B,C,D)运行结果; Zero/pole/gain: 18 (s+2) --------------------- (s+0.4) (s+15) (s+25)Transfer function: 18 s + 36 ---------------------------- s^3 + 40.4 s^2 + 391 s + 150 a =[]36018000101011501394.40)3(==⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=D C B Ax1 x2 x3 x1 -0.4 0 0x2 1.6 -40 -19.36x3 0 19.36 0b =u1x1 1x2 1x3 0c =x1 x2 x3 y1 0 0 0.9295d =u1y1 0程序:num=[1,2]; %G2(S) den=[1,1,10];sys1=tf(num,den)[z,p,k]=tf2zp(num,den)sys2=zpk(z,p,k)[A,B,C,D]=tf2ss(num,den)sys3=ss(A,B,C,D)运行结果:Transfer function:s + 2------------s^2 + s + 10Zero/pole/gain:(s+2)---------------(s^2 + s + 10)a =x1 x2x1 -1 -10x2 1 0b =u1x1 1x2 0c =x1 x2y1 1 2d =u1y1 0程序:A=[-40.4 -139 -150;1 0 0;0 1 0]; B=[1;0;0];C=[0 18 360];D=0;sys1=ss(A,B,C,D)[num,den]=ss2tf(A,B,C,D);sys2=tf(num,den)[z,p,k]=ss2zp(A,B,C,D);sys3=zpk(z,p,k)运行结果:a =x1 x2 x3 x1 -40.4 -139 -150x2 1 0 0x3 0 1 0b =u1x1 1x2 0x3 0c =x1 x2 x3y1 0 18 360d =u1y1 0Continuous-time model.Transfer function:18 s + 360----------------------------s^3 + 40.4 s^2 + 139 s + 150Zero/pole/gain:18 (s+20)---------------------------------(s+36.73) (s^2 + 3.674s + 4.084)2).程序:clcz=[-2]; %G1(s)p=[-0.4,-15,-25];k=18;sys1=zpk(z,p,k);num=[1,2]; %G2(S)den=[1,1,10];sys2=tf(num,den);sys=series(sys1,sys2)tf(sys)sys=parallel(sys1,sys2)tf(sys)运行结果Zero/pole/gain:18 (s+2)^2----------------------------------------------- (s+15) (s+25) (s+0.4) (s^2 + s + 10)Transfer function:18 s^2 + 72 s + 72-----------------------------------------------------------------s^5 + 41.4 s^4 + 441.4 s^3 + 945 s^2 + 4060 s + 1500Zero/pole/gain:(s+50.42) (s+7.055) (s+2) (s+0.9278)-----------------------------------------------(s+0.4) (s+15) (s+25) (s^2 + s + 10)Transfer function:s^4 + 60.4 s^3 + 525.8 s^2 + 1148 s + 660------------------------------------------------------------------s^5 + 41.4 s^4 + 441.4 s^3 + 945 s^2 + 4060 s + 15002. 使用2种以上的方法判断以下系统的稳定性(1).方法一:程序:clcnumo=[1];deno=[1 1 2 23];[numc,denc]=cloop(numo,deno)[z,p,k]=tf2zp(numc,denc)i=find(real(p)>0)n=length(i)if n>0disp('system is unstable')elsedisp('system is stable')end运行结果:numc =0 0 0 1denc =1 12 24z =Empty matrix: 0-by-1p =-3.00001.0000 +2.6458i1.0000 -2.6458ik =1i =23n =2system is unstable(2).方法二:程序:clcnumo=[1];deno=[1 1 2 23];[numc,denc]=cloop(numo,deno,-1) pzmap(numc,denc)运行结果:P ole-Zero MapReal AxisI m a g i n a r y A x i s-3.5-3-2.5-2-1.5-1-0.500.51-3-2-11233. 已知2输入2输出系统状态方程如下, 1) 试求系统的传递函数。
实验报告实验课程: MATLAB与控制系统仿真姓名:学号:专业班级:2016年 6月目录实验一 MATLAB的环境与基本运算(一)实验二 MATLAB的环境与基本运算(二)实验三 MATLAB语言的程序设计实验四 MATLAB的图形绘制实验五基于SIMULINK的系统仿真实验六控制系统的频域与时域分析实验七控制系统PID校正器设计法实验八线性方程组求解及函数求极值实验一 MATLAB的环境与基本运算(一)一、实验目的1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算二、实验基本原理1.熟悉MATLAB环境:MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。
2.掌握MA TLAB常用命令表1 MA TLAB常用命令3.MATLAB变量与运算符3.1变量命名规则3.2 MATLAB的各种常用运算符表2 MA TLAB算术运算符表4 MATLAB逻辑运算符Xor 逻辑异或表5 MATLAB特殊运算符号功能说明示例符号功能说明示例:1:1:4;1:2:11 .;分隔行..,分隔列…()% 注释[] 构成向量、矩阵!调用操作系统命令{} 构成单元数组= 用于赋值4.MATLAB的一维、二维数组的寻访表6 子数组访问与赋值常用的相关指令格式三、主要仪器设备及耗材计算机四、实验内容1.新建一个文件夹(自己的名字命名,在机器的最后一个盘符)2.启动MATLAB,将该文件夹添加到MATLAB路径管理器中。
3.学习使用help命令。
4.窗口命令● close● close all● clc● hold on● hold off了解其功能和作用,观察command window、command history和workspace等窗口的变化结果。
5.工作空间管理命令● who● whos● clear6.随机生成一个2×6的矩阵,写出实现矩阵左旋(以第1行第1列为中心逆时针)90°或右旋(顺时针)90°的命令。
左旋:rot90(a);右旋:rot90(flipud(fliplr(a)))(先左右翻转,上下翻转,在左旋90°)7.求高阶方程的的根,求高阶多项式的值。
8.创建一个二维数组A(4×8)。
查询数组A第2行、第3列的元素;查询数组A第2行的所有元素;查询数组A第6列的所有元素;查询数组A按列拉长形成新的数组B;查询数组A按行拉长形成新的数组C。
查询数组A按列拉长形成新的数组B:B=A(:)查询数组A按行拉长形成新的数组C:B=A’;D=B(:);C=D’五、实验程序及结果1、新建一个文件夹(自己的名字命名,在机器的最后一个盘符)2、启动MATLAB,将该文件夹添加到MATLAB路径管理器中。
3、学习使用help命令。
4、窗口命令● close● close all● clc● hold on● hold off5、工作空间管理命令● who● whos● clear3、程序如下:%随机生成一个2×6的矩阵a=rand(2,6)%左旋90度a1=rot90(a)%右旋90度a2=rot90(flipud(fliplr(a)))%创建一个二维数组A(4×8)。
查询数组A第2行、第3列的元素;查询数组A第2行的所有元素;%查询数组A第6列的所有元素;查询数组A按列拉长形成新的数组B;查询数组A按行拉长形成新的数组CA=[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 30 31 32 ];A1=A(2,3)A2=A(2,:)A3=A(:,6)B=A(:)B1=A';D=B1(:);C=D'求高阶方程的的根,求高阶多项式的值。
六、实验总结通过第一次做实验,熟悉了一些的基本功能。
掌握矩阵、变量、表达式的各种基本运算,让自己感觉到了MATLAB功能的强大,因此我们必须学习使用这个软件,让它更好的为我们服务。
实验二 MATLAB的环境与基本运算(二)一、实验目的1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算二、实验基本原理1.MATLAB的基本运算表1两种运算指令形式和实质内涵的异同表2.MA TLAB的常用函数三、实验内容1.设有3个二维数组A(2×4),B(2×4),C(2×2),参照表1写出所有由2个数组参与的合法的数组运算和矩阵指令及结果。
2.学习使用表2列出的常用函数。
3.学习使用表3列出的数组操作函数。
4.生成下列矩阵,并取出方框内的数组元素四、主要仪器设备及耗材计算机五、实验程序及结果实验程序:%1、设有3个二维数组A(2×4),B(2×4),C(2×2),参照表1写出所有由2个数组参与的合法的数组运算和矩阵指令及结果。
A=[1 2 3 4;5 6 7 8];B=[9 10 11 12;13 14 15 16];C=[17 18;19 20];s=30;n=5;p=1.2;A.'A=ss+Bs-BB-ss.*As./BB./sA.^nA.^pA+BA-BA.*BA./BB.\Aexp(A)log(A)sqrt(A)A's*As*inv(C)A^nA^pA*BA/BB\Aexpm(A)logm(A)sqrtm(A)diag(C)eye(4)magic(5)ones(5)ones(4,5)rand(6)rand(6,2)randn(3)randn(3,6)zeros(5)zeros(3,7)size(C)rot90(B)det(C)rank(C)%4、生成一个指定的矩阵,并按要求取出其中的数组元素方法一D=[1:5;10:-1:6;11:15;16:20;21:25] D(2,2:3) D(2:4,4) D(4:5,1:3)方法二 六、实验总结在第一次实验的基础上,自己这次实验要相对上一次比较顺利,一些基本功能也能更好的掌握,但是对matlab 这个软件的强大功能还不能很好的应用,因此我要加强对该软件的学习,让它更好的处理各个学科的知识,总而言之,这次实验的收获还是比较大的。
>>A=[1,2,3,4,5;10,9,8,7,6;11,12,13,14,15;16,17,18,19,20] A = 1 2 3 4 5 10 9 8 7 6 11 12 13 14 15 16 17 18 19 20>> A(2,2:3)ans =9 8>> A(2:4,4)ans = 7 1419>> A(4:5,1:3) ans=16 17 18 21 22 23实验三 MATLAB语言的程序设计一、实验目的1.熟悉MATLAB程序编辑与设计环境2.掌握各种编程语句语法规则及程序设计方法3.函数文件的编写和设计4.了解和熟悉跨空间变量传递和赋值二、实验基本原理1.程序流程控制语句for循环结构语法:for i=初值:增量:终值语句1……语句nend说明:1.i=初值:终值,则增量为1。
2.初值、增量、终值可正可负,可以是整数,也可以是小数,只须符合数学逻辑。
while 循环结构语法:while 逻辑表达式循环体语句end说明:(1)whiIe结构依据逻辑表达式的值判断是否执行循环体语勾。
若表达式的值为真,执行循环体语句一次、在反复执行时,每次都要进行判断。
若表达式的值为假,则程序执行end之后的语句。
(2)为了避免因逻辑上的失误,而陷入死循环,建议在循环体语句的适当位置加break语句、以便程序能正常执行。
(执行循环体的次数不确定;每一次执行循环体后,一定会改变while后面所跟关系式的值。
)(3)while循环也可以嵌套、其结构如下:while逻辑表达式1循环体语句1while逻辑表达式2循环体语句2end循环体语句3endif-else-end分支结构if 表达式1语句1else if 表达式2(可选)语句2else(可选)语句3endend说明:(1)if结构是一个条件分支语句,若满足表达式的条件,则往下执行;若不满足,则跳出if 结构。
(2)else if表达式2与else为可选项,这两条语句可依据具体情况取舍。
(3)注意:每一个if都对应一个end,即有几个if,记就应有几个end。
switch-case结构语法:switch表达式case常量表达式1语句组1case常量表达式2语句组2……otherwise语句组nend说明:(1)switch后面的表达式可以是任何类型,如数字、字符串等。
(2)当表达式的值与case后面常量表达式的值相等时,就执行这个case后面的语句组如果所有的常量表达式的值都与这个表达式的值不相等时,则执行otherwise后的执行语句。
程序流程控制指令break、return、pause2.函数文件的结构和编写方法函数只能在函数体内对变量进行操作,也就是只能访问函数本身工作空间中的变量。
M函数文件的结构(1)函数定义行(function)(2)H1行(函数帮助文本的第一行)(3)函数帮助文本(4)函数体(5)注释函数文件编写后,保存时,其文件名必须与函数名相同。
注意:函数名不要与MATLAB自身的函数命令相同。
三、主要仪器设备及耗材计算机四、实验内容练习A1.熟悉MATLAB程序编辑与设计环境2.用for循环语句实现求1~100的和3.用for循环语句实现编写一个求阶乘n!的函数文件4.设y=[3,5,7,9,11,16,21,23,25,27],将y向量中属于能整除3的元素传递给向量z。
(使用函数rem 求余数)。
7.已知数组A=[2,4,6,8,10],B=[4,9,6,7,4],求]1[][1+-∑=i n B i A ni ,其中n=5。
五、实验程序及结果程序如下:%用for 循环语句实现求1~100的和 sum=0;for i=1:100 sum=sum+i; end sum结果为:sum =5050%用for 循环语句实现编写一个求阶乘n!的函数文件 function f=factor(n) f=1;for i=1:n f=f*i; End运行结果为: f=factor(10) f =3628800%设y=[3,5,7,9,11,16,21,23,25,27],将y 向量中属于能整除3的元素传递给向量z 。
(使用函数rem 求余数)y=[3,5,7,9,11,16,21,23,25,27]; z=[];for i=1:10a=rem(y(i),3); if a==0z=[z,y(i)]; end end z结果为:z =3 9 21 27%已知数组A=[2,4,6,8,10],B=[4,9,6,7,4],求]1[][1+-∑=i n B i A ni ,其中n=5。