精华内容
下载资源
问答
  • 实验八:用 MATLAB 函数编写并求解微分方程 一实验原理 为了对连续系统进行方针, 首先需要建立其数学模型, 然后利用计算机求这些数学模型, 从而得出数学模型的数值解 由于连续系统是通过微分方程老建模的, 因此对此的...
  • 2.5 MATLAB函数编写

    2020-04-13 12:08:07
    文章目录MATLAB语言函数的基本结构函数的递归调用函数的输入输出方法任意多输入变元匿名函数伪代码与代码保密处理伪代码化的目的伪代码语句 MATLAB语言函数的基本结构 信息处理单元 输入变量函数返回变量 函数的f—...

    MATLAB语言函数的基本结构

    信息处理单元
    在这里插入图片描述
    输入变量函数返回变量

    函数的f—结构
    在这里插入图片描述
    function .return ars~ =funname(.input ars~) comments led by % input and output ariables check main body of the function

    这里输入和返回变量的实际个数分别由nargin和nargout两个MATLAB 保留变量来给出,只要进入该函数,�mm就将自动生成这两个变量.

    函数的递归调用

    注意设置函数的出口,不然就会无限递归了。

    变量检测,增强程序的稳健性。

    函数的输入输出方法

    输入输出变量:varargin、varargout

    变量的提取——单元数组(cell)

    varargin{1}, varargin{2},…, varargin{n}

    任意多输入变元

    使用varargin实现

    案例:实现多项式累乘

    function a=convs(varargin) , a=l; for i=1:nargin, a=conv(a,varargin{i}) ; end

    匿名函数

    inline函数(功能重叠,不建议使用)

    MATLAB7.0以上版本提供的匿名函数

    f=@(list of variables) function_contents

    伪代码与代码保密处理

    用户一定要在安全的位置保留m源文件,不能轻易删除因为.p文件是不可逆的

    伪代码函数的后缀是 .p

    伪代码化的目的

    提高程序的执行速度

    保密:把ASC的m文件转換成二进制代码

    伪代码语句

    pcode mytest
    pcode * m
    pcode mytest -inplace

    展开全文
  • MATLAB函数编写方法与应用 所谓 MATLAB 程序,大致分为两类:M 脚本文件 (M-Script) 和 M 函数 (M-function), 它们均是普通的 ASCII 码构成的文件。M 脚本文件中包含一族由 MATLAB 语言所支持的语句,它类似于 DOS ...

    MATLAB函数编写方法与应用

    所谓 MATLAB 程序,大致分为两类:M 脚本文件 (M-Script) 和 M 函数 (M-function), 它们均是普通的 ASCII 码构成的文件。M 脚本文件中包含一族由 MATLAB 语言所支持的语句,它类似于 DOS 下的批处理文件,它的执行方式很简单,用户只需在 MATLAB 的提示符 >> 下键入该 M 文件的文件名,这样 MATLAB 就会自动执行该 M 文件中的各条语句,并将结果直接返回到 MATLAB 的工作空间。M 函数格式是 MATLAB 程序设计的主流,一般情况下, 不建议您使用 M 脚本文件格式编程。
    MATLAB 的 M 函数是由 function 语句引导的,其基本格式如下:

    function [返回变量列表] = 函数名 (输入变量列表)
    注释说明语句段, 由 % 引导
    输入、返回变量格式的检测
    函数体语句

    这里输入和返回变量的实际个数分别由 nargin 和 nargout 两个 MATLAB 保留变量来给出,只要进入该函数,MATLAB 就将自动生成这两个变量,不论您是否直接使用这两个变量。返回变量如果多于 1 个,则应该用方括号将它们括起来,否则可以省去方括号。输入变量和返回变量之间用逗号来分割。注释语句段的每行语句都应该由百分号 % 引导,百分号后面的内容不执行,只起注释作用。用户采用 help 命令则可以显示出来注释语句段的内容。此外,正规的变量个数检测也是必要的。如果输入或返回变量格式不正确,则应该给出相应的提示。我们将通过下面的例子来演示函数编程的格式与方法。


    [例子]:假设我们想生成一个 n*m 阶的 Hilbert 矩阵, 它的第 i 行第 j 列的元素值为 1/(i+j-1)。我们想在编写的函数中实现下面几点:

    1)、如果只给出一个输入参数,则会自动生成一个方阵,即令 m=n
    2)、在函数中给出合适的帮助信息,包括基本功能、调用方式和参数说明
    3)、检测输入和返回变量的个数,如果有错误则给出错误信息
    如果调用时不要求返回变量,则将显示结果矩阵。其实在编写程序时养成一个好的习惯,无论对程序设计者还是对程序的维护者、使用者都是大有裨益的。

    采用 MATLAB 函数编写格式和上述要求,我们可以编写出一个函数

    function A=myhilb(n, m)
    %MYHILB a demonstrative M-function.
    % A=MYHILB(N, M) generates an N by M Hilbert matrix A.
    % A=MYHILB(N) generates an N by N square Hilbert matrix.
    % MYHILB(N,M) displays ONLY the Hilbert matrix, but do not return any
    % matrix back to the calling function.
    %
    %See als HILB.

    % Designed by Professor Dingyu XUE, Northeastern University, PRC
    % 5 April, 1995, Last modified by DYX at 21 March, 2000
    if nargout>1, error('Too many output arguments.'); end
    if nargin==1, m=n;
    elseif nargin==0 | nargin>2
    error('Wrong number of iutput arguments.');
    end
    A1=zeros(n,m);
    for i=1: n
    for j=1:m
    A1(i,j)=1/(i+j-1);
    end, end
    if nargout==1, A=A1; elseif nargout==0, disp(A1); end


    这样规范编写的函数用 help 命令可以显示出其帮助信息:

    >> help myhilb
    MYHILB a demonstrative M-function.
    A=MYHILB(N, M) generates an N by M Hilbert matrix A.
    A=MYHILB(N) generates an N by N square Hilbert matrix.
    MYHILB(N,M) displays ONLY the Hilbert matrix, but do not return any
    matrix back to the calling function.

    See als HILB.


    有了函数之后,可以采用下面的各种方法来调用它,并产生出所需的结果。

    >> A=myhilb(3,4)
    A =
    1.0000 0.5000 0.3333 0.2500
    0.5000 0.3333 0.2500 0.2000
    0.3333 0.2500 0.2000 0.1667
    >> A=myhilb(4)
    A =
    1.0000 0.5000 0.3333 0.2500
    0.5000 0.3333 0.2500 0.2000
    0.3333 0.2500 0.2000 0.1667
    0.2500 0.2000 0.1667 0.1429
    >> myhilb(4)
    1.0000 0.5000 0.3333 0.2500
    0.5000 0.3333 0.2500 0.2000
    0.3333 0.2500 0.2000 0.1667
    0.2500 0.2000 0.1667 0.1429

    另外,因为 MATLAB是一种解释性语言,所以即使在某个或某些函数中存在语法错误,但如果没执行到该语句时可能就不会发现该错误,这在一个成功的程序设计中是不能容许的。要查出某目录中所有的M函数语法错误,首先应该用 cd 命令 进入该目录,然后运行 pcode * 命令进行伪代码转换。因为该命令会将 MATLAB 函数转换成伪代码,而在转换过程中该程序将自动翻译每一条语句,所以一旦发现有语法错误,将会停止翻译,给出错误信息。改正了该语法错误后,再重新执行 pcode 命令,直到没有错误为止。至少这样会保证目录下所有的程序不含有语法错误。
    展开全文
  • 利用Matlab编程实现主成分分析 1.概述 Matlab语言是当今国际上科学界尤其是自动控制领域最具影响力也是 最有活力的软件它起源于矩阵运算并已经发展成一种高度集成的计算机语言 它提供了强大的科学运算灵活的程序设计...
  • Slide 1;Slide 2;Slide 3;Slide 4;设计实例1;设计实例1;设计实例1;设计实例1;设计实例1;设计实例1;设计实例1;设计实例2;...第1部分 MATLAB基础;1.1 MATLAB窗口;1.2 数据表示;1.3 数组;1.3 数组;1.3 数组;1.3
  • Matlab函数编写格式

    千次阅读 2011-08-07 19:12:46
    所谓 MATLAB 程序,大致分为两类:M 脚本文件 (M-Script) 和 M 函数 (M-function), 它们均是普通的 ASCII 码构成的文件。M 脚本文件中包含一族由 MATLAB 语言所支持的语句,它类似于 DOS 下的批处理文件,它的执行...
     所谓 MATLAB 程序,大致分为两类:M 脚本文件 (M-Script) 和 M 函数 (M-function), 它们均是普通的 ASCII 码构成的文件。M 脚本文件中包含一族由 MATLAB 语言所支持的语句,它类似于 DOS 下的批处理文件,它的执行方式很简单,用户只需在 MATLAB 的提示符 >> 下键入该 M 文件的文件名,这样 MATLAB 就会自动执行该 M 文件中的各条语句,并将结果直接返回到 MATLAB 的工作空间。M 函数格式是 MATLAB 程序设计的主流,一般情况下, 不建议您使用
     M 脚本文件格式编程。
    

      MATLAB 的 M 函数是由 function 语句引导的,其基本格式如下:

    function [返回变量列表] = 函数名 (输入变量列表) 
    注释说明语句段, 由 % 引导 
    输入、返回变量格式的检测
    函数体语句 

      这里输入和返回变量的实际个数分别由 nargin 和 nargout 两个 MATLAB 保留变量来给出,只要进入该函数,MATLAB 就将自动生成这两个变量,不论您是否直接使用这两个变量。返回变量如果多于 1 个,则应该用方括号将它们括起来,否则可以省去方括号。输入变量和返回变量之间用逗号来分割。注释语句段的每行语句都应该由百分号 % 引导,百分号后面的内容不执行,只起注释作用。用户采用 help 命令则可以显示出来注释语句段的内容。此外,正规的变量个数检测也是必要的。如果输入或返回变量格式不正确,则应该给出相应的提示。我们将通过下面的例子来演示函数编程的格式与方法。

    〖例 3-〗假设我们想生成一个 nxm 阶的 Hilbert 矩阵, 它的第 i 行第 j 列的元素值为 1/(i+j-1)。我们想在编写的函数中实现下面几点:

    • 如果只给出一个输入参数,则会自动生成一个方阵,即令 m=n
    • 在函数中给出合适的帮助信息,包括基本功能、调用方式和参数说明
    • 检测输入和返回变量的个数,如果有错误则给出错误信息

      如果调用时不要求返回变量,则将显示结果矩阵。其实在编写程序时养成一个好的习惯,无论对程序设计者还是对程序的维护者、使用者都是大有裨益的。

      采用 MATLAB 函数编写格式和上述要求,我们可以编写出一个函数

    function A=myhilb(n, m)
    %MYHILB a demonstrative M-function.
    % A=MYHILB(N, M) generates an N by M Hilbert matrix A.
    % A=MYHILB(N) generates an N by N square Hilbert matrix.
    % MYHILB(N,M) displays ONLY the Hilbert matrix, but do not return any
    % matrix back to the calling function.
    %
    %See also: HILB.

    % Designed by Professor Dingyu XUE, Northeastern University, PRC
    % 5 April, 1995, Last modified by DYX at 21 March, 2000
    if nargout>1, error('Too many output arguments.'); end
    if nargin==1, m=n;
    elseif nargin==0 | nargin>2
    error('Wrong number of iutput arguments.');
    end
    A1=zeros(n,m);
    for i=1: n
    for j=1:m
    A1(i,j)=1/(i+j-1);
    end, end
    if nargout==1, A=A1; elseif nargout==0, disp(A1); end

    这样规范编写的函数用 help 命令可以显示出其帮助信息:

    >> help myhilb
    MYHILB a demonstrative M-function.
    A=MYHILB(N, M) generates an N by M Hilbert matrix A.
    A=MYHILB(N) generates an N by N square Hilbert matrix.
    MYHILB(N,M) displays ONLY the Hilbert matrix, but do not return any
    matrix back to the calling function.

    See also: HILB.

      有了函数之后,可以采用下面的各种方法来调用它,并产生出所需的结果。

    >> A=myhilb(3,4)
    A =
    1.0000 0.5000 0.3333 0.2500
    0.5000 0.3333 0.2500 0.2000
    0.3333 0.2500 0.2000 0.1667
    >> A=myhilb(4)
    A =
    1.0000 0.5000 0.3333 0.2500
    0.5000 0.3333 0.2500 0.2000
    0.3333 0.2500 0.2000 0.1667
    0.2500 0.2000 0.1667 0.1429
    >> myhilb(4)
    1.0000 0.5000 0.3333 0.2500
    0.5000 0.3333 0.2500 0.2000
    0.3333 0.2500 0.2000 0.1667
    0.2500 0.2000 0.1667 0.1429

    MATLAB 工具箱编写技巧

      放入一个目录中的为某种目的专门编写的一组 MATLAB 函数就可以组成一个工具箱。从某种意义上说,任何一个 MATLAB 语言的使用者都可以是工具箱的作者。在一个工具箱中,应该有一个名为 Contents.m 的文件,用来描述工具箱中所有 MATLAB 函数的名称和意义。在该文件中第 1 行应该给出该工具箱的名称,在第 2
    行中给出该工具箱的版本与修改时间等信息。然后分类地给出该工具箱中各类函数的最基本功能。注意,本文件中所有的语句都应该是注释语句,由百分号 % 引导,空行也应该由 % 引导。

      另外,因为 MATLAB是一种解释性语言,所以即使在某个或某些函数中存在语法错误,但如果没执行到该语句时可能就不会发现该错误,这在一个成功的程序设计中是不能容许的。要查出某目录中所有的M函数语法错误,首先应该用 cd 命令 进入该目录,然后运行 pcode * 命令进行伪代码转换。因为该命令会将 MATLAB 函数转换成伪代码,而在转换过程中该程序将自动翻译每一条语句,所以一旦发现有语法错误,将会停止翻译,给出错误信息。改正了该语法错误后,再重新执行 pcode 命令,直到没有错误为止。至少这样会保证目录下所有的程序不含有语法错误。

    展开全文
  • 所谓 MATLAB 程序,大致分为两类:M 脚本文件 (M-Script) 和 M 函数 (M-function), 它们均是普通的 ASCII 码构成的文件。M 脚本文件中包含一族由 MATLAB 语言所支持的语句,它类似于 DOS 下的批处理文件,它的执行...

    http://blog.sina.com.cn/s/blog_3f9564ca01000716.html

     

    所谓 MATLAB 程序,大致分为两类:M 脚本文件 (M-Script) 和 M 函数 (M-function), 它们均是普通的 ASCII 码构成的文件。M 脚本文件中包含一族由 MATLAB 语言所支持的语句,它类似于 DOS 下的批处理文件,它的执行方式很简单,用户只需在 MATLAB 的提示符 >> 下键入该 M 文件的文件名,这样 MATLAB 就会自动执行该 M 文件中的各条语句,并将结果直接返回到 MATLAB 的工作空间。M 函数格式是 MATLAB 程序设计的主流,一般情况下, 不建议您使用 M 脚本文件格式编程。

      MATLAB 的 M 函数是由 function 语句引导的,其基本格式如下:

    function [返回变量列表] = 函数名 (输入变量列表) 
    注释说明语句段, 由 % 引导 
    输入、返回变量格式的检测
    函数体语句 

      这里输入和返回变量的实际个数分别由 nargin 和 nargout 两个 MATLAB 保留变量来给出,只要进入该函数,MATLAB 就将自动生成这两个变量,不论您是否直接使用这两个变量。返回变量如果多于 1 个,则应该用方括号将它们括起来,否则可以省去方括号。输入变量和返回变量之间用逗号来分割。注释语句段的每行语句都应该由百分号 % 引导,百分号后面的内容不执行,只起注释作用。用户采用 help 命令则可以显示出来注释语句段的内容。此外,正规的变量个数检测也是必要的。如果输入或返回变量格式不正确,则应该给出相应的提示。我们将通过下面的例子来演示函数编程的格式与方法。

    〖例 3-〗假设我们想生成一个 nxm 阶的 Hilbert 矩阵, 它的第 i 行第 j 列的元素值为 1/(i+j-1)。我们想在编写的函数中实现下面几点:

    • 如果只给出一个输入参数,则会自动生成一个方阵,即令 m=n
    • 在函数中给出合适的帮助信息,包括基本功能、调用方式和参数说明
    • 检测输入和返回变量的个数,如果有错误则给出错误信息

      如果调用时不要求返回变量,则将显示结果矩阵。其实在编写程序时养成一个好的习惯,无论对程序设计者还是对程序的维护者、使用者都是大有裨益的。

      采用 MATLAB 函数编写格式和上述要求,我们可以编写出一个函数

    function A=myhilb(n, m)
    %MYHILB a demonstrative M-function.
    % A=MYHILB(N, M) generates an N by M Hilbert matrix A.
    % A=MYHILB(N) generates an N by N square Hilbert matrix.
    % MYHILB(N,M) displays ONLY the Hilbert matrix, but do not return any
    % matrix back to the calling function.
    %
    %See also: HILB.

    % Designed by Professor Dingyu XUE, Northeastern University, PRC
    % 5 April, 1995, Last modified by DYX at 21 March, 2000
    if nargout>1, error('Too many output arguments.'); end
    if nargin==1, m=n;
    elseif nargin==0 | nargin>2
    error('Wrong number of iutput arguments.');
    end
    A1=zeros(n,m);
    for i=1: n
    for j=1:m
    A1(i,j)=1/(i+j-1);
    end, end
    if nargout==1, A=A1; elseif nargout==0, disp(A1); end

    这样规范编写的函数用 help 命令可以显示出其帮助信息:

    >> help myhilb
    MYHILB a demonstrative M-function.
    A=MYHILB(N, M) generates an N by M Hilbert matrix A.
    A=MYHILB(N) generates an N by N square Hilbert matrix.
    MYHILB(N,M) displays ONLY the Hilbert matrix, but do not return any
    matrix back to the calling function.

    See also: HILB.

      有了函数之后,可以采用下面的各种方法来调用它,并产生出所需的结果。

    >> A=myhilb(3,4)
    A =
    1.0000 0.5000 0.3333 0.2500
    0.5000 0.3333 0.2500 0.2000
    0.3333 0.2500 0.2000 0.1667
    >> A=myhilb(4)
    A =
    1.0000 0.5000 0.3333 0.2500
    0.5000 0.3333 0.2500 0.2000
    0.3333 0.2500 0.2000 0.1667
    0.2500 0.2000 0.1667 0.1429
    >> myhilb(4)
    1.0000 0.5000 0.3333 0.2500
    0.5000 0.3333 0.2500 0.2000
    0.3333 0.2500 0.2000 0.1667
    0.2500 0.2000 0.1667 0.1429

    MATLAB 工具箱编写技巧

      放入一个目录中的为某种目的专门编写的一组 MATLAB 函数就可以组成一个工具箱。 从某种意义上说,任何一个 MATLAB 语言的使用者都可以是工具箱的作者。在一个工具箱中,应该有一个名为 Contents.m 的文件,用来描述工具箱中所有 MATLAB 函数的名称和意义。在该文件中第 1 行应该给出该工具箱的名称,在第 2
    行中给出该工具箱的版本与修改时间等信息。然后分类地给出该工具箱中各类函数的最基本功能。注意,本文件中所有的语句都应该是注释语句,由百分号 % 引导,空行也应该由 % 引导。

      另外,因为 MATLAB是一种解释性语言,所以即使在某个或某些函数中存在语法错误,但如果没执行到该语句时可能就不会发现该错误,这在一个成功的程序设计中是不能容许的。要查出某目录中所有的M函数语法错误,首先应该用 cd 命令 进入该目录,然后运行 pcode * 命令进行伪代码转换。因为该命令会将 MATLAB 函数转换成伪代码,而在转换过程中该程序将自动翻译每一条语句,所以一旦发现有语法错误,将会停止翻译,给出错误信息。改正了该语法错误后,再重新执行 pcode 命令,直到没有错误为止。至少这样会保证目录下所有的程序不含有语法错误。

     

    http://379910987.blog.163.com/blog/static/33523797201161052640225/

     

    内联函数

           内联(inline)函数是MATLAB 7以前经常使用的一种构造函数对象的方法。在命令窗口、程序或函数中创建局部函数时,通过使用inline构造函数,而不用将其储存为一个M文件,同时又可以像使用一般函数那样调用它。

    MATLAB中的内联函数借鉴了C语言中的内联函数,在C语言中,内联函数是通过编译器控制来实现的,它只在需要用到的时候,内联函数像宏一样的展开,所以取消了函数的参数压栈,减少了调用的时间和空间开销。在MATLAB中也有类似的性质。由于内联函数是储存于内存中而不是在M文件中,省去了文件访问的时间,加快了程序的运行效率。

    虽然内联函数有M文件不具备的一些优势,但是由于内联函数的使用,也会受到一些制约。首先,不能在内联函数中调用另一个inline函数;另外,只能由一个MATLAB表达式组成,并且只能返回一个变量。

    创建一个内联函数非常简单,就是使用inline方法,例如:

    >> f=inline('t^2-3*t-4')
    
    f =
    
         Inline function:
    
         f(t) = t^2-3*t-4

    MATLAB会通过检查字符串来推断自变量,例如上面的函数中t就是自变量,如果没有找到,将会使用x作为缺省的自变量,例如常数函数:

    >> g=inline('3')
    
    g =
    
         Inline function:
    
         g(x) = 3

    另外,对于inline也支持多元函数:

    >> h=inline('x+y')
    
    h =
    
         Inline function:
    
         h(x,y) = x+y

    这种创建方法等价于以下方法:

    >> h=inline('x+y','x','y')

    这种方式显式地指定了参数列表。

    使用内联函数也很简单,如同手写一般,以f(t) = t^2-3*t-4为例,分别计算在t=2t=4时的函数值:

    >> f(2)
    
    ans =
    
        -6
    
    >> f(4)
    
    ans =
    
         0

     

    对于多元函数类似。

    匿名函数

           匿名函数(anonymous function)是MATLAB 7.0版提出的一种全新的函数描述形式,和内联函数类似,可以让用户编写简单的函数而不需要创建M文件,因此,匿名函数具有inline函数的所有优点,并且效率比inline函数高,同时还具有一些独有的特点。

           事实上匿名函数很像C语言中的宏,这个从匿名函数的构造就能够看得出来,但是它比宏的功能更加强大,就是可以支持变量替换,这将在后面的示例中有所体现。

    定义一个匿名函数很简单,语法是fhandle=@(arglist) expression

    其中fhandle就是调用该函数的函数句柄(function handle),相当于C语言中的函数指针,arglist是参数列表,多个参数使用逗号分隔,Expression则是该函数的表达式,例如定义xy的平方和函数:

    >> f=@(x,y) x*x+y*y
    
    f =
    
        @(x,y)x*x+y*y

     

    一旦定义了匿名函数,使用方式和inline函数类似,例如计算f(3,4)

    >> f(3,4)
    
    ans =
    
        25

     

    前面提到,匿名函数可以使用工作空间的变量,例如创建函数f(x,y)=x^2+y^3

    >> p=2;
    
    >> q=3;
    
    >> f=@(x,y) x^p+y^q
    
    f =
    
        @(x,y)x^p+y^q

    计算f(2,3):

    >> f(2,3)

    ans =

        31

    如果修改p或者q的值,例如将q改为2

    q =

         2

    >> f(2,3)

    ans =

        31

    计算结果并没有改变,这是因为,该函数句柄保存的是函数在创建时的快照,而不是动态的访问其中的变量,如果希望获取新值,需要重新创建一次该函数,完整的方法应该是这样的:

    >> q=2;
    
    >> f=@(x,y) x^p+y^q
    
    f =
    
        @(x,y)x^p+y^q
    
    >> f(2,3)
    
    ans =
    
        13

    匿名函数会让前面的内联函数逐步退出MATLAB的舞台,事实上在设计这种类型的函数时就带有这一目的,但是为了保持程序的向下兼容,使用内联函数无疑将带来更好的兼容性。

    函数函数

           函数函数(function function)是对传入的其他函数进行操作的函数,传入的函数作为函数函数的输入参数,传入到函数函数中的函数称为传递函数(Passed function),事实上MATLAB中就有许多这样的函数,例如求解常微分方程的函数ode23ode45ode113等都是函数函数,他们的第一个参数都是传递函数。另外一个常见的函数函数是fplot,用于绘制所提供函数的图形,语法为fplot(fun,lims)

    例如绘制x取值范围为[-π,π]f=sin(x)的图形:

    >> fplot(@sin,[-pi,pi])

           图形如下:

     浅析MATLAB中的内联函数、匿名函数和函数函数 - Castor - 趁年轻,多折腾~~

      和前面两种函数不同,函数函数是比较复杂的函数了,因此必须要保存在M文件中,例如可以编写一个计算某个传递函数在给定区间上最大值、最小值和平均值的函数函数:

     

    function [maxy,miny,aver]=fstatic(func,a,b,n)
    
        x=linspace(a,b,n);
    
        y=func(x);
    
        maxy=max(y);
    
        miny=min(y);
    
        aver=mean(y);
    
    end

     

    保存为M文件后,例如统计正弦函数在[-π,π]上的最大值、最小值和平均值:

    >> fstatic(@sin,-pi,pi,100)
    
    ans =
    
        0.9999
    
    >> [max min aver]=fstatic(@sin,-pi,pi,1000)
    
    max =
    
        1.0000
    
    min =
    
       -1.0000
    
    aver =
    
     -5.9291e-018

     

    转载于:https://www.cnblogs.com/MarshallL/p/4045768.html

    展开全文
  • 编写一个序列 x(n) 的奇偶分解式 xe(n) 和 xo(n),需要考虑的问题是序列长度,下标的变化。 这里必须做个声明,下面的程序中用到了前几篇博客中的几个函数,这里给贴出来: 信号相加: function [y,n] = sigadd...
  • 所谓 MATLAB 程序,大致分为两类:M 脚本文件 (M-Script) 和 M 函数 (M-function), 它们均是普通的 ASCII 码构成的文件。M 脚本文件中包含一族由 MATLAB 语言所支持的语句,它类似于 DOS 下的批处理文件,它的执行...
  • MATLAB 函数编写方法与应用(转)

    千次阅读 2009-05-07 11:12:00
    http://www.chinavib.com/forum/thread-9280-1-4.html所谓 MATLAB 程序,大致分为两类:M 脚本文件 (M-Script) 和 M 函数 (M-function), 它们均是普通的 ASCII 码构成的文件。M 脚本文件中包含一族由 MATLAB 语言所...
  • 在本套程序中,建立了两套模型,首先在21分制和11分制的情况下建立概率模型,通过matlab语言编程,绘制曲线图,实现了在两种不同赛制下运动员获胜的概率情况,并分别对5局3胜制和7局4胜制进行了建模。其次还建立了...
  • 【Matlab】如何规范地编写一个MATLAB函数文件

    万次阅读 多人点赞 2018-09-28 18:11:49
    matlab中,M文件分为脚本文件和函数文件。如果M文件的第一个可执行语句以function开头,那这个M文件就是函数文件。函数文件内定义的变量为局部变量,只在函数文件内部起作用,当函数文件执行完后,这些内部变量将...
  • MATLAB编程--编写MATLAB函数
  • 1、log函数:求自然对数2、用法说明y = log(x) 函数对数组x的元素逐个进行以e为底的对数运算。y = a+b*i,有log(y) = log(abs(y))+i*atan2(b,a)3、举例说明>> x = 10x =10>> y = log(x)y =2.3026>>...
  • matlab S函数编写指南

    2010-07-12 10:38:05
    matlab S函数编写心得,自己总结的
  • matlab fftshift函数编写

    2020-12-03 22:35:41
    fftshift函数(matlab) 可以对矩阵,向量,多维数组进行变换
  • 该博客为《Ubuntu 相关》系列...Ubuntu下用c++调用自己编写的matlab函数编写matlab函数生成动态链接库阅读readme.txt文件Prerequisites for Deployment(部署的前提条件)1. enter2. run the MATLAB Runtime installe
  • matlab的pwm函数编写

    2018-03-29 20:01:33
    采用matlab-s函数编写pwm程序 ,实现脉冲信号的输出,根据参数可任意调节占空比的大小,对matlab-s函数进行应用,可实现变周期控制,完成期望效果,若是结合PID控制,可达到脉冲燃烧效果。
  • matlab-S函数编写示范

    2018-01-28 23:13:35
    matlab-S函数编写教程及示例,matlab-S函数入门教程。
  • Matlab导入编写函数

    2020-02-15 16:39:37
    1.在网上搜索的matlab函数或自己编写的函数,想要导入matlab库中,先在该路径保存该函数,然后设置路径->删除该路径->添加文件夹->选择该路径->保存,就可以了。 2.导入Libsvm时,参考相关教程,需要...
  • MATLAB+S函数编写示范

    2014-05-04 21:29:15
    MATLAB+S函数编写示范
  • MATLAB带参函数编写

    千次阅读 2016-09-24 19:48:59
    MATLAB带参画图函数编写
  • 本文档介绍了如何将自己的数据类型规则编写MATLAB 函数并将它们集成到 Simulink 模型的数据类型传播过程中。 编写您自己的规则是最高级别的定制,需要最多的专业知识和资源。 您应该首先考虑一些更简单的替代...
  • 分别表示函数调用时的输入参数个数,输出参数个数 return 返回调用函数 pause 暂停运行,按任意键执行 pause(0.5) 暂停0.5秒 f=inline(expr, arg1, arg2, ...) 匿名函数inline,expr是字符串类型的方程式,...
  • matlab中写个函数,在主程序中调用该函数的方法 跟其它的编程语言都一样,但是子函数与主函数要存于不同的文件中,文件名就是函数名字。文件必须保存在current directory中,才能调用。 函数的基本结构: ...
  • Matlab S函数编写

    千次阅读 2009-04-10 19:20:00
    (够简单吧,^_^,详细的概念介绍大伙看帮助吧)可以用matlab、C、C++、Fortran、Ada等语言来写,这儿我只介绍怎样用matlab语言来写吧(主要是它比较简单) 先讲讲为什么要用s函数,我觉得用s函数可以利用matlab的...
  • Matlab简单的函数编写

    千次阅读 2020-03-16 12:17:04
    用matlab也蛮久的了,总是忘记matlab函数如何构建,还是不够熟练,所以在此正好做个总结,以后再忘,也可以翻开看看自己的博客,不用到处去找了。 以函数function [1] = [2]这种形式来看,我每次最纠结的就算[1]填...
  • plot(tt,se) title('模拟退火算法求解二维Rosenbrock函数最优值'); xlabel('迭代次数'); ylabel('各代历史最优解'); 函数为 function [s]=vfunc(V,Q,R,a,b) t1=zeros(size(Q)); t2=zeros(size(R)); for i=1:8 t1=t1...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,089
精华内容 1,635
关键字:

matlab函数编写

matlab 订阅