0
点赞
收藏
分享

微信扫一扫

Matlab中function定义的函数与匿名函数区别一

独孤凌雪 2022-02-04 阅读 59

匿名函数可以直接得到函数句柄,而function定义的函数需要使用@运算符得到函数句柄。

示例一:

% Matlab

f = @(x)(exp(-0.2*x).*sin(x+2)-0.1);
fplot(f,[0 10]);
x1 = fzero(f,1);
x2 = fzero(f,4);
x3 = fzero(f,7);

%% New version
fplot(@f,[0 10]);
x1 = fzero(@f,1);
x2 = fzero(@f,4);
x3 = fzero(@f,7);

% function define
function y = f(x)
y = (exp(-0.2*x).*sin(x+2)-0.1);
end

示例二:

% Matlab

%% Test 1
integral(@sin,0,pi)

%% Test 2
integral(@(x) 1./x,2,5)

很多小伙伴可能会问第二个示例和function定义的函数没啥关系啊!其实不然,sin其实就是matlab内嵌的function函数。

很多matlab函数都要求给定函数句柄,而不是函数的定义,所以在使用function定义函数体时记住使用@运算符+函数名返回函数句柄。

举报

相关推荐

0 条评论