Matlab 脚本文件script和函数文件function的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matlab 脚本文件script和函数文件function的区别相关的知识,希望对你有一定的参考价值。

脚本文件,其实就是相当于多条命令的一个集合
将脚本文件的内容整体复制再粘贴到命令行一起运行,和运行脚本文件是一样的
所以脚本文件是没有输入输出参数的
可以调用workspace里的变量,也可以生成新的变量储存在workspace里

而函数文件,定义的是一个函数,是一个包装好的命令集
一般有输入和输出的参数
函数文件的第一行必须是function开头,形式
function [输出参数]=函数名(输入参数)
通过输入参数将需要的变量传递给函数
通过输出参数将结果返回
函数中定义的变量在运行时是独立存在一个空间的
和命令行的base工作空间的不同
所以不能简单地调用工作空间中的变量
函数过程中生成的变量在函数返回的时候就清除了
不会像script文件那样在base工作空间储存
参考技术A 脚本函数相当于把matlab窗口的代码集装在一个m文件中,直接在工作区运算
函数是有输入有输出,不会影响工作区的其他变量追答

如满意请采纳~

matlab程序设计

程序文件分为脚本文件和函数文件

       脚本文件:可以在命令行直接在命令行窗口执行,也叫命令文件

       函数文件:定义一个函数,不能直接执行,而必须以函数调用的方式来调用它

 

文件的建立(可以任何文本编辑器编辑)

         用命令按钮创建文件

         用edit命令创建文件

 

顺序结构

(1)      数据的输入

A=input(提示信息,选项);

(2)      数据的输出

disp(输出项);

 

注意:如果在一个赋值语句的末尾不加分号也会显示变量名和变量值

      disp函数不会显示变量名和空格,输出格式更紧凑

(3)      程序的暂停(有时为了看中间结果,需要程序暂停)

pause(延迟秒数) :省略参数,则程序暂停直到用户按下任意键

强行终止:ctrl+c

 

选择结构

       用if语句实现:
              语法格式:

                            if 条件

                                   语句组

                                   [elseif…else]

                            [else

                                   语句组

         ]     

                            end

                     注意:if语句条件可以是标量也可为矩阵,条件是标量时0假,非0真;

                                   条件是矩阵时,矩阵非空且元素均不为零真,反之假

     用switch语句实现:

              语法格式:

                            switch() 表达式

                                   case 结果表1

                                          语句组1

                                   case 结果表m

                                          语句组m

                                   otherwise

                                          语句组n

                            end

              注意:表达式是一个其值可列举的表达式,如整型、字符串型(但不可是实型)

                       结果表为switch表达式的取值,当取值有多个要用大括号括起来

  循环结构

       用for语句实现:

              格式:

                     for 循环变量=表达式1:表达式2:表达式3  //对应表达式 初值:步长:终值

                            循环体语句                        // 表达式2省略,默认为1

                     end

       说明:for语句针对向量的每一个元素执行一次 //例:for i=[1,2]

                退出循环之后,循环变量的值就是向量中最后的元素值

                当向量为空时,循环体一次也不执行 //for i=1:-5:10

      

一般定义:

         按照matlab的定义,for语句的循环变量也可以是一个列向量,其格式为:

                     for 循环变量=矩阵表达式

                            循环体语句

                     end

 

       用while循环实现:

              格式:

                            while 条件   

                                   循环体

                            end

      

       break; 终止循环语句

       continue; 结束本次循环,接着进行下一次循环;

 

函数文件的定义和调用

       函数文件的基本结构

                     function 输出形参表=函数名(输入新参表)  //由function语句引导,引导行

                     注释说明部分

                     函数体语句

注意:当有多个形参时,形参之间用逗号分隔,组成形参表。当输出形参多于一   个时,应该用方括号括起来,构成一个输出矩阵;

         

函数文件名通常与函数名统一;

          return语句表示结束函数;

匿名函数

              基本格式:

                     函数句柄变量[email protected](匿名函数输入参数) 匿名函数表达式  

              // 函数句柄变量相当于匿名函数的别名,利用函数句柄可以间接调用函数

              // @创建函数句柄的运算符 后面定义了匿名函数包括函数输入参数和函数表达式

              // 如果函数有多个输入参数,用逗号分隔

      

      

 

 

       定义已存在的函数句柄        //可利用函数句柄调用该函数

              函数句柄变量[email protected]函数名    //函数包括 内部函数或自定义函数

 

 

函数参数与变量作用域

       函数参数的可调性  //函数参数可调,同一函数可以完成多种功能

              调用函数时有两个预定义变量 可在函数中使用

                     nargin  记录输入实参的个数

                     nargout 记录输出实参个数

       变量作用域

              函数中的变量是局部变量

              定义全局变量

                     全局变量格式:global 变量名

                    

 


以上是关于Matlab 脚本文件script和函数文件function的区别的主要内容,如果未能解决你的问题,请参考以下文章

Matlab练习——多项式和一元方程求解

matlab,简述脚本M文件和函数M文件的区别?

C程序怎样调用其它文件里的函数?

matlab,简述脚本M文件和函数M文件的区别?

在matlab中,M脚本文件和M函数文件的主要区别是啥?

matlab如何调用阶乘函数求阶乘的和