Matlab中的@什么意思

 我来答
kellen752
推荐于2017-11-24
知道答主
回答量:7
采纳率:0%
帮助的人:3.7万
展开全部
@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
Wangyunqian517
2012-09-20
知道答主
回答量:5
采纳率:0%
帮助的人:8066
展开全部
就是调用函数,后面的fun代表函数名
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
CJJohn
2018-02-28 · Persistence is harder than eff...
CJJohn
采纳数:475 获赞数:1362

向TA提问 私信TA
展开全部
这是计算精度的问题,不信你输入 det(inv(A))-1/det(A)便知两者其实并不完全相等(虽然理论上相等),所以一般判断两数相等是以其差小于某个阈值来判断的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式