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的区别的主要内容,如果未能解决你的问题,请参考以下文章