MATLAB中M文件例子
- 格式:doc
- 大小:282.50 KB
- 文档页数:29
Matlab实验21、编写一个函数文件,计算一个球的体积。
M文件如下(命名为volume.m):function V=volume(r)if r<0%判断球半径r的大小error('r is smaller than 0,error input!');%如果半径r小于0提示输入错误elseV=4/3*pi*r^3;%计算球的体积end在命令窗口中输入如下指令:>> volume(5)运行结果为:ans =523.59882、分别用命令文件和函数文件实现下题(1)Y<3时的最大的n值(2)与(1)的n值对应的y值M文件如下(命名为summ1.m):function y=summ1(n)y=0;for k=1:n;y=y+1/(2*k-1);if y>3;m=k-1y2=summ1(m)break;endend在命令窗口中输入如下指令:>> summ1 (100)运行结果为:m =56y2 =2.9944ans =3.00333、输入一个百分制成绩,要求输出成绩等级,A, B, C, D, E. 其中90-100分为A,80-89为B,70-79为C,60-69分为D,60分以下为E。
要求:(1)分别用if和switch语句实现(2)输入百分制成绩后要判定成绩的合理性,对不合理的成绩要做出出错信息。
方法一:if函数法%求解输出成绩等级的If源程序代码by ljlclear;clc;%删除wordspace中的矩阵变量并进行清屏处理fenshu=input('输入分数=');if fenshu<0||fenshu>100%判断分数的值error('fenshu输入不合理,错误的输入!');%如果分数不合理提示输入错误elseif fenshu>=90r='A'elseif fenshu>=80r='B'elseif fenshu>=70r='C'elseif fenshu>=60r='D'elser='E'end在命令窗口中输入如下指令:输入分数=60运行结果:r =D输入分数=101运行结果:??? Error using ==> chengji_if at 5fenshu输入不合理,错误的输入!方法二:switch法%求解输出成绩等级的Switch源程序代码by ljlclear;clc;%删除wordspace中的矩阵变量并进行清屏处理fenshu=input('输入分数=');if fenshu<0||fenshu>100%判断分数的值error('分数输入不合理,错误的输入!');%如果分数不合理提示输入错误elseswitch fix(fenshu/10)case {10,9}r='A'case 8r='B'case 7r='C'case 6r='D'otherwiser='E'endend在命令窗口中输入如下指令:输入分数=90运行结果:r =A输入分数=-88运行结果:??? Error using ==> chengji_switch at 5分数输入不合理,错误的输入!4、鸡兔同笼问题:鸡和兔子关在一个笼子里,已知共有头36个,脚100个,求笼内关了多少只兔子和多少只鸡?程序如下:%求解鸡兔同笼问题的源程序代码by ljlclear;clc;%删除wordspace中的矩阵变量并进行清屏处理Ji=1;%设定鸡的数目从一只开始while 1%不满足条件继续试if Ji*2+(36-Ji)*4==100&(Ji+(100-Ji*2)/4)==36%鸡兔同笼的条件(同时满足两个)break;%一旦条件满足,跳出循环endJi=Ji+1;endJi%输出鸡的数目Tu=(100-2*Ji)/4%输出兔子的数目运行结果如下:Ji =22 Tu =14。
1.建立M文件的必要性:对于常用的或很长的程序,如果每次都从头输入,则非常费时间,也容易出错.将这些程序做成M文件就方便多了--只要输入自定义的命令,就可以方便的调用,编程的效率大大提高!2.如何建立M文件(1)在记事本(.txt)或maltab命令窗口中编辑好M文件例:编写一个输入半径,计算圆的面积和球的体积的M文件.前两行是文件头,一般说明文件的类型(M-file),文件名(tutex2),和文件的功能(输入半径,计算圆的面积和球的体积),后面是文件体,主要是解决特定问题的程序代码.% M-file, tutex2.m% 输入半径,计算圆的面积和球的体积r = input('Type radius:'); %从键盘输入Type radius的值,并将它赋值给r.area=pi*r^2;volume=(4/3)*pi*r^3;fprintf('The radius is %12.5f\n',r)fprintf('The area of a circle is %12.5f\n',area)fprintf('The volume of a sphere is %12.5f\n',volume)(2)将上面的代码保存到工作空间里.保存方法是:File/save As3.如何调用M文件?在matlab工作窗口直接键入M文件名,即可调用.以上面的程序为例,>> tutex2 %键入文件名,回车Type radius: %提示输入半径 ,输入半径,比如 10, 回车显示如下Type radius:13.5The radius is 10.00000The area of a circle is 314.15927 The volume of a sphere is 4188.79020。
MATLAB中M文件例子20.11 M文件例子精通MATLAB工具箱含有许多实用函数,它们可以验证本章的许多概念。
这些函数的基本部分已经在二维和三维图形这些章阐述过了。
有了前面对句柄图形的讨论,我们现在可以更彻底地讨论这些函数。
最简单的精通MATLAB工具箱的函数之一提出了一个共同的问题。
MATLAB函数gcf返回当前图形的句柄。
但是,它有一个副作用。
如果图形不存在,gcf就创建一个,并返回它的句柄。
如果想寻找一个图形是否存在于头一个位置,要是没有,又不得不创建,怎么办?函数mmgcf正好实现由其内容所描述的工作。
function HF=mmgcf%MMGCF Get Current Figure if it Exists.% MMGCF returns the handle of the current figure if it exists.% If no current figure exists,MMGCF returns an empty handle.%% Note that the function GCF is different.It creates a figure and returns its handle if it does not % exist.% Copyright (c) 1996 by Prentice-Hall,Inc.Hf=get(0, ‘Children’ ); % check for figure childrenif isempty(Hf)returnelseHf=get(0, ‘CurrentFigure’ );end函数mmgcf首先检查根对象的子对象的图形是否存在,如至少有一个图形对象时,根对象的‘CurrentFigure’属性就返回当前的图形。
函数mmgca为坐标轴对象执行同样的功能,如同在它的M文件内所描述的那样。
function Ha=mmgca%MMGCA Get Current Axes if it exists.% MMGCA returns the handle of the current axes if it exists.% If no current axes exists,MMGCA returns an empty handle.%% Note that the function GCA is diffent.It create a figure and an axes and returns the axes % handle if they do not exist.% Copyright (c) 1996 by Prentice-Hall,Inc.Ha=findobj(0, ‘Type’, ‘axes’ );if isempty(Ha)returnelseHa=get(get(0, ‘CurrentFigfure’ ), ‘CurrentAxes’ );end由于函数gco已经表现出当对象不存在时返回空矩阵的行为特性,就不需要函数mmgco 了。
Matlab笔记之十一---- ◎#有关M文件编写#◎for循环结构:for x = array( commands )endwhile循环结构:while expression( commands )enda(1)=1a(2)=1i=2while a(i)<=10000a(i+1)=a(i-1)+a(i)i=i+1end;ia(i)单分支:if expression(commands)end双分支:if expression(commands1)else(commands2)end多分支:if expression1(commands)elseif expression2(commands)…………else(commands)end如果判决条件expression为一个空数组,MATLAB认为条件为假(false)。
表达式有时由多个逻辑子表达式组成的,MATLAB将尽可能少地检测这些子表达式的值。
例如,表达式为:(子表达式1 |子表达式2),当MATLAB 检测到子表达式1的值为真时,它就认为表达式为真,而不再对子表达式2进行检测。
又如,表达式为:(子表达式1 & 子表达式2),当MATLAB检测到子表达式1的值为假时,它就认为表达式值为假的,从而跳过该结构。
if指令判决和break指令的配合使用,可以强制终止for循环或while循环。
switch-case结构:switch ex ex为一标量或字符串。
case test1(commands 1) 当ex等于test1时,执行组命令1,然后跳出该结构。
case test2……(commands k) 当ex等于testk时,执行组命令k,然后跳出该结构。
otherwise otherwise指令可以不存在(commands) 表达式不等于前面所有检测值时,则执行该组命令。
end1 当遇到switch结构时,MATLAB将表达式的值依次和各个case指令后面的检测值进行比较。
matlab编写m文件的例子一、矩阵运算在MATLAB中,矩阵运算是一项重要的功能。
下面以几个示例来说明如何使用MATLAB进行矩阵运算。
1. 矩阵的加法假设有两个矩阵A和B,它们的维度相同。
我们可以通过使用"+" 运算符来对这两个矩阵进行相加。
例如:```matlabA = [1 2 3; 4 5 6; 7 8 9];B = [9 8 7; 6 5 4; 3 2 1];C = A + B;disp(C);```上述代码将输出矩阵C,即A和B对应位置元素相加的结果。
2. 矩阵的乘法矩阵的乘法在MATLAB中有两种形式:点乘和矩阵乘。
点乘使用".*" 运算符,而矩阵乘使用"*" 运算符。
下面分别介绍这两种运算。
点乘示例:```matlabA = [1 2 3; 4 5 6; 7 8 9];B = [9 8 7; 6 5 4; 3 2 1];C = A .* B;disp(C);```上述代码将输出矩阵C,即A和B对应位置元素相乘的结果。
矩阵乘示例:```matlabA = [1 2 3; 4 5 6; 7 8 9];B = [9 8 7; 6 5 4; 3 2 1];C = A * B;disp(C);```上述代码将输出矩阵C,即A和B的矩阵乘积。
3. 矩阵的转置在MATLAB中,可以使用 "transpose" 函数或 ".'" 运算符对矩阵进行转置。
下面是一个示例:```matlabA = [1 2 3; 4 5 6; 7 8 9];B = transpose(A);C = A.';disp(B);disp(C);```上述代码将分别输出矩阵B和C,它们都是矩阵A的转置。
二、图像处理MATLAB也提供了丰富的图像处理函数,下面以几个示例来说明如何使用MATLAB进行图像处理。
1. 读取图像使用"imread" 函数可以读取图像文件。
MATLAB实验三 Matlab的M文件编写
21、已知函数y=x,编写能对任意输入x值求相应的y值的程序,文件名规定为sy301。
并利用该程序求得当x=[1,3,5,7]数组时,对应的y数组?
,0.3t2、已知函数y=1-ey,1,ecos0.7t,编写能对任意输入t的范围,绘制出y的曲线图的程序,文件名规定为sy302。
要求:(1)显示分格线
(2)所控制的坐标轴刚好将图形包括在内。
(3)完善标注,坐标和标题
3、编写给予任意的圆点坐标(x0,y0)和半径r,绘制出圆的程序,文件名规定为sy303。
4、编写给予任意的圆点坐标(x0,y0)和半径r(r为一组数组如
[1,3,5]),绘制出圆组(年轮)的程序,文件名规定为sy304。
参考P179例5.2-1
5、计算1+3+5…+99 的值
6、编写M函数文件,将某班学生某门课的成绩为:60,75,85,96,52,36,86,56,94,84,77,用switch结构统计各分段的人数,并将各人数变为用优,良,中,及格和不及格
表示,统计人数和成绩变换都用子函数实现。
M文件举例在这一章里,说明在精通MATLAB工具箱里的两个函数。
这些函数说明了本章所示的min和max函数的变种和如何编写一个M文件。
关于M文件的更多信息,参阅第8章。
在讨论M文件函数mmin和mmax的内部结构之前,考虑他们有什么功能。
» amn_temp=mmin(temps)amn_temp =5» [m , i]=mmin(temps)m =5i =32» amx_temp=mmax(temps)amx_temp =24» [m , j]=mmax(temps)m =24j =303具有一个输出参量的函数mmin找出矩阵中的单个最小值。
用第二个输出参量,返回单个最小值的行和列的下标。
除了mmax返回矩阵中的单个最大值外,函数mmax的工作方式与mmin相同。
这些M文件的函数是:function [m , i]=mmin(a)%MMIN Matrix minimum value.%MMIN(A) returns the minimum value in the matrix A%[M,I] = MMIN(A) in addition returns the indices of%the minimum value in I = [row col].%Copyright (c) 1996 by Prentice Hall,Inc.if nargout==2, % return indices[m , i]=min(a) ;[m , ic]=min(m) ;i=[i(ic)ic] ;else,m=min(min(a));endfunction [m , i]=mmax(a)%MMAX Matrix maximum value.%MMAX(A) returns the maximum value in the matrix A %[M,I] = MMAX(A) in addition returns the indices of %the maximum value in I = [row col].%Copyright (c) 1996 by Prentice Hall,Inc.if nargout==2,%return indices[m , i]=max(a) ;[m , ic]=max(m) ;i=[i(ic)ic] ;else,m=max(max(a)) ;end。
m文件法生成矩阵矩阵是数学中的一个重要概念,它在各个领域中都有广泛的应用。
在MATLAB中,我们可以使用m文件法生成矩阵,这种方法简单易用,方便快捷。
下面我们来详细介绍一下如何使用m文件法生成矩阵。
我们需要打开MATLAB软件,并创建一个新的m文件。
在m文件中,我们可以使用一些特定的函数来生成矩阵。
比如,我们可以使用zeros函数来生成一个全零矩阵,使用ones函数来生成一个全一矩阵,使用eye函数来生成一个单位矩阵,使用rand函数来生成一个随机矩阵,等等。
这些函数都可以接受参数来指定矩阵的大小。
接下来,让我们以一个例子来说明如何使用m文件法生成矩阵。
假设我们要生成一个3行3列的全零矩阵。
我们可以在m文件中写入以下代码:```matlabA = zeros(3, 3);disp(A);```在上面的代码中,我们使用zeros函数生成了一个3行3列的全零矩阵,并将其赋值给变量A。
然后,我们使用disp函数来显示这个矩阵。
运行这个m文件,我们就可以看到生成的矩阵在MATLAB的命令窗口中显示出来。
除了生成全零矩阵,我们还可以使用其他函数来生成不同类型的矩阵。
比如,如果我们想生成一个全一矩阵,可以使用ones函数:```matlabB = ones(3, 3);disp(B);```上面的代码将生成一个3行3列的全一矩阵,并将其赋值给变量B。
同样地,我们使用disp函数来显示这个矩阵。
除了全零矩阵和全一矩阵,单位矩阵也是一种常用的矩阵。
在MATLAB中,我们可以使用eye函数来生成单位矩阵。
下面是一个示例代码:```matlabC = eye(3);disp(C);```上面的代码将生成一个3行3列的单位矩阵,并将其赋值给变量C。
同样地,我们使用disp函数来显示这个矩阵。
除了上述函数,rand函数也是一个常用的函数,它可以用来生成一个随机矩阵。
下面是一个示例代码:```matlabD = rand(3, 3);disp(D);```上面的代码将生成一个3行3列的随机矩阵,并将其赋值给变量D。
matlabm文件定义函数MATLAB是一种非常强大的数学软件,它可以用来进行各种数学计算和数据分析。
在MATLAB中,我们可以使用m文件来定义函数,这些函数可以用来解决各种数学问题。
在本文中,我们将讨论如何使用MATLAB的m文件来定义函数。
让我们来看一下MATLAB中如何定义函数。
在MATLAB中,我们可以使用以下语法来定义函数:function [output1,output2,…,outputN] = functionName(input1,input2,…,inputM)其中,functionName是函数的名称,input1、input2等是函数的输入参数,output1、output2等是函数的输出参数。
在函数体中,我们可以使用这些输入参数来进行各种计算,并将结果存储在输出参数中。
例如,下面是一个简单的函数,它将两个数相加并返回结果:function [result] = addNumbers(a,b)result = a + b;end在这个函数中,我们定义了一个名为addNumbers的函数,它有两b相加,并将结果存储在result中。
最后,我们使用end语句来结束函数的定义。
现在,我们可以在MATLAB中调用这个函数,并传递两个数作为输入参数:>> addNumbers(2,3)ans =5在这个例子中,我们调用了addNumbers函数,并传递了两个数2和3作为输入参数。
函数返回了它们的和5,并将结果存储在ans 变量中。
除了简单的数学计算,我们还可以使用MATLAB的m文件来定义更复杂的函数。
例如,我们可以定义一个函数来解决线性方程组:function [x] = solveLinearEquations(A,b)x = A\b;end在这个函数中,我们定义了一个名为solveLinearEquations的函数,用MATLAB的\运算符来解决线性方程组,并将结果存储在x中。
MATLAB是一种功能强大的数学软件,广泛应用于工程、科学计算和数据分析等各个领域。
在MATLAB中,我们可以使用.m文件来定义曲线,通过编写一系列的代码来实现对曲线的定义、绘制和分析。
本文将详细介绍在MATLAB中使用.m文件定义曲线的方法,以及一些常见的曲线定义示例。
一、MATLAB中.m文件的作用在MATLAB中,.m文件是用来存储和执行MATLAB代码的文件格式。
通过编写.m文件,我们可以将一系列的MATLAB命令和函数组织在一起,从而实现对特定任务的自动化处理。
对于曲线的定义,我们可以将相关的数学公式和绘图指令写入.m文件中,以便于后续的调用和修改。
二、使用.m文件定义曲线的基本步骤在MATLAB中,使用.m文件定义曲线通常需要遵循以下基本步骤:1. 编写曲线的数学公式我们需要明确曲线的数学表达式。
这包括曲线的参数方程、极坐标方程或其他形式的函数关系。
在MATLAB中,我们可以使用符号运算工具箱来定义复杂的数学公式,并将其转化为MATLAB可识别的形式。
2. 编写.m文件接下来,我们可以创建一个新的.m文件,在其中编写曲线的数学公式以及绘图指令。
我们可以使用MATLAB的编辑器来完成这一步骤,也可以直接通过文本编辑器编写代码并保存为.m文件格式。
3. 定义曲线函数在.m文件中,我们可以使用MATLAB提供的函数定义语法,将曲线的数学公式转化为可调用的MATLAB函数。
这包括使用function关键字定义函数名称、输入参数和输出值,以及在函数体中编写具体的数学运算和绘图指令。
4. 调用曲线函数一旦完成曲线函数的定义,我们就可以在MATLAB命令窗口或其他.m 文件中调用该函数,并对曲线进行绘制、分析或其他操作。
三、示例一:绘制正弦曲线下面我们以绘制正弦曲线为例,演示在MATLAB中使用.m文件定义曲线的过程。
1. 编写曲线的数学公式正弦曲线的数学表达式为y = sin(x),其中x为自变量,y为因变量。
m函数文件及函数文件的使用,并用m文件解决九九乘
法表
MATLAB是一种用于数值计算的编程语言和环境。
在MATLAB中,你可以使用m文件来编写和存储函数。
以下是如何创建一个m文件来解决九九乘法表的问题。
首先,你需要创建一个m文件。
你可以通过MATLAB的编辑器来做这个,或者直接在命令窗口中输入以下命令:matlab
edit multiplesTable
这将会创建一个名为"multiplesTable.m"的新文件。
然后,你可以在这个文件中输入以下代码:
matlab
function result = multiplesTable(n)
result = zeros(n, n); % 初始化一个n x n的零矩阵for i = 1:n
for j = 1:n
result(i, j) = i * j; % 将i和j的乘积存入结果矩阵的相应位置
end
end
end
这个函数将接收一个参数n,并返回一个n x n的矩阵,其中每个元素是相应行和列的乘积。
例如,如果n为3,那么返回的矩阵将是:
markdown
1 2 3
2 4 6
3 6 9
然后你可以在MATLAB命令窗口中调用这个函数。
例如,如果你想生成一个5x5的九九乘法表,你可以输入以下命令:matlab
multiplesTable(5)
这将会返回一个5x5的矩阵,其中每个元素是相应行和列的乘积。
20.11 M文件例子精通MATLAB工具箱含有许多实用函数,它们可以验证本章的许多概念。
这些函数的基本部分已经在二维和三维图形这些章阐述过了。
有了前面对句柄图形的讨论,我们现在可以更彻底地讨论这些函数。
最简单的精通MATLAB工具箱的函数之一提出了一个共同的问题。
MATLAB函数gcf返回当前图形的句柄。
但是,它有一个副作用。
如果图形不存在,gcf就创建一个,并返回它的句柄。
如果想寻找一个图形是否存在于头一个位置,要是没有,又不得不创建,怎么办?函数mmgcf正好实现由其内容所描述的工作。
function HF=mmgcf%MMGCF Get Current Figure if it Exists.% MMGCF returns the handle of the current figure if it exists.% If no current figure exists,MMGCF returns an empty handle.%% Note that the function GCF is different.It creates a figure and returns its handle if it does not % exist.% Copyright (c) 1996 by Prentice-Hall,Inc.Hf=get(0, ‘Children’ ); % check for figure childrenif isempty(Hf)returnelseHf=get(0, ‘CurrentFigure’ );end函数mmgcf首先检查根对象的子对象的图形是否存在,如至少有一个图形对象时,根对象的‘CurrentFigure’属性就返回当前的图形。
函数mmgca为坐标轴对象执行同样的功能,如同在它的M文件内所描述的那样。
function Ha=mmgca%MMGCA Get Current Axes if it exists.% MMGCA returns the handle of the current axes if it exists.% If no current axes exists,MMGCA returns an empty handle.%% Note that the function GCA is diffent.It create a figure and an axes and returns the axes % handle if they do not exist.% Copyright (c) 1996 by Prentice-Hall,Inc.Ha=findobj(0, ‘Type’ , ‘axes’ );if isempty(Ha)returnelseHa=get(get(0, ‘CurrentFigfure’ ), ‘CurrentAxes’ );end由于函数gco已经表现出当对象不存在时返回空矩阵的行为特性,就不需要函数mmgco 了。
在精通MATLAB工具箱中的另一个函数是mmzap,在二维图形那一章里已作过介绍。
如下M文件中所示,它使用mmgcf作错误检查,与findobj和get一起删除一个指定的图形。
function mmzap(arg)%MMZAP Delete graphics object using mouse.% MMZAP waits for a mouse click on an object in a figure window and deletes the object.% MMZAP or MMZAP text erases text objects.% MMZAP axes erases axes objects.% MMZAP line erases line objects.% MMZAP surf erases surface objects.% MMZAP patch erases patch objects.%% Clicking on an object other than the selected type or striking a key on the keyboard aborts % the command.% Copyright (c) 1996 by Prentice-Hall,Inc.if nargin<1,arg= ‘text’ ;endHf=mmgcf;if isempty(Hf),error( ‘No Figure Available.’ ),endif length(findobj(0, ‘Type’ , ‘figure’ ))==1figure(Hf) % bring only figure forwordendkey=waitforbuttonpress; % pause untill user takes some actionif key % key on keyboard pressedreturn % take no actionelse % object selectedobject=gco % get object selected by buttonpresstype=get(object, ‘Type’ );if all(type(1:4)==arg(1:4)) % delete only if ‘Type’is correctdelete(object)endend在编写句柄图形函数的M文件时,函数mmzap描述了一种很有用的技术。
它利用函数waitforbuttonpress和gco的结合用鼠标来获取所选定对象的句柄。
waifortbuttonpress是一个MATLAB内置函数,它的功能是等待鼠标点击或按键。
它的帮助文本如下:» help waitforbuttonpressWAITFOR BUTTONPRESS Wait for key/buttonpress over figure.T= WAITFOR BUTTONPRESS stops program execution untill a key or mouse button is pressed over a figure window.Returns 0 when terminated by a mouse buttonpress,or 1when terminated by a keypress.Additional information about the terminating event isavailable from the current figure.See also GINPUT,GCF.帮助信息:WAITFORBUTTONPRESS等待一个鼠标/按钮对图形按下。
T=WAITFORBUTTONPRESS停止程序的执行,直到鼠标按钮或键在一个图形窗口按下。
当鼠标按钮按下时返回0;当键按下时返回1。
其它的结束事件的信息可从当前的图形中窗口获取。
参阅GINPUT和GCF。
鼠标按钮在鼠标指针指的图形上按下后,函数gco返回所点中对象的句柄。
然后,该句柄可用来操作选中的对象。
在精通MATLAB工具箱中,用这种简单的选择技术的函数还有mmline 和mmaxes。
其中,mmline的M文件描述如下:function mmline(arg1,arg2, arg3, arg4, arg5, arg6)%MMLINE Set Line Properties Using Mouse% MMLINE waites for a mouse click on a line then applies the desired properties to the% selected line.% Properties are given in parts,e.g.,MMLINE Name value...% Properties:% NAME VALUE{default}% color [Y m c r g b w k] or an RGB in quotes: ‘[r g b]’% style [- -- ; -.]% mark [o + . * X]% width points for linewidth {0.5}% size points for marker size {6}% zap (n.a.) delete selected line% Examples:% MMLINE color r width 2 sets color to red and width to 2 points% MMLINE mark + size 8 sets marker type to + and size to 8 points%% Clicking on an object other than a line,or striking a key on the keyboard aborts the % command.% Copyright (c) 1996 by Prentice-Hall,Inc.Hf=mmgcf;if isempty(Hf),error( ‘No Figure Avaiable.’ ),endif length(get(0, ‘Children’ ))==1figure(Hf) % bring only figure forwordendkey=waitforbuttonpress;if key % key on keyboard pressedreturnelse % object selectedHl=gcoif strcmp(get(Hl, ‘Type’ ), ‘line’ ) % line object selectedfor i=1:2:max(nargin-1,1)Name=eval(sprintf( ‘arg%.0f ‘ ,i),[]); get Name argumentif strcmp(Name, ‘zap’ )delete(Hl),returnendvalue=eval(sprintf( ‘arg%.0f ‘ ,i+1),[]); % get valueif strcmp(Name, ‘color’ )set(Hl, ‘Color’ ,value)elseif strcmp(Name, ‘style’ )set(Hl, ‘Linestyle’ ,value)elseif strcmp(Name, ‘mark’ )set(Hl, ‘Linestyle’ ,value)elseif strcmp(Name, ‘width’ )value=abs(eval(value))set(Hl, ‘LineWidth’ ,value)elseif strcmp(Name, ‘size’ )value=abs(eval(value))set(Hl, ‘MarkerSize’ ,value)elsedisp([ ‘Unknown Property Name: ‘ Name’])endendendend精通MATLAB工具箱中的函数mmpaper以简单的方式阐述了对纸张属性的使用。