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

MATLAB作业

MATLAB作业
MATLAB作业

第一章MATLAB R2010a简介

主要内容总结如下:

本章主要介绍了MATLAB的功能和它的用户界面以及MATLAB R2010a的路径搜索。MATLAB的功能是多种多样的,有数学计算功能、图形化显示功能、M语言编程功能、编译功能Simulink建模仿真功能,自动代码生成功能,图形用户界面开发功能等一系列功。在介绍MATLAB R2010a用户界面时,主要介绍了它的启动方法,主菜单及其功能。

学习心得体会:

通过本章的学习,我了解了MATLAB的基本功能,认识了它的界面和启动方法,以及主菜单功能,被他强大的计算功能和其他功能深深吸引,学会了MATLAB,将会为我以后学习其他方面的知识提供一种工具,使学习其他的东西更加的方便,。我非常喜欢这门课,所以我一定会努力学好它的。

第二章基本使用方法

主要内容总结如下:

本章主要介绍了MATLAB中一些简单的数学运算和常用的数学函数和数学运算符,标点符号的使用,常用的操作命令和快捷键,整数、浮点数、复数、逻辑变量等数据类型和他们之间的转换,数据类型操作函数和变量,MATLAB中的关系运算符逻辑运算符等运算符和它们的优先级,以及一些基础函数,如位操作函数、逻辑运算函数、集合函数、时间与日期函数。本章还介绍了MATLAB中的脚本文件。

学习心得体会:

通过本章的学习我了解了MATLAB中的简单数学运算符,一些操作命令和快捷键,MATLAB R2010a的数据类型和运算符,还有一些基础函数,脚本文件。我认为这些东西是基本的东西,但是我又必须要学好它们,只有把这些基础都掌握了,才能为以后的学习打下坚实的基础。我认为MATLAB中的许多函数我应该熟练它的作用,做到看到函数要知道其作用。我在这一部分的学习中,脚本文件的编写对我来说有一定的困难,我以后一定多加练习,学好他们。

第三章数组和向量

主要内容总结如下:

本章主要介绍了数组和向量两个大的方面。其中数组介绍了数组的创建,数组的操作(如获取数组中的元素,从数组中移除元素,数组算术操作,数组逻辑运算数组连接,切片、重排和线性化数组),和一些实例应用;向量部分介绍了向量的创建,尺寸,索引(包括数值索引、逻辑索引),缩短,向量操作(包括算术操作、逻辑操作、应用库函数、连接、切片)等知识。

学习心得体会:

通过本章的学习我对数组和向量有了一个全新的认识,这部分的学习有许多细节需要注意,如我们在从数组中移除元素时,元素必须整列整行的移除;行向量可以直接输入,列向量输入时中间需要用到分号;.*,./,和.^被分别用作逐个元素相乘,相除,及指数运算等等。还有一些函数如zeros,rand,diag,magic等都可以产生一些常用的数组,学习时应该熟练掌握。向量的索引对我来说是比较难的知识,刚开始学的时候不太理解,不过后来经过我反复的学习逐渐了解,这部分知识我还需要努力。向量和数组这部分知识在以后的几章会经常用到,并且和实际联系的也比较紧密,所以我必须要学好他们。

第四章MATLAB 的数学运算

本章主要内容总结如下:

本章主要介绍了多项式与差值,函数运算,微分方程三大模块。其中多项式与插值主要介绍了多项式的四则运算,roots函数,polyval函数,polyder函数,多项式拟合,以及数据插值;函数运算主要介绍了函数图像的绘制,函数的极值,数值积分和含参数函数的使用;微分积分主要介绍了常微分初值问题和常微分方程边值问题。

学习心得体会:

通过本章的学习掌握了在MATLAB中对多项式的处理,和图形的绘制,极值的求解,函数的求解,微分、积分的处理。本章所介绍的MATLAB处理方法处理的是高等数学中经常遇到的问题,从这里可以知道MATLAB是一种很好的数学工具。本章学习时有许多问题需要注意,如多项式在相加时要等长;绘制函数图像的函数为fplot;使用含参数函数还可以通过匿名函数来实现,函数的参数在使用之前必须先赋值等问题。这一部分也介绍了许许多多的函数,我应该在课下熟练掌握,充分理解其作用。

第五章字符串、单元数组和结构体

本章主要内容总结如下:

本章主要介绍了的字符串生成、执行、字符串与数值之间的转化;单元数组的生成和一些操作;结构体的生成和一些操作。在MATLAB中,生成字符串的简单方法为stringname=’the content of the string’.;单元数组可以通过赋值语句直接创建,也可以利用cell函数先为单元数组分配一个内存空间,然后再给各个单元赋值;结构体的生成可以是直接输入,也可以使用结构体生成函数struct。还介绍了字符串的比较,字符串的查找和替换;单元数组的显示和图形显示和单元数组元素的删除;结构体中有添加成员变量,删除成员变量和调用成员变量。

学习心得体会:

通过本章的学习了解了字符串,单元数组,结构体的一些基本的使用技巧,学会了字符串,单元数组,结构体的创建,以及它们的一些特殊的用途,如利用函数来进行字符串与数值之间的转化,单元数组的图形显示,在结构体中添加成员变量。字符串,单元数组和结构体是三种特殊的数据结构,字符串用于对字符型数据结构进行操作,单元数组和结构体数据类型允许用户将不同类型的数据集成为一个单一的变量,因此,相关的数据可以通过一个单元数组或是结构体进行组织和操作。在这一部分的学习中,感觉比较有意思,所以对这部分知识兴趣很高。觉的这一部分知识很是有用,所以应该好好学习。

第六章MATLAB编程

本章主要内容总结如下:

本章主要介绍了MATLAB的脚本文件和编辑器/调试器,程序设计和开发,关系运算符和逻辑变量,逻辑运算符和函数,条件语句,和循环。其中脚本文件和编辑器主要介绍了脚本文件如何创建和使用,以及它的命令窗口的介绍,脚本文件的调试,如何使用脚本文件存储数据,以及如何控制输入和输出;程序设计和开发主要介绍了算法和控制结构,结构化程序设计以及伪代码;关系运算符和逻辑变量主要介绍了logical类,logical函数以及使用逻辑数组访问数组;逻辑运算符和函数主要介绍了一些如与、或、非等逻辑运算符以及它,们的优先级别和使用方法,还介绍了短路逻辑运算符,find函数;条件语句主要介绍了if语句,elseif 语句和它们的使用方法,还简要介绍了如何输入和输出参数的数量;循环主要介绍了for循环,break和continue语句,使用数组作为循环索引,隐含循环,使

用逻辑数组作为掩码等知识。

学习心得体会:

通过本章的学习初步掌握了MATLAB的脚本文件及其编辑和调试方法,掌握了MATLAB的程序设计和开发流程,和MATLAB的关系运算符、逻辑运算及函数操作,MATLAB中的流程控制语句包括if语句,switch语句,contine语句。本章的脚本文件对今后的学习非常有帮助,条件语句和循环语句可用于解决实际生活中许多问题。我对这一部分的认识是:感觉不是太难,又不会的地方也及时请教老师,所以没有遗留太多疑问。再者,大一时也学过条件语句和循环语句,所以学起来没有那么的吃力。

习题如下:

编程:求[100]以内的全部素数(素数是大于1且除了1和它本身以外不能被其他任何整数所整除的整数。为了判断整数m是否为素数,一个最简单的办法用2,3,4,5, m-1这些数逐个去除m看能否除尽,如果全都除不尽,则m是素数;否则,只要其中一个能除尽,则m不是素数。)

程序如下:

disp(2)

for m=3:1:100

for x=2:1:m-1

if rem(m,x)==0

break

elseif(x>=m-1)

disp(m)

end

end

end

第七章MATLAB的符号处理

本章主要内容总结如下:

本章主要介绍了符号运算的简介,符号表达式的化简与替换,符号函数图形的绘制,符号微积分,符号方程的求解,符号积分变换,MAPLE函数的调用,符号函数计算器。其中符号运算简介主要介绍了符号对象,符号变量、表达式的生成,以及findsym函数和subs函数,符号和数值之间的转化;符号表达式的化简与替换主要介绍了用collect函数合并同类项,用expand函数进行符号表达式的展开,用horner函数将函数转化为嵌套格式,用factor函数来实现因式分解的功能,simplify和simple函数来实现表达式的化简,符号表达式的替换可以用subexpr 和subs函数;符号函数图形绘制主要介绍了符号函数曲线的绘制,符号函数曲面网格图及表面图的绘制和等值线的绘制;符号微积分主要介绍了符号表达式求极限,符号微分、积分,级数求和和Taylor级数;符号方程的求解主要包括代数方程的求解,代数方程组的求解,微分方程的求解,微分方程组的求解等;符号积分变换主要有符号傅立叶变换,符号拉普拉斯变换,符号Z变换。

学习心得体会:

通过本章的学习了解了MATLAB符号计算的几个功能,有计算、线性代数、化简、方程求解、特殊的数学函数、符号积分变换,MATLAB提供了与MAPLE的良好接口,通过maple.m和map.m实现。这样,MATLAB可以实现更强大的符号运算功能功能,为习惯于MAPLE的用户提供了方便。本章的学习让我领会了MATLAB 强大的符号功能,能够很好的解决实际生活中问题。

第八章MATLAB绘图

本章主要内容总结如下:

本章主要介绍了MATLAB的绘图功能,首先介绍了MATLAB的图形窗口,包括图形窗口的创建与控制,图形窗口的菜单栏的主要功能;然后介绍了基本图形的绘制,有二维图形的绘制,三维图形的绘制以及如何对图形进行操作;介绍了特殊图形的绘制,有条形图、面积图、饼状图、离散型数据图、方向矢量图和速度矢量图、等值线绘制,还介绍了在图形中添加基本注释,包括文本框,线条,箭头,框图,标题,坐标轴,颜色条,图例;最后介绍了一些三维图像的高级控制。学习心得体会:

通过本章的学习了解了MATLAB的图形窗口,掌握了MATLAB基本二维图形、三维图形的绘制,以及图形的基本操作,掌握了MATLAB特殊图形的绘制,如柱状图,饼状图,掌握了图形注释的添加及管理,了解了三维图形的视点控制及颜色、光照控制。本章的学习和实际生活联系的非常紧密,把抽象的数学式子转化为易理解的图形,给人一目了然的清晰感觉。这部分知识是一个很好的绘图工具,对解决其他学科的问题很有帮助。我在学习这一部分知识时,上课紧跟着老师的思路走,模块很是清晰,学习兴趣极高,但是仍存在许多不足的地方,课下一定再进一步努力学习。

习题如下:

绘图:在同一图像窗口中绘制六副子图

1.在第一个子图中同时绘制不同线型不同颜色的正弦和余弦曲线,添加图

例、坐标轴、标题、网格线和边框线。

2.在第二个子图中绘制磁盘空间的饼图。

3.在第三个子图中绘制三维网格图(surf)。

4.在第四个子图中绘制三维曲面图(mesh)。

5.在第五—六个子图中同时绘制二维正弦离散图和红色点划线余弦阶跃

图。

程序如下:

>> x=[0:pi/10:2*pi];

subplot(3,2,1);

plot(x,sin(x));

hold on;

plot(x,cos(x),'r-.');

grid on

box on

>> m=[8 17];

>> subplot(3,2,2);

>> pie(m,{'可用空间','已用空间'}); >> t=0:pi/50:10*pi;

>> subplot(3,2,3),plot3(sin(t),cos(t),t); >> grid on

>> axis square

>> X=-1:0.1:1;

>> Y=X';

>> X1=X.^2;

>> Y1=Y.^2;

>> p=ones(3,1);

>> p=ones(length(X),1);

>> q=ones(1,length(Y));

>> X1=p*X1;

>> Y1=Y1*q;

>> Z=X1+Y1;

>> subplot(3,2,4)

>> mesh(X,Y,Z)

>> n=[0:10:360]*pi/180;

>> N=sin(n);

>> subplot(3,2,5),stem(n,N)

>> subplot(3,2,6),stairs(n,N,'r-.');

运行结果如下:

第九章句柄图形

本章主要内容总结如下:

本章主要介绍了MATLAB 的图形对象,图形对象的属性,和图形对象的属性值的设置和查询。MATLAB介绍了Root对象,Figure对象,Core对象,Plot对象,Annotation对象,Group对象;图形对象的属性包括公共属性和特有属性;图形对象属性值的设置和查询首先通过构造函数返回其创建的对象句柄,然后利用该句柄,用户可以在对象创建完成后对其属性值进行查询和修改。

学习心得体会:

通过本章的学习了解MATLAB图形对象及其属性,掌握MATLAB图形对象属性的设置及其查询,掌握了MATLAB图形句柄的访问及其操作。句柄图形是MATLAB 中用于创建图形的面向对象的图形系统。通过图形句柄,MATLAB可以对图形元素进行操作,而这些图形正是产生各种类型图形的基础。利用图形句柄,可以在MATLAB中修改图形的显示效果,创建绘图函数。对于这部分知识的学习有所欠缺,课下应该多加练习。

第十章GUI设计

本章主要内容总结如下:

本章主要介绍了GUI的基本控件,如何创建简单的GUI,如何向界面中添加控件以及如何设置设置控件的属性和编写响应函数;本章还介绍了通过向导创建GUI 界面和通过程序创建GUI,其中通过向导创建包括1,启动GUIDE2,2,向GUI中添加控件并设置控件标志和控件显示文本,3,创建菜单;通过程序创建GUI的

步骤主要包括1,需要实现的功能及需要包含的控件2,需要使用的技术3,创建GUI,4,创建GUI界面和控件,5,初始化GUI,6,定义响应函数,7,该GUI 的完整M文件;本章还介绍了如何编写GUI代码,包括GUI文件和响应函数。学习心得体会:

通过本章的学习掌握了图形用户界面和GUI中所包含的多个图形对象,如窗口、图标、菜单和文本的用户界面。以某种方式选择或激活这些对象,通常引起动作或发生变化。了解GUI的基本控件,掌握了通过GUIDE创建GUI的方法,也掌握了通过程序创建GUI的方法。对于本章的知识我是比较陌生的,以前从来没有接触过,所以刚开始学的时候比较吃力,后来经过老师的讲解,和自己在课下的学习,对这部分知识有了一个系统的了解。做作业时,刚开始时,程序运行出错,后来经过反复修改,终于运行成功,看着自己的GUI成功运行,心中是比较兴奋的,课下一定会多加练习的。

习题如下:

GUI:绘制抛物线y=ax2+bx+c的图像,其中参数a、b、c及标题等由界面文本编辑框输入,设计边框线按钮和边框菜单。

M文件程序如下:

function varargout = untitled(varargin)

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @untitled_OpeningFcn, ...

'gui_OutputFcn', @untitled_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State,

varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

function untitled_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject;

guidata(hObject, handles);

function varargout = untitled_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

function go_Callback(hObject, eventdata, handles)

grid on

function tit_Callback(hObject, eventdata, handles)

title('?t′??ú??y=a*x.^2+b*x+c')

function ax_Callback(hObject, eventdata, handles)

axis([-7 7 -10 10])

function gf_Callback(hObject, eventdata, handles)

grid off

function togglebutton5_Callback(hObject, eventdata, handles)

function op_Callback(hObject, eventdata, handles)

box on

box off

function bo_Callback(hObject, eventdata, handles)

box on

function bf_Callback(hObject, eventdata, handles)

box off

function pushbutton2_Callback(hObject, eventdata, handles) function edit1_Callback(hObject, eventdata, handles)

x=str2num(get(handles.edit1,'string'));

t=-10:.001:10;

y=x(1)*t.^2+x(2)*t+x(3);

plot(t,y)

function edit1_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

运行结果如下:

第十一章Simulink的建模与仿真

本章主要内容总结如下:

本章主要介绍了Simulink中的建模方法和基本功能模块,首先介绍了Simulink建模的基本操作和基本流程,然后介绍了Simulink的各,功能模块和常见Simulink 模型,最后介绍S函数,并通过实例建模以使读者对Simulink有进一步的认识。学习心得体会:

通过本章的学习了解了Simulink的建模方法和基本模块,这一部分知识对我来说完全是新的内容,学起来有点吃力,所以应该多花点时间在这部分。这部分知识和专业联系的比较紧密,专业性很强,一定要学好。

第十二章文件和数据的导入与导出

本章主要内容总结如下:

本章主要介绍了文件的存储,数据的导入,文件的打开,文本文件的读写,低级文件I/O和利用界面工具导入数据。文本文件的读写可以用csvread,csvwrite,dlmread,dlmwrite,textread,textscan等函数来实现。

学习心得体会:

通过本章的学习了解了MATLAB的基本数据操作,掌握了MATLAB中文本文件的读写方式和MATLAB通过界面导入导出数据,了解MATLAB中的基本输入输出函

数,这部分知识要深入了解,达到融会贯通的程度。

MATLAB编程作业

《Matlab 编程训练》 作业 专 业 学生姓名 班级 学 号 指导教师 完成日期

实训一 MATLAB 语言介绍和数值计算 1.先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存变量。 12 2sin851z e =+ . 2. 已知 1234413134787,2033657327A B --???? ????==???? ????-???? ,求下列表达式的值: (1) A+6*B 和A-B+I (其中I 为单位矩阵) A+6*B:

A-B+I: (2)A*B和A.*B A*B程序: A=[12 34 -4;34 7 87;3 65 7] B=[1 3 -1;2 0 3;3 -2 7] c=A*B 结果: A.*B程序: A=[12 34 -4;34 7 87;3 65 7] B=[1 3 -1;2 0 3;3 -2 7] D=A.*B 结果:

(3)A^3和A.^3 A^3程序: A=[12 34 -4;34 7 87;3 65 7] E=A^3 结果: A.^3程序: A=[12 34 -4;34 7 87;3 65 7] C=A.^3 (4)A/B及B\A A/B程序: A=[12 34 -4;34 7 87;3 65 7] B=[1 3 -1;2 0 3;3 -2 7] C=A/B 结果:

B\A程序: A=[12 34 -4;34 7 87;3 65 7] B=[1 3 -1;2 0 3;3 -2 7] D=B\A 结果: (5)将矩阵C=B\A的右下角2*2子矩阵赋给D, 并(3)保存变量(mat文件)程序: A=[12 34 -4;34 7 87;3 65 7]; B=[1 3 -1;2 0 3;3 -2 7]; C=B*inv(A); D=C(2:3,2:3) 结果:

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程序设计 班级 姓名 学号

《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仿真期末大作业

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程序设计第三章课后习题答案

1. p138 第6题在同一坐标轴中绘制下列两条曲线并标注两曲线交叉点。 >> t=0:0.01:pi; >> x1=t; >> y1=2*x1-0.5; >> x2=sin(3*t).*cos(t); >> y2=sin(3*t).*sin(t); >> plot(x1,y1,'r-',x2,y2,'g-') >> axis([-1,2,-1.5,1]) >> hold on >> s=solve('y=2*x-0.5','x=sin(3*t)*cos(t)','y=sin(3*t)*sin(t)'); >> plot(double(s.x),double(s.y),'*'); 截图:

p366 第4题绘制极坐标曲线,并分析对曲线形状的影响。 function [ output_args ] = Untitled2( input_args ) %UNTITLED2 Summary of this function goes here % Detailed explanation goes here theta=0:0.01:2*pi; a=input('请输入a的值:'); b=input('请输入b的值:'); n=input('请输入n的值:'); rho=a*sin(b+n*theta); polar(theta,rho,'k'); end 下面以a=1,b=1,n=1的极坐标图形为基础来分析a、b、n的影响。

对a的值进行改变:对比发现a只影响半径值的整倍变化 对b的值进行改变:对比发现b的值使这个圆转换了一定的角度

对n的值进行改变:对比发现当n>=2时有如下规律 1、当n为整数时,图形变为2n个花瓣状的图形 2、当n为奇数时,图形变为n个花瓣状的图形 分别让n为2、3、4、5

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.掌握利用if 语句实现选择结构的方法。 2.掌握利用switch 语句实现多分支选择结构的方法。 3.掌握利用for 语句实现循环结构的方法。 4.掌握利用while 语句实现循环结构的方法。 5.掌握MATLAB 函数的编写及调试方法。 二、 实验的设备及条件 计算机一台(带有MATLAB7.0以上的软件环境)。 M 文件的编写: 启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器(Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正 三、 实验容 1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因c b a 、、的不同取值而定),这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。并输入几组典型值加以检验。 (提示:提示输入使用input 函数) 2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。 要求:(1)用switch 语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 (提示:注意单元矩阵的用法) 3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如: 2→1 3→10→5→16→8→4→2→1 6→3→10→5→16→8→4→2→1

《科学计算与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 上机实验一、二 3.求下列联立方程的解???????=+-+-=-+=++-=--+4 1025695842475412743w z y x w z x w z y x w z y x >> a=[3 4 -7 -12;5 -7 4 2;1 0 8 -5;-6 5 -2 10]; >> b=[4;4;9;4]; >> c=a\b 4.设???? ??????------=81272956313841A ,??????????-----=793183262345B ,求C1=A*B’;C2=A’*B;C3=A.*B,并求上述所有方阵的逆阵。 >> A=[1 4 8 13;-3 6 -5 -9;2 -7 -12 -8]; >> B=[5 4 3 -2;6 -2 3 -8;-1 3 -9 7]; >> C1=A*B' >> C2=A'*B >> C3=A.*B >> inv(C1) >> inv(C2) >> inv(C3) 5.设 ?? ????++=)1(sin 35.0cos 2x x x y ,把x=0~2π间分为101点,画出以x 为横坐标,y 为纵坐标的曲线。 >> x=linspace(0,2*pi,101); >> y=cos(x)*(0.5+(1+x.^2)\3*sin(x)); >> plot(x,y,'r') 6.产生8×6阶的正态分布随机数矩阵R1, 求其各列的平均值和均方差。并求该矩阵全体数的平均值和均方差。 (mean var ) a=randn(8,6) mean(a) var(a) k=mean(a) k1=mean(k) i=ones(8,6) i1=i*k1 i2=a-i1 i3=i2.*i2 g=mean(i3) g2=mean(g)

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)

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 代码和运行结果。 7 6 5 4 3 2 2 3 4 5 6 7 8 9 10

7 6.5 6 5.5 5 4.5 4 3.5 3 2.5 10 一次拟合 三次拟合

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]; figure; plot(x,y) p1=polyfit(x,y,1); y1=polyval(p1,x); figure; plot(x,y1) p2=polyfit(x,y,3); y2=polyval(p2,x); figure; plot(x,y2) 2、在[0, 3n区间,绘制y二Sin(x)曲线(要求消去负半波,即(n 2n)区间内的函数值置零),求出曲线y 的平均值,以及y 的最大值及其最大值的位置。给出执行代码和运行结果。 x=0:pi/1000:3*pi; y=Sin(x); y1=(y>=0).*y; %消去负半波figure(1); plot(x,y1, 'b' ); a=mean(y1) %求出y1 的平均值 b=max(y1) %求出y1 的最大值b, 以及最大值在矩阵中的位置; d=x(find(y1==b)) >> ex1 a = 0.4243 b = 1 d = 1.5708 7.8540 >>

MATLAB第一章作业答案

第一章M A T L A B概况与基本操作 1.选择题: (1)最初的MATLAB核心程序是采用A语言编写的。 A.FORTRAN B.C C.BASIC D.PASCAL (2)即将于2011年9月发布的MATLAB新版本的编号为D。 A.MATLAB 2011Ra B.MATLAB 2011Rb C.MATLAB R2011a D.MATLAB R2011b (3)在默认设置中,MATLAB中的注释语句显示的颜色是D。 A.黑色 B.蓝色 C.红色 D.绿色 (4)如果要以科学计数法显示15位有效数字,使用的命令是B。 A.format long B.format long e C.format long g D.format long d (5)在命令窗口新建变量a、b,如果只查看变量a的详细信息,使用的命令为B。 A.who a B.whos a C.who D.whos (6)如果要清除工作空间的所有变量,使用的命令为 C 。 A.clear B.clear all C.两者都可 D.两者都不可 (7)在创建变量时,如果不想立即在命令窗口中输出结果,可以在命令后加上D。 A.冒号 B.逗号 C.空格 D.分号 (8)如果要重新执行以前输入的命令,可以使用B键。 A.下箭头↓ B.上箭头↑ C.左箭头← D.右箭头→ (9)如果要查询函数inv的相关信息,并显示在命令窗口,应使用命令A。 A.help B.lookfor C.doc D.三者均可 (10)如果要启动Notebook文档,下列D操作是可行的。 A.在命令窗口输入notebook命令 B.在命令窗口输入notebook filename命令 C.在Word中启动M-book文档 D.三者均可 2.填空题: (1)MATLAB是MATrix和LABoratory两个单词前三个字母的组合,意为“矩阵实验室”,它的创始人是Cleve Moler和Jack Little。 (2)在MATLAB的默认设置中,关键字显示的字体为蓝色,命令、表达式、计算结果显示的字体为黑色,字符串显示的字体为紫色,注释显示的字体为绿色,错误信息显示的字体为红色。 (3)在命令窗口中,输出结果显示为各行之间添加空行的命令为format compact,各行之间不添加空行的命令为format compact。 备注:本题布置给大家时有一点小错误,现在予以更正。 (4)在MATLAB中,各种标点符号的作用是不同的。例如,空格的作用是分隔数组中每一行的各个元素,逗号的作用是分隔数组中每一行的各个元素或不同的命令,分号的作用是分隔数组中的各行或控制命令执行结果是否在命令窗口显示,冒号的作用是生成一维数组或显示全部元素,百分号的作用是注释行的开头,…的作用是把相邻两行的语句连接为一个命令,感叹号的作用是执行操作系统命令。 3.先建立自己的工作目录,再将自己的工作目录设置到MATLAB搜索路径下。请写出操作步骤或用Matlab命令实现。用help命令能查询到自己的工作目录吗? 解:操作步骤: (1)在Windows环境中建立一个工作目录,如:c:\mywork; (2)启动MATLAB,在File菜单中选择Set Path…命令,显示出如下图的对话框:

相关文档