文档库 最新最全的文档下载
当前位置:文档库 › matlab作业

matlab作业

matlab作业
matlab作业

基于SimMechanics 的3PRS —f 并联机器人仿真 班级:动专14 姓名:刘晓飞 学号:14105507

摘 要:并联机器人工作空间的求解是一个比较复杂的问题。以3PRS-f 并联机器人为研究对象,分析影响其工作空间的约束条件,得出了末端执行点与动平台中心的关系,然后用Matlab 软件中的SimMechanics 模块进行仿真。提出了运用仿真技术对3PRS-f 进行运动分析的方法。通过实例得出:它具有系统建模方便直观、仿真功能强大,自动模型分析等强大优势,可很好地对机械系统的各种运动进行分析,从而为机械系统的建模仿真提供一个强大而方便的工具。

关键词:并联机器人、SimMechanics 、仿真

机构运动分析就是根据给定的原动件运动规律, 求出机构中其他构件的运动。通过分析可以确定某些构件运动所需的空间,校验它们运动是否干涉,运动轨迹仿 真动画则更为形象直观;速度分析可以确定机构从动件的速度是否合乎要求;加速 度分析为惯性力计算提供加速度数据。因此,运动分析既是综合的基础,又是力分析的基础。通常可使用图解法和解析法来进行,图解法因其作图、计算工作量大、精度差的缺点,在实际工程设计应用中有很大的局限性。解析法的计算工作量很大, 但随着计算机在工程设计领域的广泛应用,一些软件平台为解决复杂的工程计算提供了强有力的武器。Matlab 的Simulink 就是一个用以对动态系统进行建模、仿真和分。

1、3PRS —f 机器人结构

3PRS-f 机器人(图1)由三角动平台321,,ααα。及其拓展点P 、3个支撑杆L ,以及由步进电机与丝杆螺母副组成的三个移动装置(移动副P)组成。点P 为机器人的末端执行器,它到三角动平台的垂直距离为f ,随着动平台一起运动。三角动平台的端点分别用3个球铰与3个等长的支撑杆连接(球副S)。3个支撑杆的另一端分别通过销轴和螺母相连(转动副R),其中销轴的方向分别垂直于对应的支撑杆。机器人的底座上垂直安装有3个立柱,3个移动装置分别固定在这3个立柱上,其丝杆的轴线方向垂直于底板。立柱上3个滑块位移的起点构成了三角静平台.0一XYZ 为静坐标系;C —xyz 为动坐标系,固定在动平台上。

机器人中的f 参数,在实际应用中是很有意义的。对于并联加工机床而言,P 为刀具加工点,f 即为加工点到动平台的距离;对于医疗机器人而言,P 可能为激光治疗点或是超声聚焦点,f 即为能量聚焦点到到动平台的距离。

2影响工作空间的要素

3PRS —f 机器人中,对:J 二作空间影响比较大的要素表现为滑块的位移范围、定长杆的长度、球铰的转角和杆间干涉等.而且只有通过求出这些约束条件,才能和机构的位置反解一起求出工作空间。

2.1 滑块位移的限制

根据滑块在轨道上的行程,其位移S 必须满

min S ≤i S ≤max S (i=1,2,3).

这里的max S 与min S 表示滑块位移的最大值和最小值,本机构中的min S 取0,max S 为275 mm 。

2.2定长杆的长度约束

本机构中的三个杆均为定长杆,当杆长选定后,则工作空间的大小也就决定了,只能是杆的运动能够达到的范围.本机构中的定长杆杆长Li=L=290mm(i=1,2,3)。 3 SimMechanics 建模

3.1 SimMechanics 简介

SimMechanics 是 theMathWorks 公司推出的MATLAB6.5新增加的机构系统模块集, 它可以对各种运动副连接的刚体进行建模与仿真,实现对机构系统进行分析与设计 的目的。它提供了一个可以在Simulink 环境下直接使用的模块集,可以将表示各种机构的模块在普通Simulink 窗口中绘制出来。并通过它自己提供的检测与驱动模块和普通Simulink 模块连接起来,获得整个系统的仿真结果。该模块组中包

含以下几个子模块组:刚体子模块组:有2个模块机架和刚体,在使用刚体模块时,用户还应该根据实际情况设置包括刚体质量、位置、方向和坐标系在内的一系列参数。约束与驱动模块组:有静力学约束的模块,如齿轮约束等,还包含各种传动模块。辅助工具模块组:这里的模块允许在其他模块中添加节点,或将信息转换成虚拟现实工具箱用的数据。运动副模块组:提供了各种运动副的标如回转副、平面副等,可以用这些运动副来连接刚体,构造所需的机构。检测与驱动模块组:检测模块用来和普通的Simulink模块交换信息。驱动模块用来给机构添加Simulink输入量,例如,用户可以用普通的SimMechanics模块搭建一个力信号,然后通过刚体动模块将该力信号施加到相应的刚体上。要想使得SimMechanics模块和普通Simulink模块进行数据交换,就必须用这样的中间环节。

3.2基于SimMechanics的机构模型建立

用SimMechanics中提供的模块,先绘制出固定机架,用刚体模块组中的Ground 模块来表示,然,构造出第1个转动副,依此类推,就可以将所需的模块都复制到此模型窗口中。复制完模块后,用类似于普通Simulink模块连接的方法,就可以将这些模块连接起来。双击滑块的移动副模块(Prismtic),在打开对话框中,Number of sensor/actuator ports(检测/驱动端口数)栏目的默认值为0。因为要求绘制出该移动副的运动曲线,所以应该将其设置为1,这样就能在该模块自动输出新的端口。如果想将该端口的值输出到普通Simulink模块,则需要从Sensors & Actuators模块组中复制一个Joint Actuator模块,并将其连接到移动副新添加的端口上,再将引出的信号连接到普通示波器上即可,完成后的仿真模型如图所示。

图2,机构支路图

最后完成上平台和输出部分完成机构整体如下图3

图3,机构整体图形

3.3机构模型的参数设置

根据上文的机构模型我们只要输入相应的值,便可得到机构末端轨迹的X、Y、Z值。

用SimMechanics中提供的模块,画出joint Actuator(关节输入)它分为三个数据,即位移、速度、加速度。

下图为设计的模型输入

图4,机构的输入部分

4、基于SimMechanics仿真的结果

运行输入数据的模型,可以得到一个仿真机构如下图(图5)。从图中可以很形象的看出机构的运动方式,得到的结果。

图5结构仿真模型

还可以应用示波器把机构的末端轨迹表示出来如下图(图6)当三个移动副为输入时,上平台的中点随时间变化的X、Y、Z轴坐标

图6显示器显示的XYZ坐标

5 结语

使用同样的方法,可以其他的并联机构进行运动分析。与其他通过编程实现的运动分析仿真方法相比,采用SimMechanics使原来看起来很复杂的机构系统仿真问题可以很容易地解决,并可以得出漂亮的虚拟现实动画演示。它具有系统建模方便直观、仿真功能强大、自动模型分析等优势、不需要编程,可很好地对机械系统的各种运动进行分析,从而为机械系统的建模仿真提供一个强大而方便的工具。

参考文献

[1]徐梓斌,闵剑青.基于的SimMechanics曲柄滑块机构运动分析

[2]熊志勇,胡亚波.23PRS—f并联机器人工作空间的建模与仿真

(完整版)MATLAB常用函数大全

一、MATLAB常用的基本数学函数 abs(x):纯量的绝对值或向量的长度 angle(z):复数z的相角(Phase angle) sqrt(x):开平方 real(z):复数z的实部 imag(z):复数z的虚部 conj(z):复数z的共轭复数 round(x):四舍五入至最近整数 fix(x):无论正负,舍去小数至最近整数 floor(x):地板函数,即舍去正小数至最近整数ceil(x):天花板函数,即加入正小数至最近整数rat(x):将实数x化为分数表示 rats(x):将实数x化为多项分数展开 sign(x):符号函数(Signum function)。 当x<0时,sign(x)=-1; 当x=0时,sign(x)=0; 当x>0时,sign(x)=1。 rem(x,y):求x除以y的馀数 gcd(x,y):整数x和y的最大公因数 lcm(x,y):整数x和y的最小公倍数 exp(x):自然指数 pow2(x):2的指数 log(x):以e为底的对数,即自然对数或 log2(x):以2为底的对数 log10(x):以10为底的对数 二、MATLAB常用的三角函数 sin(x):正弦函数 cos(x):余弦函数

tan(x):正切函数 asin(x):反正弦函数 acos(x):反馀弦函数 atan(x):反正切函数 atan2(x,y):四象限的反正切函数 sinh(x):超越正弦函数 cosh(x):超越馀弦函数 tanh(x):超越正切函数 asinh(x):反超越正弦函数 acosh(x):反超越馀弦函数 atanh(x):反超越正切函数 三、适用於向量的常用函数有: min(x): 向量x的元素的最小值 max(x): 向量x的元素的最大值 mean(x): 向量x的元素的平均值 median(x): 向量x的元素的中位数 std(x): 向量x的元素的标准差 diff(x): 向量x的相邻元素的差 sort(x): 对向量x的元素进行排序(Sorting)length(x): 向量x的元素个数 norm(x): 向量x的欧氏(Euclidean)长度sum(x): 向量x的元素总和 prod(x): 向量x的元素总乘积 cumsum(x): 向量x的累计元素总和cumprod(x): 向量x的累计元素总乘积 dot(x, y): 向量x和y的内积 cross(x, y): 向量x和y的外积 四、MATLAB的永久常数

matlab期末大作业

电气学科大类 Modern Control Systems Analysis and Design Using Matlab and Simulink Title: Automobile Velocity Control Name: 巫宇智 Student ID: U200811997 Class:电气0811

电气0811 巫宇智 Catalogue Preface (3) The Design Introduction (4) Relative Knowledge (5) Design and Analyze (6) Compare and Conclusion (19) After design (20) Appendix (22) Reference (22)

Automobile Velocity Control 1.Preface: With the high pace of human civilization development, the car has been a common tools for people. However, some problems also arise in such tendency. Among many problems, the velocity control seems to a significant challenge. In a automated highway system, using the velocity control system to maintain the speed of the car can effectively reduce the potential danger of driving a car and also will bring much convenience to drivers. This article aims at the discussion about velocity control system and the compensator to ameliorate the preference of the plant, thus meets the complicated demands from people. The discussion is based on the simulation of MATLAB. Key word: PI controller, root locus

MATLAB基础训练作业(含答案)

实验一 MATLAB 工作环境熟悉及简单命令的执行 一、实验目的:熟悉MATLAB 的工作环境,学会使用MATLAB 进行一些简单的运算。 二、实验内容:MATLAB 的启动和退出,熟悉MATLAB 的桌面(Desktop ),包括菜单 (Menu )、工具条 (Toolbar )、命令窗口(Command Window)、历史命令窗口、工作空间(Workspace)等;完成一些基本的矩阵操作;学习使用在线帮助系统。 三、实验步骤: 1、启动MATLAB ,熟悉MATLAB 的桌面。 2、在命令窗口执行命令完成以下运算,观察workspace 的变化,记录运算结果。 (1)(365-52?2-70)÷3 (2)>>area=pi*2.5^2 (3)已知x=3,y=4,在MATLAB 中求z : ()2 3 2 y x y x z -= (4)将下面的矩阵赋值给变量m1,在workspace 中察看m1在内存中占用的字节数。 m1=????? ???? ???115 14 4 12679810115 133216 执行以下命令 >>m1( 2 , 3 ) >>m1( 11 ) >>m1( : , 3 ) >>m1( 2 : 3 , 1 : 3 ) >>m1( 1 ,4 ) + m1( 2 ,3 ) + m1( 3 ,2 ) + m1( 4 ,1) (5)执行命令>>help abs 查看函数abs 的用法及用途,计算abs( 3 + 4i ) (6)执行命令 >>x=0:0.1:6*pi; >>y=5*sin(x); >>plot(x,y) (6)运行MATLAB 的演示程序,>>demo ,以便对MATLAB 有一个总体了解。 四、思考题 1、以下变量名是否合法?为什么? (1)x2 (2)3col (3)_row (4)for 2、求以下变量的值,并在MATLAB 中验证。 (1)a = 1 : 2 : 5 ; (2)b = [ a' a' a' ] ; (3)c = a + b ( 2 , : )

matlab 作业

实验一 1、熟悉MATLAB的窗口结构(命令窗口、历史命令窗口、工作区窗口、当前目录 窗口) 2、掌握命令窗口中基本命令的使用 3、在命令窗口中,给定圆的半径r,求得圆的周长c和面积s,并查看工作区窗 口的变化 4、将r,c,s变量保存到磁盘文件abc.mat中,并删除内存变量r,c,s,查看工作 区窗口的变化 5、将abc.mat文件中变量装入内存,查看工作区窗口的变化 6、将历史命令窗口中的命令再装入命令窗口中使用 7、改变当前目录,查看当前目录窗口的变化 8、掌握命令窗口中 cd,quit,help,date,dir,ls,what,who,clocl,fix(clock),format,save,loa d,clc,clear等命令的使用 9、注意各种MATLAB版本的差别 实验二 1、在命令窗口中,输入长方形的长和宽,求长方形的周长和面积 2、输入三角形的三条边(要满足构成三角形的条件),求三角形的周长和面积 3、掌握MATLAB中各标准函数的使用(sin,cos,sind,fix,mod,…) 4、用fprintf输出各种类型的数据(如fprintf('a=%d\n',123) a=123 >> fprintf('b=%f\n',123.456) b=123.456000 >> fprintf('c=%c\n','A') c=A……) 实验三 1、在编辑窗口中:输入学生成绩,输出该成绩的等级。等级规定如下:[90, 100]为A等,[80,90)为B等,[70,80)为C等,[60,70)为D等,[0,60)为E等。要求用if和 switch两种方法实现。 2、商场购物,100件以下,不优惠,100~199件95折,200~399件90折,400~799 件85折,800~1499件80折,1500件以上,75折。输入所购货物的单价、件数,求实际付款数目。要求用if和 switch两种方法实现(在编辑窗口中实现)。 实验四 1、求两个正整数的最大公约数和最小公倍数(在编辑窗口中实现,命令窗口中 调用)。 2、求100~300内所有素数(在编辑窗口中实现,命令窗口中调用)。

matlab 常用函数汇总

matlab 常用函数汇总 编程2008-07-10 21:45:20 阅读46 评论0 字号:大中小订阅matlab常用函数 图形注释 Title 图形标题 Xlabel X轴标记 Ylabel Y轴标记 Text 文本注释 Gtext 用鼠标放置文本 Grid 网格线 MATLAB编程语言 Function 增加新的函数 Eval 执行由MA TLAB表达式构成的字串 Feval 执行由字串指定的函数 Global 定义全局变量 程序控制流 If 条件执行语句 Else 与if命令配合使用 Elseif 与if命令配合使用 End For,while和if语句的结束 For 重复执行指定次数(循环) While 重复执行不定次数(循环) Break 终止循环的执行 Return 返回引用的函数 Error 显示信息并终止函数的执行 交互输入 Input 提示用户输入 Keyboard 像底稿文件一样使用键盘输入 Menu 产生由用户输入选择的菜单 Pause 等待用户响应 Uimenu 建立用户界面菜单 Uicontrol 建立用户界面控制 一般字符串函数 Strings MATLAB中有关字符串函数的说明 Abs 变字符串为数值 Setstr 变数值为字符串 Isstr 当变量为字符串时其值为真 Blanks 空串 Deblank 删除尾部的空串 Str2mat 从各个字符串中形成文本矩阵 Eval 执行由MA TLAB表达式组成的串 字符串比较 Strcmp , , , 比较字符串 Findstr 在一字符串中查找另一个子串

Upper 变字符串为大写 Lower 变字符串为小写 Isletter 当变量为字母时,其值为真 Isspace 当变量为空白字符时,其值为真 字符串与数值之间变换 Num2str 变数值为字符串 Int2str 变整数为字符串 Str2num 变字符串为数值 Sprintf 变数值为格式控制下的字符串 Sscanf 变字符串为格式控制下的数值 十进制与十六进制数之间变换 Hex2num 变十六进制为IEEE标准下的浮点数Hex2dec 变十六制数为十进制数 Dec2hex 变十进制数为十六进制数 建模 Append 追加系统动态特性 Augstate 变量状态作为输出 Blkbuild 从方框图中构造状态空间系统Cloop 系统的闭环 Connect 方框图建模 Conv 两个多项式的卷积 Destim 从增益矩阵中形成离散状态估计器Dreg 从增益矩阵中形成离散控制器和估计器Drmodel 产生随机离散模型 Estim 从增益矩阵中形成连续状态估计器Feedback 反馈系统连接 Ord2 产生二阶系统的A、B、C、D Pade 时延的Pade近似 Parallel 并行系统连接 Reg 从增益矩阵中形成连续控制器和估计器Rmodel 产生随机连续模型 Series 串行系统连接 Ssdelete 从模型中删除输入、输出或状态ssselect 从大系统中选择子系统 模型变换 C2d 变连续系统为离散系统 C2dm 利用指定方法变连续为离散系统 C2dt 带一延时变连续为离散系统 D2c 变离散为连续系统 D2cm 利用指定方法变离散为连续系统 Poly 变根值表示为多项式表示 Residue 部分分式展开 Ss2tf 变状态空间表示为传递函数表示 Ss2zp 变状态空间表示为零极点表示

春MATLAB仿真期末大作业

MATLAB仿真 期末大作业 姓名:班级:学号:指导教师:

2012春期末大作业 题目:设单位负反馈控制系统前向通道传递函数由)()(21s G s G 和串联,其中: ) 1(1)()(21++==s A s G s K s G A 表示自己学号最后一位数(可以是零),K 为开环增益。要求: (1)设K=1时,建立控制系统模型,并绘制阶跃响应曲线(用红色虚线,并标注坐标和标题);求取时域性能指标,包括上升时间、超调量、调节时间、峰值时间; (2)在第(1)问中,如果是在命令窗口绘制阶跃响应曲线,用in1或者from workspace 模块将命令窗口的阶跃响应数据导入Simulink 模型窗口,用示波器显示阶跃响应曲线;如果是在Simulink 模型窗口绘制阶跃响应曲线,用out1或者to workspace 模块将Simulink 模型窗口的阶跃响应数据导入命令窗口并绘制阶跃响应曲线。 (3)用编程法或者rltool 法设计串联超前校正网络,要求系统在单位斜坡输入信号作用时,速度误差系数小于等于0.1rad ,开环系统截止频率s rad c /4.4''≥ω,相角裕度大于等于45度,幅值裕度大于等于10dB 。

仿真结果及分析: (1)、(2)、将Simulink模型窗口的阶跃响应数据导入命令窗口并绘制阶跃响应曲线 通过在Matlab中输入命令: >> plot(tout,yout,'r*-') >> title('阶跃响应曲线') 即可得出系统阶跃响应曲线,如下: 求取该控制系统的常用性能指标:超调量、上升时间、调节时间、峰值时间的程序如下: G=zpk([],[0,-1],5)。 S=feedback(G,1)。

MATLAB第一章作业答案

第一章 M A T L A B 概况与基本操作 1.选择题(每题2分,共20分): (1)最初的MATLAB 核心程序是采用D 语言编写的。 (2)即将于2011年9月发布的MATLAB 新版本的编号为C 。 2011Ra 2011Rb R2011b R2011a (3)在默认设置中,MATLAB 中的注释语句显示的颜色是B 。 A.黑色 B.绿色 C.红色 D.蓝色 (4)如果要以科学计数法显示15位有效数字,使用的命令是A 。 long e long long g long d (5)在命令窗口新建变量a 、b ,如果只查看变量a 的详细信息,使用的命令为A 。 a a (6)如果要清除工作空间的所有变量,使用的命令为C 。 all C.两者都可 D.两者都不可 (7)在创建变量时,如果不想立即在命令窗口中输出结果,可以在命令后加上B 。 A.冒号 B.分号 C.空格 D.逗号 (8)如果要重新执行以前输入的命令,可以使用D 键。 A.下箭头↓ B.右箭头→ C.左箭头← D.上箭头↑ (9)如果要查询函数det 的功能和用法,并显示在命令窗口,应使用命令C 。 D.三者均可 (10)如果要启动Notebook 文档,下列D 操作是可行的。 A.在命令窗口输入notebook 命令 B.在命令窗口输入notebook filename 命令 C.在Word 中启动M-book 文档 D.三者均可 2.填空题(每空1分,共20分): (1)MATLAB 是matrix 和laboratory 两个单词前三个字母的组合,意为“矩阵实验室”,它的创始人是Cleve Moler 和Jack Little 。 (2)在MATLAB 的默认设置中,关键字显示的字体为蓝色,命令、表达式、计算结果显示的字体为黑色,字符串显示的字体为褐红色,注释显示的字体为绿色,错误信息显示的字体为红色。 (3)在命令窗口中,输出结果显示为各行之间添加空行的命令为format loose ,各行之间不添加空行的命令为format compact 。 (4)在MATLAB 中,各种标点符号的作用是不同的。例如,空格的作用是分隔数组每行各个元素,逗号的作用是分隔数组每行各个元素或函数的各个输入参数,分号的作用是作为不显示命令结果的命令行的结尾或分隔数组各列,冒号的作用是生成一维数组或表示数组全部元素,百分号的作用是引导一行注释,…的作用是连接相邻两行,感叹号的作用是调用操作系统命令。 3.程序设计题(每题10分,共40分) (1)以25m/s 的初速度向正上方投球(g=s 2 ),计算到达最高点的时间tp 以及球从出发点到最高点的距离hp 。 解:根据物理学知识,物体上抛运动的速度与经过的时间之间的关系为0p p v v gt =-,因此所需要的时间为0p p v v t g -= 。而到达最高点时的速度0p v =,因此可根据此公式求出tp : v0=25;g=;vp=0; tp=(v0-vp)/g tp =

MATLAB程序设计作业

Matlab程序设计 班级 姓名 学号

《MATLAB程序设计》作业 1、考虑如下x-y 一组实验数据: x=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] y=[1.2, 3, 4, 4, 5, 4.7, 5, 5.2, 6, 7.2] 分别绘出plot的原始数据、一次拟合曲线和三次拟合曲线,给出MATLAB代码和运行结果。 代码如下: x=[1,2,3,4,5,6,7,8,9,10]; y=[1.2,3,4,4,5,4.7,5,5.2,6,7.2]; plot(x,y); title('原始数据'); p=polyfit(x,y,1); q=polyval(p,x); figure,plot(x,q); title('一次拟合'); p=polyfit(x,y,2); q=polyval(p,x); figure,plot(x,q); title('二次拟合'); 运行结果如下:

1 2 3 4 5 6 7 8 9 10 12 3 4 5 6 7 8 原始数据 123 456789 102 2.5 3 3.54 4.5 55.56 6.57一次拟合 123456789 101 2 3 4 5 6 7 二次拟合 2、在[0,3π]区间,绘制y=sin(x)曲线(要求消去负半波,即(π,2π)区间内的函数值置零),求出曲线y 的平均值,以及y 的最大值及其最大值的位置。给出执行代码和运行结果。 代码如下: clear clc x=(0:0.01:3*pi); y=sin(x); plot(x,y); y1=(y>=0).*y; figure,plot(x,y1);

matlab 常用函数(1)

A axis() axis([xmin xmax ymin ymax]) sets the limits for the x- and y-axis of the current axes. axis([xmin xmax ymin ymax zmin zmax cmin cmax]) sets the x-, y-, and z-axis limits and the color scaling limits (see caxis) of the current axes. axis equal sets the aspect ratio so that the data units are the same in every direction. The aspect ratio of the x-, y-, and z-axis is adjusted automatically according to the range of data units in the x, y, and z directions C clf Clear current figure window G grid off/on The grid function turns the current axes' grid lines on and off. H hold on/off ●The hold function determines whether new graphics objects are added to the graph or replace objects in the graph. ●hold on retains the current plot and certain axes properties so that subsequent graphing commands add to the existing graph. ●hold off resets axes properties to their defaults before drawing new plots. hold off is the default

matlab设计作业.doc

1.在同一个图形窗口内画出衰减震荡曲线及其包络线,取值范围是[0,6pi]. 代码: t=(0:pi/100:6*pi); y1=exp(-3*t).*cos(t/2); y2=exp(-3*t); t3=pi*(0:9)/9; y3=exp(-3*t3); plot(t,y1,'r--',t,y2,'b',t3,y3,'bo') 2.画出所表示的三维曲面。X,y 的取值范围是[-9,9]。 x=linspace(-9,1,9); y=linspace(-9,1,9); [x,y]=meshgrid(x,y); z=cos((sqrt(2*x.^2+2*y.^2))/sqrt(x.^2+y.^2)); surf(x,y,z);

3.求和当n =100 时的值。 sum=0; for i=1:100 sum=sum+1/factorial(i); end disp(sum); 1.7183 4. 求1000 个元素的随机数向量A 中大于0.5 的元素个数。 A=rand(1,1000); count=0; for i=1:length(A) if A(i)>0.5 count=count+1; end end count count = 514 5.画正态分布2 的概率密度函数曲线,产生个相应的随机数,N (1,4 m 10000 画出直方图和带正态密度曲线的直方图。将随机数的频率曲线与概率密数曲线画在一起进行比对。x=-20:20; y=normpdf(x,1,4); a=1+4*randn(1,10000); [N,h]=hist(a); y=h(1)-h(2); subplot(2,2,1);plot(x,y); subplot(2,2,2);bar(h,N/(10000*y),1); subplot(2,2,3);plot(x,y); hold on; bar(h,N/(10000*y),1);

期末大作业报告

期末大作业报告 课程名称:数字图像处理 设计题目:车牌识别 学院:信息工程与自动化学院 专业:计算机科学与技术 年级:xxxxx 学生姓名:xxxxxxx(学号xxxxxxxxxxxxx) 指导教师:xxxx 日期:20XX.6.10 教务处制 车牌识别 摘要:数字图像处理技术是20世纪60年代发展起来的一门新兴学科,随着图像处理理论和方法的进一步完善,使得数字图像处理技术在各个领域得到了广泛应用,并显示出广阔的应用前景。MATLAB既是一种直观、高效的计算机语言,同时又是一个科学计算平台。它为数据分析和数据可视化、算法和应用程序开发提供了最核心的数学和高级图形工具。根据它提供的500多个数学和工程函数,工程技术人员和科学工作者可以在它的集成环境中交互或编程以完成各自的计算。MATLAB中集成了功能强大的图像处理工具箱。由于MA TLAB语言的语法特征与C语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式,而且这种语言可移植性好、可扩展性强,再加上其中有丰富的图像处理函数,所以MA TLAB在图像处理的应用中具有很大的优势。车牌识别技术是智能交通系统的重要组成部分,在近年来得到了很大的发展。本文从预处理、边缘检测、车牌定位、字符分割、字符识别五个方面,具体介绍了车牌自动识别的原理。并用MATLAB软件编程来实现每一个部分,最后识别出汽车牌照。 关键词:车牌识别、数字图像处理、MATLAB

一、设计原理 车辆牌照识别系统的基本工作原理为:将摄像头拍摄到的包含车辆牌照的图像通过视频卡输入到计算机中进行预处理,再由检索模块对牌照进行搜索、检测、定位,并分割出包含牌照字符的矩形区域,然后对牌照字符进行二值化并将其分割为单个字符,然后输入JPEG或BMP 格式的数字,输出则为车牌号码的数字。牌照自动识别是一项利用车辆的动态视频或静态图像进行牌照号码、牌照颜色自动识别的模式识别技术。其硬件基础一般包括触发设备、摄像设备、照明设备、图像采集设备、识别车牌号码的处理机等,其软件核心包括车牌定位算法、车牌字符分割算法和光学字符识别算法等。某些牌照识别系统还具有通过视频图像判断车辆驶入视野的功能称之为视频车辆检测。一个完整的牌照识别系统应包括车辆检测、图像采集、牌照识别等几部分。当车辆检测部分检测到车辆到达时触发图像采集单元,采集当前的视频图像。牌照识别单元对图像进行处理,定位出牌照位置,再将牌照中的字符分割出来进行识别,然后组成牌照号码输出。 二、设计步骤 1. 提出总体设计方案: (1)车牌图像预处理方法 因为车牌图像都是在室外拍摄的,所以不可避免地会受到光照、气候等因素的影响,而且拍摄者的手部抖动与车辆的移动会造成图像的模糊。要去除这些干扰就得先对车牌图像进行预处理。由于当前数码相机的像素较高,原始图像的数据一般比较大,输入的彩色图像包含大量颜色信息,会占用较多的存储空间,且处理时也会降低系统的执行速度。因此对图像进行识别等处理时,常将彩色图像转换为灰度图像,以加快处理速度。对图像进行灰度化处理后常用的方法是图像二值化、去除背景图像、增强处理、边缘检测、滤波等处理等。

MATLAB作业4参考答案

MATLAB 作业四参考答案 1、 用2sin(103)y t =+在(0,3)区间内生成一组较稀疏的数据,并用一维数据插值的方法对给出的数据进行曲线拟合,并将结果与理论曲线相比较。 【求解】类似于上面的例子,可以用几乎一致的语句得出样本数据和插值效果。 >> t=0:0.2:3; y=sin(10*t.^2+3); plot(t,y,'o') ezplot('sin(10*t^2+3)',[0,3]); hold on x1=0:0.001:3; y1=interp1(t,y,x1,'spline'); plot(x1,y1) 由于曲线本身变换太大,所以在目前选定的样本点下是不可能得出理想插值效果的,因为样 本数据提供的信息量不够。为了得到好的插值效果,必须增大样本数据的信息量,对本例来 说,必须在快变化区域减小样本点的步长。 >> hold off t=[0:0.1:1,1.1:0.04:3]; y=sin(10*t.^2+3); plot(t,y,'o') ezplot('sin(10*t^2+3)',[0,3]); hold on x1=0:0.001:3; y1=interp1(t,y,x1,'spline'); plot(x1,y1) 2、 用2422 3 1(,)sin()3x y f x y e xy x y x y --= ++原型函数生成一组网络数据或随机数据,分别拟合出曲面,并和原曲面进行比较。 【求解】由下面的语句可以直接生成一组网格数据,用下面语句还可以还绘制出给定样本点是三维表面图。 >> [x,y]=meshgrid(0.2:0.2:2); z=exp(-x.^2-y.^4).*sin(x.*y.^2+x.^2.*y)./(3*x.^3+y); surf(x,y,z) 选择新的密集网格,则可以通过二元插值得出插值曲面。对比插值结果和新网格下的函数值精确解,则可以绘制出绝对插值误差曲面。由插值结果可见精度是令人满意的。 >> [x1,y1]=meshgrid(0.2:0.02:2); z1=interp2(x,y,z,x1,y1,'spline'); surf(x1,y1,z1) >> z0=exp(-x1.^2-y1.^4).*sin(x1.*y1.^2+x1.^2.*y1)./(3*x1.^3+y1); surf(x1,y1,abs(z1-z0)) 现在假设已知的样本点不是网格形式分布的,而是随机分布的,则可以用下面语句生成样本点,得出分布的二维、三维示意图。 >> x=0.2+1.8*rand(400,1); y=0.2+1.8*rand(400,1); % 仍生成(0.2,2) 区间的均匀分布随机数 z=exp(-x.^2-y.^4).*sin(x.*y.^2+x.^2.*y)./(3*x.^3+y); plot(x,y,'x') figure, plot3(x,y,z,'x')

华南理工大学最优化设计作业Matlab编程答案

目标函数 function f=fmin1(x)%x(1)是D外径/mm;x(2)是d内径/mm f=pi*(x(1).^2-x(2).^2)/4; 非线性约束函数 function[f,feq]=noncon(x) f=[6400-30*sqrt(x(1).^2+x(2).^2), 480000*x(1)-pi*(x(1).^4-x(2).^4)]; feq=[] 主程序 A=[-11]; b=[-3.5]; x0=[150140]; [x,fval,exitflag,output,lambda,grad,hessian]= fmincon('fmin1',x0,A,b,[],[],[],[],'noncon') 运算结果 x=152.5893149.0893 fval=829.2823 exitflag=1 output=iterations:3 funcCount:9 lssteplength:1 stepsize:2.5331e-010 algorithm:'medium-scale:SQP,Quasi-Newton,line-search' firstorderopt:9.8475e-010 constrviolation:0 message:[1x788char] lambda= lower:[2x1double] upper:[2x1double] eqlin:[0x1double] eqnonlin:[0x1double] ineqlin:236.9059 ineqnonlin:[2x1double] grad= 239.6867 -234.1889 hessian= 1.0e+006* 1.8964-1.8964 -1.8964 1.8964

《科学计算与MATLAB》期末大作业

杭州电子科技大学信息工程学院《科学计算与MATLAB》期末大作业

给出程序、图、作业分析,程序需加注释。 1. 试编写名为fun.m 的MATLAB 函数,用以计算下述的值: ?? ? ??-<->=t t n t t t n t f 的)4/sin()(si 对所有)4/sin(其他情况)sin(的)4/sin()(si 对所有)4/sin()(ππππ 绘制t 关于函数f(t)的图形,其中t 的取值范围为ππ66≤≤-t ,间距为10/π。 function y=fun()%定义函数 % t=-6*pi:pi/10:6*pi; %定义变量范围 y = (sin(pi/4)).*(sin(t)>sin(pi/4))+(sin(-pi/4)).*(sin(t)=sin(-pi/4)));%函数表示 plot(t,y); %画图 end

2.解以下线性方程组 ??? ??=+=++=--3 530 42231 321321x x x x x x x x A=[2 -1 -1;1 1 4;3 0 5];%输入矩阵 B=[2;0;3]; %输入矩阵 X = A\B %计算结果 3.已知矩阵? ? ??? ???? ???=44434241 3433323124232221 14131211A 求: (1)A(2:3,2:3) (2)A(:,1:2) (3)A(2:3,[1,3]) (4)[A,[ones(2,2);eye(2)]]

A=[11 12 13 14;21 22 23 24;31 32 33 34;41 42 43 44];%输入矩阵A(2:3,2:3) %输出矩阵 A(:,1:2) %输出矩阵 A(2:3,[1,3]) %输出矩阵 [A,[ones(2,2);eye(2)]] %输出矩阵

机电工程基础 Matlab设计作业

Matlab程序设计 上交作业要求: 1)电子文档:设计分析报告一份(包括系统建模、系统分析、系统设计思路、程序及其执行结果)。 2)Matlab程序:可执行程序一份(运行程序可显示、输出执行结果) 按班级统一上交。 题目一: 考虑如图所示的倒立摆系统。图中,倒立摆安装在一个小车上。这里仅考虑倒立摆在图面内运动的二维问题。倒立摆系统的参数包括:摆杆的质量(摆杆的质量在摆杆中心)、摆杆的长度、小车的质量、摆杆惯量等。 图倒立摆系统 设计一个控制系统,使得当给定任意初始条件(由干扰引起)时,最大超调量 %≤10%,调节时间ts ≤4s ,使摆返回至垂直位置,并使小车返回至参考位置(x=0)。 要求:1、建立倒立摆系统的数学模型 2、分析系统的性能指标——能控性、能观性、稳定性 3、设计状态反馈阵,使闭环极点能够达到期望的极点,这里所说的期望的极点确定 是把系统设计成具有两个主导极点,两个非主导极点,这样就可以用二阶系统的 分析方法进行参数的确定 4、用MATLAB 进行程序设计,得到设计后系统的脉冲响应、阶跃响应,绘出相应状 态变量的时间响应图。

题目二: 根据自身的课题情况,任意选择一个被控对象,按照上题所示步骤进行分析和设计,并给出仿真程序及其执行结果。 选择的被控对象在第四周上报,通过与教师协商确认,以避免选题不当与选题重复。解: 一、 第一部分单阶倒立摆系统建模 由于此问题为”单一刚性铰链、两自由度动力学问题”,因此,依据经典力学的牛顿定律即可满足要求。 如图1.1所示,设小车的质量为M,倒立摆均匀杆的质量为m,摆长为2l, O为摆摆的偏角为 ,小车的位移为x,作用在小车上的水平方向上的力为F, 1 杆的质心。 根据刚体绕定轴转动的动力学微分方程,转动惯量与角加速度乘积等于作用于刚体主动力对该轴力矩的代数和,则 1)摆杆绕其重心的转动方程为 Jθ=F y lsinθ?F x lcosθ(1-1)2)摆杆重心的水平运动可描述为 (x+lsinθ)(1-2) F x=m d2 dt 3)摆杆重心在垂直方向上的运动可描述为 (lcosθ)(1-3) F y?mg=m d2 dt 4)小车水平方向运动可描述为 F?F x=M d2x (1-4) dt 由式(1-2)和式(1-4)得 (M+m)x?+ml(cosθ?θ?sinθ?θ2)=F(1-5)由式(1-1)、式(1-2)和式(1-3)得 (J+ml2)+mlcosθ?x?=mlgsinθ(1-6)整理式(1-5)和式(1-6),得

MATLAB常用函数

数字信号处理与MATLAB 实现 1. n1=[ns:nf]; x1=[zeros(1,n0-ns),1,zeros (1,nf-n0)]; %单位抽样序列的产生 2. subplot(2,2,4) 画2行2列的第4个图 3. stem(n,x) %输出离散序列,(plot 连续) 4. 编写子程序可调用 4.1 单位抽样序列)(0n n -δ生成函数impseq.m [x,m]=impseq(n0,ns,nf); %序列的起点为ns ,终点为nf ,在n=n0点处生成一个单位脉冲 n=[-5:5];x1=3*impseq(2,-5,5)-impseq(-4,-5,5) x1 = 0 -1 0 0 0 0 0 3 0 0 0 n=[-5:5];x1=3*impseq(2,-4,5)-impseq(-4,-5,4) %起点到终点长度要一致 x1 = 0 -1 0 0 0 0 3 0 0 0 4.2 单位阶跃序列)(0n n u -生成函数stepseq.m [x,n]=stepseq(no,ns,nf) %序列的起点为ns ,终点为nf ,在n=n0点处生成一个单位阶跃 4.3 两个信号相加的生成函数sigadd.m [y,n]=sigadd(x1,n1,x2,n2) 4.4 两个信号相乘的生成函数sigmult.m [y,n]=sigmult(x1,n1,x2,n2) 4.5 序列移位y(n)=x(n-n0)的生成函数sigshift.m [y,n]=sigshift(x,m,n0) 4.6 序列翻褶y(n)=x(-n)的生成函数sigfold.m [y,n]=sigfold(x,n) 4.7 evenodd.m 函数可以将任一给定的序列x(n)分解为xe(n)和xo(n)两部分 [xe,xo,m]=evenodd(x,n) 4.8 序列从负值开始的卷积conv_m, conv 默认从0开始 function [y,ny]=conv_m(x,nx,h,nh) 有{x(n):nx1≤n ≤nx2},{h(n):nh1≤n ≤nh2}, 卷积结果序列为 {y(n):nx1+nh1≤n ≤nx2+nh2} 例. 设1132)(-++=z z z X ,1225342)(-+++=z z z z X ,求)()()(21z X z X z Y += 程序: x1=[1,2,3];n1=-1:1; x2=[2,4,3,5];n2=-2:1; [y,n]=conv_m(x1,n1,x2,n2)

MATLAB期末大作业模板

MATLAB应用技术 期末大作业 专业: 姓名: 学号: 分数

一、在一个图形窗口中以子图形式同时绘制正弦、余弦、正切、余切曲线。请写下完整代码,展示图形结果。(请标注题图和坐标轴,用不同颜色和不同线型分别绘制以上曲线)。(15分) 二、某公司员工的工资计算方法如下。 (1)工作时数超过120小时者,超过部分加发15%。 (2)工作时数低于60小时者,扣发700元。 (3)其余按每小时84元发。 根据员工的工时数,计算应发工资。请写下完整的程序代码,并任意输入一工时数(使用input 函数),将结果展示(使用disp 函数)利用该代码进行计算工资,请写下计算结果。(15分) 三、编写一个函数文件,使其能够产生如下的分段函数: ?? ? ??≥<<≤-=66225.0,25.05.15.0)(x x x x x x f 请编写完整的函数文件(保存函数文件名为hanshu.m ),并编写脚本文件代码,任意输入x 值(使用input 函数),在脚本文件中调用函数文件求)(x f ,展示结果(使用disp 函数),请写下计算结果。(15分) 四、将5个学生的6门功课的成绩存入矩阵P 中,进行如下处理: (1)分别求每门课的最高分、最低分及相应学生的序号。 (2)分别求每门课的平均分和标准差。 (3)5门课总分的最高分、最低分及相应学生序号。 (4)将5门课总分按从大到小顺序存入score 中,相应学生序号存入num 。 请将各小题的运行代码完整写下来,并写下运行结果。(20分) 五、请利用所学的MATLAB 知识,自主设计一个图形用户界面,请完整记录它的设计过程,需提供文字、代码和图片,以充分说明设计的图形用户界面可实现

MATLAB作业答案

题4.1 控制系统结构如图4.A 所示: 图4.A 习题 (1) 利用MA TLAB 对以上单位负反馈控制系统建立传递函数模型; (2) 将第一问中求得的传递函数模型转化为零极点增益形式和状态空间形式。 解:(1)MA TLAB 程序代码如下: z=[-1];p=[-1,-3];k=2 [num,den]=zp2tf(z,p,k) g_tf=tf(num,den) 程序运行结果如下: Transfer function: 2 s + 2 ------------- s^2 + 4 s + 3 由计算结果可知,系统的传递函数模型为: G (s )= 3 4222 +++s s s (2) MA TLAB 程序代码如下: num=[2,2];den=[1,4,3] [z,p,k]=tf2zp(num,den) [A,B,C,D]=tf2ss(num,den) g_zpk=zpk(z,p,k) g_ss=ss(A,B,C,D) 程序运行结果如下: Zero/pole/gain: 2 (s+1) ----------- (s+3) (s+1) a = x1 x2 x1 -4 -3 x2 1 0 b = u1 x1 1 x2 0

c = x1 x2 y1 2 2 d = u1 y1 0 由计算结果可知,系统的零极点增益模和状态空间模型分别为: G (s )=)1)(3()1(2+++s s s 和[]? ????=??????+??????-=x y u x x 2 2010 13- 4. 题5.1 设单位负反馈控制系统的开环传递函数为G (s )= ) 177(2 ++s s s K 。 (1) 试绘制K=10、100时闭环系统的阶跃响应曲线,并计算稳态误差、上升时间、超调 量和过渡过程时间; (2) 绘制K=1000时闭环系统的阶跃响应曲线,与K=10、100所得结果相比较,分析增 益系数与系统稳定性的关系; (3) 利用roots 命令,确定使系统稳定时K 的取值范围。 解:(1) 题 6.1 已知单位负反馈控制系统的前向传递函数分别为G (s )= ) 4)(2()1(2 +++s s s s K 、 ) 164)(1() 1(2 ++-+s s s s s K 和 ) 15)(7)(5)(3() 8(2 +++++s s s s s s K ,试利用MA TLAB 分别绘制各系 统的根轨迹图。 解:(1)G (s )= ) 4)(2()1(2 +++s s s s K MA TLAB 程序代码如下: num=[1,1];den=conv([1,0],conv([1,0],[1,6,8])); sys=tf(num,den)

相关文档