matlab 数学建模 匿名函数@

编程入门 行业动态 更新时间:2024-10-24 22:17:25

matlab 数学<a href=https://www.elefans.com/category/jswz/34/1769748.html style=建模 匿名函数@"/>

matlab 数学建模 匿名函数@

匿名函数的基本用法:

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

每个@后的参数从它后面开始起作用,一直到表达式的最后。

dxy=@(t,x)[-0.0544*x(2)+54000*(t>=0 & t<1)+6000*(t>=2 & t<3)+13000*(t>=5 & t<6)-0.0106*x(1)];  %用匿名函数定义方程右端项,这里用逻辑语句定义分段函数
[t,xy]=ode45(dxy,[0:36],[0,21500])
subplot(2,1,1)
plot(t,xy(:,1),'r*',t,xy(:,2),'gD')
xlabel('时间t')
ylabel('人数')
subplot(2,1,2)
plot(xy(:,1),xy(:,2))  %画微分方程组的轨线
xlabel('A军人数x')
ylabel('B军人数y')  

更多推荐

matlab 数学建模 匿名函数@

本文发布于:2024-02-12 08:26:17,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1686956.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:建模   函数   数学   matlab

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!