温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

matlab匿名函数怎么用

发布时间:2022-01-14 10:09:45 来源:亿速云 阅读:268 作者:iii 栏目:大数据

这篇文章主要介绍“matlab匿名函数怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“matlab匿名函数怎么用”文章能帮助大家解决问题。

匿名函数
 

在Matlab7.0以后的版本中

出现了一种新的函数类型–匿名函数

不但能够完成原来版本中

内联函数(inline)的功能

还提供了其他更方便的功能

1,匿名函数的基本用法

handle = @(arglist)anonymous_function

其中handle为调用匿名函数时使用的名字

arglist为匿名函数的输入参数

可以是一个,也可以是多个,用逗号分隔

anonymous_function为匿名函数的表达式

举个例子如下:

>> f=@(x,y)x^2+y^2;

>> f(1,2)

ans =

5

当然输入的是数组也是可以的:

>> f=@(x,y)x.^2+y.^2; %注意需要点(.)运算

>> a=1:1:10;

>> b=10:-1:1;

>> f(a,b)

ans =

101

85

73

65

61

61

65

73

85

101

匿名函数的表达式中也可以有参数的传递,比如:

>> a=1:5;

>> b=5:-1:1;

>> c=0.1:0.1:0.5;

>> f=@(x,y)x.^2+y.^2+c;

>> f(a,b)

ans =

26.1000

20.2000

18.3000

20.4000

26.5000

c作为表达式中的参数,进行了数据传递

上面都是单重匿名函数

也可以构造多重匿名函数,如:

>> f=@(x,y)@(a) x^2+y^+a;

>> f1=f(2,3)

f1 =

@(a)x^2+y^+a

>> f2=f1(4)

f2 =

85

每个@后的参数从它后面开始起作用

一直到表达式的最后。

2.使用匿名函数实现符号函数的赋值运算

在老版本的Matlab中

这个功能是由inline函数完成的

现在用匿名函数完成此功能

比如:知道z=2x^3+4x+5

求z在x=3处的2阶导数值

可以先用符号函数算出z的2阶导数的表达式

然后通过匿名函数,把x赋予3的值

得到最后结果:

>> syms x; %定义符号变量

>> z=2*x^3+4*x+5;

%定义表达式

>> z1=diff(z,2)

%求z的2阶导数的表达式 z1 = 12*x

>> z2=eval_r(['@(x)' vectorize(z1)]);

%vectorize函数的功能是

%使内联函数适合数组运算的法则

>> z2(3)

ans =

36

关于“matlab匿名函数怎么用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI