1 / 22
文档名称:

8 matlab M文件和面向对象编程.doc

格式:doc   页数:22
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

8 matlab M文件和面向对象编程.doc

上传人:小猪猪 2012/1/7 文件大小:0 KB

下载得到文件列表

8 matlab M文件和面向对象编程.doc

文档介绍

文档介绍:M文件和面向对象编程
假如读者想灵活运用MATLAB去解决实际问题,想充分调动MATLAB——科学技术资源,想理解MATLAB版本升级所依仗的基础,那么本章内容将十分有用。
本章将涉及比较深层的MATLAB内容:脚本;函数(一般函数、内联函数、子函数、私用函数、方法函数);程序调试和剖析;数据结构(类、对象);重载和继承;面向对象编程。本章配备了许多精心设计的算例。这些算例是完整的,可直接演练的。读者通过这些算例,将真切感受到抽象概念的内涵、各指令间的协调,将从感知上领悟到面向对象编程的优越和至关要领。
入门
【*-1】通过M脚本文件,画出下列分段函数所表示的曲面。
(1)编写M脚本文件的步骤
图 -1-1 MATLAB Editor/Debugger 窗口
点击MATLAB指令窗工具条上的New File图标,-1-1所示的MATLAB文件编辑调试器MATLAB Editor/Debugger。其窗口名为untitled ,用户即可在空白窗口中编写程序。比如输入如下一段程序
[]
% This is my first example. <1>
a=2;b=2; % <2>
clf;
x=-a::a;y=-b::b;
for i=1:length(y)
for j=1:length(x)
if x(j)+y(i)>1
z(i,j)=*exp(-*y(i)^2-*x(j)^2-*x(j));
elseif x(j)+y(i)<=-1
z(i,j)=*exp(-*y(i)^2-*x(j)^2+*x(j));
else z(i,j)=*exp(-y(i)^2-6.*x(j)^2);
end
end
end
axis([-a,a,-b,b,min(min(z)),max(max(z))]);
colormap(flipud(winter));surf(x,y,z);
点击编辑调试器工具条图标,在弹出的Windows标准风格的“保存为”对话框中,选择保存文件夹,键入新编文件名(如zx81),点动【保存】键,就完成了文件保存。
(2)运行文件
,或让该目录处在MATLAB的搜索路径上
然后运行以下指令,便可得到图形。
zx81
图 -1-2
【*-2】通过M函数文件画出上例分段函数的曲面。
整个编程步骤和相同。在此演示, 。
在编辑调试器中,选择【File:Save As】子菜单,“另存为” 。
用下面4行指令代替原文件的第<1><2>条指令。
function zx82(a , b)
% This is my second example.
% a Define the limit of variable x .
% b Define the limit of variable y .
进行上述修改后,“保存”操作。
在MATLAB指令窗中,运行以下指令,-1-2完全相同的图形。
zx82(2,2)
M文本编辑器
利用文本编辑器编写M文件
【tools】菜单
MATLAB控制流
for循环结构
【*-1】一个简单的for循环示例。
for i=1:10; %i依次取1,2,…10,.
x(i)=i; %对每个i值,重复执行由该指令构成的循环体,
end;
x %要求显示运行后数组x的值。
x =
1 2 3 4 5 6 7 8 9 10
while循环结构
【*-1】i 规则: ,;且。现要求该数组中第一个大于10000的元素。
a(1)=1;a(2)=1;i=2;
while a(i)<=10000
a(i+1)=a(i-1)+a(i); %当现有的元素仍小于10000时,求解下一个元素。
i=i+1;
end;
i,a(i),
i =
21
ans =
10946
if-else-end分支结构
【*-1】一个简单的分支结构。
cost=10;number=12;
if number>8
sums=number**cost;
end,sums
sums =

【*-2】数组中第一个大于10000的元素。
n=100;a=