matlab论文.docx
- 文档编号:9803468
- 上传时间:2023-05-21
- 格式:DOCX
- 页数:39
- 大小:748.88KB
matlab论文.docx
《matlab论文.docx》由会员分享,可在线阅读,更多相关《matlab论文.docx(39页珍藏版)》请在冰点文库上搜索。
matlab论文
MATLAB
论文
一、MATLAB简单介绍
MATLAB凭借其科学计算与图形可视化功能完美结合以及开放的设计理念,在全国受到了普遍欢迎.MATLAB是由MathWorks公司于1984年推出的一套科学计算软件,分为总包和若干个工具箱。
它具有强大的矩阵计算和数据可视化能力,一方面可以实现数值分析、优化、统计、偏微分方程数值解、自动控制、信号处理等若干个领域的数学计算,另一方面可以实现二维、三维图形绘制、三维场景创建和渲染、科学计算可视化、图像处理、虚拟现实和地图制作等图形图像方面的处理。
MATLAB主要有以下几个特点:
1、简单易学;
2、代码短小高效;
3、计算功能非常强大;
4、强大的图形绘制和处理功能;
5、可扩展性能。
二、M文件
用MATLAB进行计算处理时,都是通过在MATLAB命令窗口输入命令行实现的,这种使用方式比较简便。
但是,当命令行比较多,或者需要在以后重复调用这些命令行是就需要采用M文件函数的运行方式。
M文件函数是MATLAB中功能语句的集合。
使用M文件,可以以程序的形式重复处理数据,从而提高工作效率。
在下图1所示的M文件编辑器中进行M文件的创建和编辑。
在MATLAB主界面的工具栏中单击按钮
可以打开该窗口。
图2.1M文件编辑器
M文件的基本结构
函数式M文件比较标准的格式如下所示,其中黑体加粗的文字表示M文件的基本组成部分:
function[x,y]=myfun(a,b,c)%函数定义行
%H1行——用一行文字来综述函数的功能
%帮助文本——用一行或多行文本解释如何使用函数
%在命令行中键入"help
%函数体一般从第一个空白行后开始
%注释——描述函数的行为,输入输出的类型等
%在命令行中键入"help
x=prod(a,b);%开始编写函数代码
所以,一个完整的函数式M文件应该包括函数定义行、H1行、帮助文本、函数体、注释和函数代码等方面的内容,其中函数定义行和函数代码是必需的。
例:
寻找字符串中的第一个连续字符集。
给定一个输入时,函数假设默认的间隔符为空格;给定两个输入时,会让你指定另外一个分隔符,还可以有两个可能的输出参数列表。
M文件代码如下:
function[token,remainder]=strtok(string,delimiters)
%至少需要一个输入参数的函数
ifnargin<1
error('Notenoughinputarguments.');
end
token=[];remainder=[];
len=length(string);
iflen==0
return
end
%如果有一个输入函数,使用空格作为分隔符
if(nargin==1)
delimiters=[9:
1332];%空格字符
end
i=1;
%确定非分隔符字符开始的地方
while(any(string(i)==delimiter))
i=i+1;
if(i>len),return,end
end
%查找连续字符结束的地方
start=i;
while(~any(string(i)==delimiters))
i=i+1;
if(i>len),break,end
end
finish=i-1;
token=string(start:
finish);
%对于有两个输出参数的情况,计算第一个分隔符后面的字符数
if(nargout==2)
remainder=string(finish+1:
end);
end
下面的例子定义一个名为plot_fhandle的函数,它接收一个函数句柄和数据,然后给予data数据进行计算和绘图。
M文件为:
functionx=plot_fhandle(fhandle,data)
plot(data,feval(fhandle,data))
做如下调用时:
>>plot_fhandle(@sin,-pi:
0.01:
pi)
生成图如下:
图2.2
三、图形绘制与编程
MATLAB语言除了有强大的矩阵处理功能之外,它的绘图功能也是相当强大的。
在学习完本章之后,学会了使用MATLAB的图形处理功能,包括基本的绘图命令、图形的简单控制、图形窗口的编辑以及图形的高级控制等。
1、基本的绘图命令
绘制基本线性图的函数表
函数名
功能描述
plot
在x轴和y轴都按线性比例绘制二维图形
plot3
在x轴、y轴和z轴都按线性比例绘制三维图形
loglog
在x轴和y轴按对数比例绘制二维图形
semilogx
在x轴按对数比例,y轴按线性比例绘制二维图形
semilogy
在y轴按对数比例,x轴按线性比例绘制二维图形
plotyy
绘制双y轴图形
2、绘图的一般步骤
基本的绘图步骤
步骤
典型代码
1.准备绘图数据
x=0:
0.2:
12;y1=bessel(1,x);
2.调用基本的绘图函数
h=plot(x,y1)
即:
>>x=0:
0.2:
12;y1=bessel(1,x);
>>h=plot(x,y1)
图形如下:
图3.1
3、绘制二维曲线图
二维曲线图在MATLAB中的绘制是最为简便的。
如果将X轴和Y轴的数据分别保存在两个向量中,同时向量的长度完全相等,那么可以直接调用函数进行二维图形的绘制。
在MATLAB中,使用plot函数进行二维曲线图的绘制。
(1)绘制二维曲线图
>>x=0:
0.01:
10;
>>y=sin(x);
>>plot(x,y)
图形如下:
图3.2
4、极坐标图形的绘制
MATLAB提供了polar函数来在极坐标下绘制图形:
>>x=0:
0.01:
10;
>>y1=tan(x);
>>y2=exp(x+2.5);
>>polar(y1,y2,'-r+')
图形如下:
图3.3
5、多个图形的绘制方法
subplot函数可以实现多个图形的绘制:
>>x=0:
.1:
20;
>>subplot(2,2,1)
>>plot(x,sin(x));
图形如下:
图3.4
>>x=0:
.1:
20;
>>subplot(2,2,2)
>>plot(x,cos(x));
图形如下:
图3.5
>>subplot(2,2,3)
>>x=0:
.1:
2;
>>y1=tan(x);
>>plot(x,y1,'--b*');
图形如下:
图3.6
6、曲线的色彩、线型和数据点型
曲线的色彩、线型和数据点型参数定义
颜色符号
含义
数据点型
含义
线型
含义
b
蓝色
.
点
-
实线
g
绿色
x
X符号
:
点线
r
红色
+
加号
-.
点划线
c
蓝绿色
h
六角星号
__
虚线
m
紫红色
*
星号
(空白)
不划线
y
黄色
s
方形
k
黑色
d
菱形
7、图形注释
7.1图题的标注
在MATLAB中,通常可以使用3种方式给图形添加图题:
第一,使用Insert菜单中的Title命令;
第二,使用属性编辑器(PropertyEditor);
第三,使用title函数。
例:
>>x=0:
.1:
2;
>>y1=sin(x);
>>y2=sin(x-0.25);
>>y3=sin(x-0.5);
>>plot(x,y1,'-.b',x,y2,'--r*',x,y3,'-.gh')
>>title('Therethreelines')
图形如下:
图3.7.1
7.2坐标轴的标签
在MATLAB7中,可以使用如下3种方式给图形的坐标轴添加标签:
第一,使用Insert菜单下的Label选项;
第二,使用属性编辑器(PropertyEditor);
第三,使用MATLAB7的添加标签命令;
例:
使用属性编辑器(PropertyEditor)添加坐标轴标签
1>打开Tools菜单,选择EditPlot命令,激活图形编辑状态。
2>在图形框内双击空白区域,调出属性编辑器;也可以采取在图形框内右击,从弹出的菜单中选择Properties项的方式调出属性编辑器;或者是在View菜单中选择PropertyEditor项。
如图所示:
图3.7.2
7.3文本标注和交互式文本标注
可以在MATLAB图形窗口的任意地方添加文本注释,从而更好地解释图形窗口的数据。
MATLAB提供了text函数和gtext函数来进行文本标注。
其中gtext函数的使用形式更为灵活,可以实现交互式文本标注。
例:
>>x=linspace(-3,5,100);
>>y=cos(x);
>>z=sin(x);
>>plot(x,y,x,z)
>>title('一条正弦曲线和一条余弦曲线')
>>xlabel('x的取值范围')
>>ylabel('Y和Z的值')
图形如下:
图3.7.3
7.4图例的添加
为了更好地区分所绘制的多条曲线,可以使用图例加以说明,对它们表示的数据进行更准确的区分。
可以使用如下3种方法生成图例:
法一:
打开Insert菜单中并选择Legend命令;
法二:
单击工具栏中的legend图标;
法三:
使用legend函数。
例:
图3.7.4
7.5坐标网格的添加
在图形绘制过程中,为了精确地知道图形上某点的坐标,需要绘制坐标网格来定位,MATLAB7语言中提供了grid函数来实现这一功能:
gridoff
关闭坐标网格
gridon
打开坐标网格
gridmirror
使用更细化的网格
grid(AX,…)
使用AX坐标系代替当前坐标系
例:
>>x=linspace(-5,5,100);
>>y=x.^4+22*x.^2-6*x+10;
>>plot(x,y)
>>gridon
图形如下:
图3.7.5
8、三维图形的绘制
MATLAB语言提供了三维图形的处理功能。
与二维图形相似,绘制三维图形时可以使用MATLAB语言提供的相关函数:
a)三维线图指令plot3
b)三维网线图和曲面图
i.三维网线图
ii.三维曲面图
8.1三维线图指令plot3
例:
>>t=0:
pi/50:
20*pi;
>>plot3(sin(t),cos(2*t),sin(t)+cos(t))
图形如下:
图3.8.1
8.2三维网线图
在MATLAB中,基本的三维图形元素包括Surface和Path对象,其中Surface是矩阵数据的三维表示,它将每个矩阵元素作为x-y平面上的高度进行显示。
Surface对象表示表面图,表面涂有一系列四边形组成。
Path对象是经过填充的多边形。
一个单独的多边形包含多种填充样式,可以用单色或渐变色进行填充。
Path(X,Y,C):
在当前的坐标系中添加二维面片。
Path(X,Y,Z,C):
在三维坐标系中创建面片。
例:
[x,y]=meshgrid([-2:
0.1:
2]);
z=x.*exp(-x.^2-y.^2);
plot3(x,y,z);
grid0ff
图形如下:
图3.8.2
8.3三维曲面图
可是使用surf函数来绘制三维表面图形:
例:
>>[X,Y]=meshgrid([-4:
0.2:
4]);
>>Z=exp(-0.5*(X.^2-Y.^2));
>>surf(X,Y,Z)
图形如下:
图3.8.3
8.4特殊图形的绘制
1>条形图和面积图(BarandAreaGraphs)
2>饼形图(PieCharts)
3>离散型数据图
4>方向和速度矢量图形
5>等高线的绘制(ContourPlots)
例1:
集合式条形图的绘制
>>y=[12345678910]
>>bar(y)
图形如下:
图3.8.4
例3:
离散型数据图
>>x=[1:
100];
>>y=rand(size(x));
>>scatter(x,y)
图形如下:
图3.8.5
例2:
饼形图的绘制
>>x=[10255015];
>>explode=[0100];
>>pie(x,explode)
>>colormapsummer
图形如下:
图3.8.6
例4:
方向和速度矢量图形
>>w=0:
0.1:
6;
>>z=sin(w).*exp(j*w);
>>compass(z)
图形如下:
图3.8.7
例5:
等高线的绘制
>>[x,y,z]=peaks;
>>contour(x,y,z)
图形如下:
图3.8.8
例6:
光照控制
>>z=peaks(50);
>>surf(z)
>>light('Position',[0.5-32])
图形如下:
图3.8.9
四、GUI设计
GUI是实现人机交互的中介,可以通过它实现数据的输入、处理和输出。
MATLAB提供了一个专门的GUI设计工具——图形用户界面开发环境(GUIDE),使用该工具,可以快速完成GUI设计任务。
利用MATLAB提供的有关函数,还可以创建工具栏控件和多种对话框。
1、GUI的基本知识
1.1启动GUI
用户欲启动GUI操作,可以在命令窗口中输入guide命令。
图4.1.1
1.2布局(Layout)编辑器
当用户在GUIDE中打开一个GUI时,该GUI将显示在Layout编辑器中,Layout编辑器是所有GUIDE工具的控制面板。
图4.1.2
用户可以使用鼠标拖动模板左边的控件(按钮、坐标轴、单选按钮等)到中间的布局区域。
图4.1.3
1.3GUIDE模板介绍
GUIDEQuickStart对话框提供了几种常用的GUI模板。
图4.1.4
1.4运行GUI
单击工具栏最右边的绿色按钮
,即运行当前的GUI窗口。
图4.1.5
2、创建GUI对象
2.1GUI窗口的布局
改变GUI窗口的大小:
在布局编辑器中可以很方便地改变GUI中网格区域的大小,只需单击网格区域的右下角,当鼠标变为箭头形式时,拖动鼠标,即可适时改变窗口的大小。
2.2GUI控件的属性控制
属性查看器的显示,可以使用如下3种方式打开:
第一,在布局窗口中单击控件
;
第二,在View菜单中选择PropertyInspector选项;
第三,右击某个控件并从弹出的快捷菜单中选择InspectProperties选项。
图4.2.1
2.3主菜单的创建
菜单属性的设置
单击下图中的菜单标题Untitled1,将在菜单编辑器的右边显示该菜单的属性提供给用户进行编辑,如Label、Tag、Accelerator、Separator和Checked等属性。
图4.2.2
给菜单增添菜单项
用户可以使用工具栏上的NewMenuItem图标给当前菜单增添菜单项。
图4.2.3
3、GUI设计实例
用GUIDE完成一个GUI的设计需要下面几个主要步骤:
1>在输出编辑器中打开一个新的GUI设计窗口,如图4.1.2;
2>设置GUI的大小;
3>在GUI上添加控件,如图4.1.3;
4>对齐控制。
3.1对齐控制
上述步骤中的前三步在GUI的基础知识部分已有介绍,不再详述。
对齐控制的方法:
(1)按住
(2)从“tools”菜单中选择“AlignObjects”选项,显示对齐工具;
(3)如图4.3.1中所示;
(4)单击“确定”按钮。
图4.3.1
3.2设置GUI控件的属性
从“View”菜单中选择“PorpertyInspector”选项,显示“PorpertyInspector”对话框如图4.2.1,利用该对话框设置每个GUI控件的属性。
最后结果为:
图4.3.2
3.3GUI编程
在输出编辑器中完成GUI的设计和属性设置以后,下一步工作就是进行编程。
起主要内容如下:
1>创建GUIM文件
第一次保存或运行GUI时,GUIDE会生成一个函数式M文件,它包含每个控件通常要用到的回调函数的框架、一些初始化代码、一个初始函数回调和一个输出函数回调。
如图4.3.3所示:
图4.3.3
2>打开GUIM文件
一旦GUIDE创建了M文件就可以通过在工具栏上单击
来打开MATLAB编辑器。
在编辑器中,可以通过单击工具栏上的
按钮,然后在下拉式列表框中选择目标回调来将光标移动到指定的回调函数。
图4.3.4
3>添加代码到初始化函数及回调函数
下面的代码在初始化函数中添加创建绘图数据的代码:
%---ExecutesjustbeforeSimpleismadevisible.
functionSimple_OpeningFcn(hObject,eventdata,handles,varargin)
%Thisfunctionhasnooutputargs,seeOutputFcn.
%hObjecthandletofigure
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%varargincommandlineargumentstoSimple(seeVARARGIN)
handles.peaks=peaks(35);
handles.membrane=membrane;
[x,y]=meshgrid(-8:
.5:
8);
r=sqrt(x.^2+y.^2)+eps;
sinc=sin(r)./r;
handles.sinc=sinc;
handles.current_data=handles.peaks;
surf(handles.current_data)
按钮的回调函数:
%---Executesonbuttonpressinpushbutton1.
functionpushbutton1_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton1(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
surf(handles.current_data);
%---Executesonbuttonpressinpushbutton3.
functionpushbutton3_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton3(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
mesh(handles.current_data);
%---Executesonbuttonpressinpushbutton4.
functionpushbutton4_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton4(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
contour(handles.current_data);
4>保存和运行GUI
编写回调以后,可以从“Tools”菜单中选“Run”选项,运行GUI。
如图4.3.5所示:
图4.3.5
五、SIMULINK仿真
1、SIMULINK的启动
在MATLAB命令窗口中输入simulink,桌面上出现一个称为SimulinkLibraryBrowser的窗口,在这个窗口中列出了按功能分类的各种模块的名称。
图5.1.1
也可以通过MATLAB主窗口的快捷按钮
来打开SimulinkLibraryBrowser窗口。
2、SIMULINK的模块库介绍
SIMILINK模块库按功能进行分类,包括以下8类子库:
Continuous(连续模块);
Discrete(离散模块);
Function&Tables(函数和平台模块);
Math(数学模块);
Nonlinear(非线性模块);
Signals&Systems(信号和系统模块);
Sinks(接收器模块);
Sources(输入源模块)。
3、SIMULINK简单模型的建立
3.1建立模型窗口
可以通过SimulinkLibraryBrowser窗口的快捷按钮
来打开模型窗口。
图5.3.1
3.2将功能模块由模块库窗口复制到模型窗口
图5.3.2
3.3对模块进行连接,从而构成需要的系统模型
图5.3.3
点击运行按钮
,得:
图5.3.4
六、与Excel的接口
1、ExcelLink的安装和和设置
第一步:
启动Excel2003。
第二步:
选择工具菜单中的“加载宏”命令,单击“浏览”项。
第三步:
查找并选择Matlab目录下的exlink目录中的“excllink.xla”文件,单击“确定”返回“加载宏”窗口。
第四步:
在“可用加载宏”列表中确定“ExcelLink2.0forusewithmatlab”前的选择框内打个钩,单击“确定”。
此时,如果Matlab命令窗口按钮出现在任务栏上,则表明链接成功。
2、在MATLABR2006a安装目录中找到toolbox\exlink\exlisamp.xls,双击exlisamp.xls,启动Execl。
该文件包含6张工具表,选中显示Sheet1,则在窗口中可以看到如图所示的电子表格。
可以看到在MicrosoftExcel的工作表中单元格区域A4:
C28包含了25行3列数据,工作表的右侧是利用Exce
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 论文