MATLAB中的./什么意思

如题所述

@fun
为一个函数柄
我自己理解
@fun
可以理解为一个fun函数的指针
如果一个函数
比如quad(@fun,x0,x1)
(这个表示对fun函数从x0到x1积分)
把@fun相当于quad的一个参数传到quad中
网上资料:
一、函数句柄
所谓函数句柄,个人认为可以将其理解成一个函数的代号,就像一个人的名字。这样在调用时可以调用函数句柄而不用调用该函数。
变量不仅可以用来表示数值(如:
1,
0.2,
-5),
用来表示字符串(如:
't',
'casino'),
也可以用来表示函数哦.
当然,
你也看到了前面我们提到的函数都是一个一个的文件,
直接塞到一个变量里面似乎太大,
不过我们可以'提纲挈领',
抓住函数的handle(句柄),
就可以.
将函数句柄赋值给变量要用到@符号,
语法:
变量名=@函数名,
此处地函数名可以是当前matlab中可以使用的任意函数
例如:
,
此后mysin就和sin同样地使用,
mysin(pi)和sin(pi)的含义相同.
语法如下:
变量名=
@
函数名;
@的作用就是将一个函数的函数句柄赋值给等号左边的变量。在调用函数时就可以调用该句柄,可以实现同样的功能。
例:
首先我们写一个求均值的函数:
function
y=average(x)
y=mymean(x);
function
a=mymean(v)
a=sum(v)/length(v);
定义一个数组z:
z=[1,2,3,4,5,6,7];
>>
average(z)
ans
=
4
>>
handle
=
@average
>>
ave
=
@average
>>
ave(z)
ans
=
4
二、匿名函数
匿名函数是函数句柄的一种特殊用法,这里所得到的函数句柄变量不指向特定的函数(即不指向函数m文件中的函数名),而是指向一个函数表达式(具体表达式)。
语法如下:
变量名=@(输入参数列表)运算表达式;
例子:
为了说明问题,我们用简单的两个数相加,
>>
sum
=
@(x,y)x+y
>>
sum(2,3)
ans
=
5
http://apps.hi.baidu.com/share/detail/42436785
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-21
矩阵的点除,相当于矩阵中的元素进行除法运算,跟矩阵的除法是不同的。
同理还有点乘,写成
.*
同上理解是一样的
第2个回答  2019-04-06
矩阵的点除,相当于矩阵中的元素进行除法运算,跟矩阵的除法是不同的。
同理还有点乘,写成
.*
同上理解是一样的
第3个回答  2020-06-16
相似回答