MATLAB--函数类型

MATLAB构建函数主要有两个方法:在命令行中定义的匿名函数;保存为M文件;

匿名函数

语法形式为:

fhandle=@(arglist) expression

@为建立函数句柄fhandle,arglist为输入变量列表(用逗号分割)

例子:

sqr=@(x) x.^2; 
sqr(5)  %结果为25
quad(sqr,0,1) 

调用匿名函数(不是调用函数句柄),一定要带括号。

匿名函数数组

元胞数组

A={@(x)x.^2,@(y)y+10}

调用,类似

A{1}(4)+B{2}(7)

要注意避免歧义,不要随便加空格

匿名函数输出

输出取决于调用函数左边的变量个数。

匿名函数的变量

  • 定义在变量列表中的
  • 函数式中变量 MATLAB把它们当成常数保存

MATLAB不会理会它们的改变,把上面第二种当成常数一直使用,除非重新构建匿名函数。

主函数

在M文件中排在最前面,主函数和M文件同名,可以在命令行调用。

子函数

M文件中排在主函数后面的就是子函数,它只能在同一文件中的其他函数调用。与主函数在定义格式上没有区别。

functin y=f(x)
....
y=...

子函数中的局部变量不可混用。
同名函数调用顺序:子函数–私有函数–其他M文件
帮助:

help myfun>mysubfun

私有函数

它需要在当前目录下建一个子目录,名称必须为private,存放在文件内的函数就是私有函数,它的上层目录称为父目录,只有父目录里面的M文件才能看见(调用)它。帮助信息:

help private/myprivfun

嵌套函数

需要用end结尾。

function x=A(p1,p2)
...
	function y=B(P1)
	...
	end
...
end

调用

一个嵌套函数可以被以下函数调用:

  • 该嵌套函数的上一层函数
  • 同一母函数下的同级嵌套函数
  • 被任一低级别的函数调用

变量范围

  • 在外层主函数中的变量x可以被嵌套在里面的函数读取或者写入。
  • 并联函数之间变量不能相互调用。

重载函数

假设有一个函数是为某种特定的数据类型设计的,当要使用另外类型的数据时就要重写它使之能处理新的数据类型,但它们名字都是一样的。具体取决于数据类型和参数的个数。
同一种数据类型的不同的重载函数M文件放在同一个目录下,以这种数据类型命名并用@符号开头。如 @double,在输入变量为double时才能被调用

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值