matlab @ 什么意思

matlab @ 什么意思

表示 f 为函数句柄,@是定义句柄的运算符。f=@(x)acos(x) 相当于建立了一个函数文件:
% f.m
function  y=f(x)
y=acos(x);

@是匿名函数的意思

函数句柄的使用方法也和函数是一样的。

扩展资料

匿名函数它是matlab中定义的一种函数形式,出现在matlab中,匿名函数不以文件形式驻留在文件夹上;他的生成方式最简捷,可在指令窗或任何函数体内通过指令直接生成。

匿名函数的作用主要是实现自己定义matlab中的函数,从而扩大函数的使用功能

匿名函数的调用方式

匿名函数,顾名思义就是没有名字的函数。上面的函数表达式中的创建,即创建一个匿名函数,并将匿名函数赋值给变量ss,用ss来进行函数的调用,调用的方式就是在变量ss后面加上一对括号(),如果有参数传入的话就是ss(1,2),这就是匿名函数的一种调用方式。

还有一种匿名函数的调用方式是:使用()将匿名函数括起来,然后后面再加一对小括号(包含参数列表)。

我们再看一下以下一个例子:

alert((function(x,y){return x+y;})(2,3));//5
alert(( new Function("x","y","return x+y;"))(2,3));//5

在javascript中,是没有块级作用域这种说法的,以上代码的这种方式就是模仿了块级作用域(通常成为私有作用域),语法如下所示:

(function(){
//这里是块级作用域
})();

以上代码定义并立即调用了一个匿名函数。经函数声明包含在一对圆括号中,表示它实际上是一个函数表达式。而紧随其后的另一对圆括号会立即调用这个函数。

然而要注意一点:

function(){

}();

上面的代码是错误的,因为Javascript将function关键字当作一个函数声明的开始,而函数声明后面不能加圆括号,如果你不显示告诉编译器,它会默认生成一个缺少名字的function,并且抛出一个语法错误,因为function声明需要一个名字。

但是,即便你为上面那个错误的代码加上一个名字,他也会提示语法错误,只不过和上面的原因不一样。在一个表达式后面加上括号(),该表达式会立即执行,但是在一个语句后面加上括号(),是完全不一样的意思,他的只是分组操作符。

参考资料

百度百科——匿名函数

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-04-13
@是个操作符,叫匿名函数操作符,这个符号很有用。
想详细了解这个,你在Command Window下输入 help @
就弹出很多的帮助资料,然后你点关于@的这行
punct - Function handle creation @
点开,有以下信息
@ At. The at symbol is used to create a function_handle.
It is also used at the beginning of directory names that contain
matlab object methods and the constructor for the object, e.g.
the directory @inline contains the constructor inline.m for the
inline object and all methods for inline objects.
所以你要去了解Function handle函数句柄。

于是你就help function_handle 注意有个下划线,简单地说函数句柄代表这个函数的名字,通过这个句柄你可以调用这个函数,让调用函数的操作异常简单,这个是MATLAB的神奇之处。我举个小例子,比如,在Command Window下输入以下
ezplot(@sin)
它就可以把sin函数画出来,可能现在你不是很理解这个,但你应该能体会到这个操作的强大。(你自己操作一遍就会有直观感受)
我这里只是抛砖引玉,MATLAB的帮助很强大,尽量自己去熟悉MATLAB的帮助。
加油~本回答被提问者和网友采纳
第2个回答  2019-07-04
将函数句柄赋值给变量要用到@符号,
变量不仅可以用来表示数值(如:
1,
0.2,
-5),
用来表示字符串(如:
't',
'casino'),
也可以用来表示函数哦.
当然,
你也看到了前面我们提到的函数都是一个一个的文件,
直接塞到一个变量里面似乎太大,
不过我们可以'提纲挈领',
抓住函数的handle(句柄),
就可以.
将函数句柄赋值给变量要用到@符号,
语法:变量名=@函数名,或者,
handlef=str2func(变量名)
此处的函数名可以是当前Matlab中可以使用的任意函数
例如:
mysin=@sin,
此后mysin就和sin同样地使用,
mysin(pi)和sin(pi)的含义相同.
第3个回答  2010-04-11
楼主。最佳答案: MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。希望可以帮到你。

matlab中@是什么意思?
是匿名函数的意思。匿名函数就像传统编程语言中的内联函数,在单个MATLAB语句中定义。 它由单个MATLAB表达式和任意数量的输入和输出参数组成。可以在MATLAB命令行或函数或脚本中定义一个匿名函数。这样就可以创建简单的函数,而无需为它们创建一个文件。从表达式创建匿名函数的语法是:f = @(arglist)expressi...

matlab @ 什么意思
表示 f 为函数句柄,@是定义句柄的运算符。f=@(x)acos(x) 相当于建立了一个函数文件:% f.mfunction y=f(x)y=acos(x);是匿名函数的意思 函数句柄的使用方法也和函数是一样的。

matlab中@是什么意思
matlab中@是什么意思 最好举一些例子例如下面这个ezplot的帮助文档 Examples f is typically an expression, but it can also be specified using @ or an inline function: ezplot('cos(x)') ezplot('cos(x)', [0, pi]) ... 展开 PFanAya | 浏览3562 次 |举报 我有更好的答案推荐于2017-12-16 14...

MATLAB中@是什么意思
来吧,我告诉你确切的。 这个@ 准确的说是匿名函数。 例如F=@(x)+关于x的函数。 这个@相当于定义x为函数的自变量一样。 与 syms x 是一样的 。这个@ 是mat7.0更新的东西,在7.0一下是不管用的呦 。给好评呦!

matlab中@表示什么?
matlab中语句f=@(x,y)exp(-x.^2\/3).*sin(x.^2+2*y)中@(x,y)的意思如下:其中的@(x,y)exp(-x.^2\/3).*sin(x.^2+2*y)为匿名函数,第一个括号里面是自变量,第二个括号里面是表达式,@是函数指针。f=@(x,y)exp(-x.^2\/3).*sin(x.^2+2*y)表示将匿名函数@(x,y)exp...

matlab中的@符号是什么意思啊?
这是函数句柄的一种高级用法, 这样产生的函数句柄变量不指向特定的函数, 而是一个函数表达式. 其语法:变量名=@(输入参数列表)运算表达式 例如, 前面那个计算变量平方的函数可以简单地写为这个匿名函数:mysqr1=@(x)x.*x 之后, 执行mysqr1(变量名), 即可计算该变量的平方, 注意, mysqr1属性是函数...

matlab中@是什么意思啊?
是匿名函数的意思。f = @(x)cos(x)+2*sin(x);(x)表示以x为变量,cos(x)+2*sin(x)为函数体 在别的函数中可以调用句柄f 比如,fplot(f,[-5,5]);就是调用fplot函数来画匿名函数f在[-5,5]的图形。

matlab中“@(x)”是什么意思?
表示 f 为函数句柄,@是定义句柄的运算符。f=@(x)acos(x) 相当于建立了一个函数文件:% f.mfunction y=f(x)y=acos(x);是匿名函数的意思 函数句柄的使用方法也和函数是一样的。matlab优势特点:1) 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;2) 具有完备的...

Matlab中的@什么意思
将函数句柄赋值给变量要用到@符号, 语法: 变量名=@函数名, 此处地函数名可以是当前Matlab中可以使用的任意函数 例如: , 此后mysin就和sin同样地使用, mysin(pi)和sin(pi)的含义相同.语法如下:变量名= @ 函数名;的作用就是将一个函数的函数句柄赋值给等号左边的变量。在调用函数时就可以调用该...

matlab 中@什么意思?相当于指针吗?指向文件的意思?
匿名函数的定义符号,如 f=@(x,y)sin(x+y)定义了函数f(x,y)=sin(x+y)以后可直接调用,如 f(pi\/3,pi\/6)引用某个已知函数,如 g=@sin 那么g(x)就和sin(x)等价,如 g(pi\/3)文件夹若使用@打头,说明这个文件夹是一个类,文件夹下的函数是这个类的成员函数。

相似回答