matlab暑期学习笔记(1)——句柄

matlab中的句柄等价于C语言中的指针。

句柄分很多种,函数句柄、图形句柄等等。

1.图形句柄

图形句柄就特指这个图形,例如:
h=plot(x,y)

那么h就相当于这个图形的句柄,设置该图形时,只需要set(h,....)即可。

2.函数句柄

matlab中函数调用分为直接调用和间接调用。

直接调用的问题如下:子函数只能被与其M文件同名的主函数或在M文件中的其它函数所调用,同时在一个文件夹中只能有一个主函数。

函数句柄实际上是提供了一种间接调用函数的方法。创建函数句柄需要使用到操作符@,对MATLAB库函数中提供的各种M文件中的函数和使用者自主编写的程序中的内部函数,也都可以创建函数句柄,从而可以通过函数句柄来实现对这些函数的间接调用。

创建函数句柄的一般句法格式为

Function_Handle=@Function_Filename;

比如定义f(x)=x^2,可以写为
f=@(x)(x.^2)
其中@(x)(x.^2)就是匿名函数,第一个括号里面是自变量,第二个括号里面是表达式,@是函数指针
f=@(x)(x.^2)表示将匿名函数@(x)(x.^2)赋值给f,于是f就表示该函数。
于是f(2)=2.^2=4;f(1:3)=[1:3].^2=[1 4 9]等等

定义匿名函数时也可以调用别的匿名函数,比如
f1=@(x,y)(x.^2+y.^2)
定义了函数x^2+y^2
f2=@(t)(f1(t,2))
定义了函数t^2+4
f3=@(x)(f1(x(1),x(2)))
定义了函数x(1)^2+x(2)^2
使用匿名函数时一定要注意函数本身的参数形式,如
f1(2,3)
表示2^2+3^2
f2(3)=3
表示3^2+4
f3([1,2])
表示1^2+2^2
说白了就是函数指针

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值