当前位置: 首页 > news >正文

Matlab中的匿名函数的使用

转载自:http://blog.sina.com.cn/s/blog_71fb42f70100uyfx.html#commonComment


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(['@(x)' vectorize(z1)]); %vectorize函数的功能是使内联函数适合数组运算的法则 
>> z2(3) 
ans = 36

相关文章:

  • 搜狗输入法如何输入直角引号(「『』」 )
  • Python学习笔记(1)
  • Ubuntu修改磁盘分配空间
  • 机器学习入门
  • Python学习笔记(2)格式化字符串
  • Python学习笔记(3)Python中的转义字符
  • Python学习笔记(4)Python中super的用法
  • 怎样查询SCI期刊的影响因子与排名
  • 如何发表高水平科研论文
  • 如何发表高水平论文
  • 英文投稿的一点经验
  • 论文写作和投稿过程
  • 英文论文写作的语言技巧
  • Windows 7下安装配置Latex
  • Matlab箱形图boxplot函数用法
  • .pyc 想到的一些问题
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • angular2 简述
  • Angularjs之国际化
  • JAVA 学习IO流
  • Kibana配置logstash,报表一体化
  • LeetCode29.两数相除 JavaScript
  • SpiderData 2019年2月23日 DApp数据排行榜
  • Vim Clutch | 面向脚踏板编程……
  • Vue实战(四)登录/注册页的实现
  • webpack4 一点通
  • Yii源码解读-服务定位器(Service Locator)
  • 分类模型——Logistics Regression
  • 普通函数和构造函数的区别
  • 前端自动化解决方案
  • 栈实现走出迷宫(C++)
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • kubernetes资源对象--ingress
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • ​如何在iOS手机上查看应用日志
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (二十四)Flask之flask-session组件
  • (三)c52学习之旅-点亮LED灯
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (学习日记)2024.02.29:UCOSIII第二节
  • (转)甲方乙方——赵民谈找工作
  • (转)项目管理杂谈-我所期望的新人
  • (转)重识new
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • *Django中的Ajax 纯js的书写样式1
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net framework 4.0中如何 输出 form 的name属性。
  • .Net FrameWork总结
  • .NET 跨平台图形库 SkiaSharp 基础应用
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • .NET开发者必备的11款免费工具
  • .Net中的集合