浅谈matlab数学建模中@符号-----函数句柄
很多刚开始学数学建模的小伙伴第一次在matlab程序中遇到“@”这个符号都不知道是什么意思,
如:
f = @myfunction;
或者
fun = @sin;
其实这种用法叫创建函数句柄,当我们在万能的matlab帮助文档搜索函数句柄:
什么花里胡哨的,打开即劝退的感觉有木有。
简单来说,我们只需要看一点:
什么意思,我们一个一个来看:
1.首先,为已命名函数创建函数句柄:(这里默认你已经知道如何在matlab中创建脚本和函数,以及他们两个的区别)
假设我们已经在.m文件中创建了如下的函数:
function y = computeSquare(x)
y = x.^2;
end
这个时候我们要在主程序里面调用它,正常情况下我们可以这样,在主程序输入:
computeSquare(4)
返回结果:
ans =16
如果我们要在主程序中经常调用这个函数,我们会觉得computeSquare这个函数名字母太多,代码敲起来费劲,这个时候我们便会用到函数句柄:用“@”这个符号将一个更简洁的函数名(如f)连接到computeSquare这个函数上,当我们想调用computeSquare这个函数时,只需要敲出f这个字母就可以,此时我们可以将f理解为computeSquare这个函数上的一个把手(即“柄”的意思),我们要调用computeSquare这个函数只需要抓住“f”这个把手即可。
我们在主程序中敲入以下代码:
f = @computeSquare;
a = 4;
b = f(a)
返回结果:
b =16
2.我们来看为匿名函数创建句柄。
首先说一下什么是匿名函数,在matlab中,我们可以在.m文件中创建函数,供主程序调用;也可以在主程序中通过“@”符号直接创建,创建完后即可调用,这种在主程序中直接创建的函数我们叫匿名函数。
我们可以通过以下方式创建匿名函数(这里matlab帮助文档说的很清楚,直接搬过来用了):
sqr = @(x) x.^2;
变量 sqr
是一个函数句柄。@
运算符创建句柄,@
运算符后面的圆括号 ()
包括函数的输入参数。该匿名函数接受单个输入 x
,并显式返回单个输出,即大小与包含平方值的 x
相同的数组。
通过将特定值 (5
) 传递到函数句柄来计算该值的平方,与您将输入参数传递到标准函数一样。
a = sqr(5)a =25
许多 MATLAB® 函数接受将函数句柄用作输入,这样您可以在特定值范围内计算函数。您可以为匿名函数或程序文件中的函数创建句柄。使用匿名函数的好处是不必为仅需要简短定义的函数编辑和维护文件。
例如,通过将函数句柄传递到 integral
函数,计算 sqr
函数从 0
到 1
范围内的积分:
q = integral(sqr,0,1);
您无需在工作区中创建变量以存储匿名函数。可以在表达式内创建临时函数句柄,例如这次对 integral
函数的调用:
q = integral(@(x) x.^2,0,1);
浅谈matlab数学建模中@符号-----函数句柄相关推荐
- matlab 2015 积分,浅谈MATLAB在数值积分中的应用
<浅谈MATLAB在数值积分中的应用.doc>由会员分享,可免费在线阅读全文,更多与<浅谈MATLAB在数值积分中的应用>相关文档资源请在帮帮文库(www.woc88.com) ...
- 数学建模中matlab程序,数学建模中常用的30个MATLAB程序和函数
<数学建模中常用的30个MATLAB程序和函数>由会员分享,可在线阅读,更多相关<数学建模中常用的30个MATLAB程序和函数(15页珍藏版)>请在人人文库网上搜索. 1.内部 ...
- 计算机技术在建模中的作用,谈计算机在数学建模中的作用
2 0 1 3年第 9期 (总第 1 3 1期) 信息通信 I NFORM AT1 0N& COMM UNI CAT I ON S 2Ol 3 ( S u m .N o l 3 1 ) 谈计算 ...
- Matlab中一球反弹的高度,matlab数学建模2乒乓球的弹跳和罗基斯帝模型.doc
matlab数学建模2乒乓球的弹跳和罗基斯帝模型.doc 1乒乓球的弹跳罗基斯第模型问题罗基斯第模型一个乒乓球离球拍的高度为H0,落在球拍上反弹,设恢复系数为E,不计空气阻力.1如果E为常数,讨论球的 ...
- matlab社会统计学,浅谈MATLAB在统计学实验教学中的应用
浅谈MATLAB在统计学实验教学中的应用 引言: 进入新世纪以来,我国的经济社会不断发展,科学技术水平不断提升.网络信息技术是现代技术的产物,其与教育领域相融合,形成了一系列的现代教育软件.MATLA ...
- matlab设计程序解决实际问题,MATLAB程序设计在数学建模中的应用
21 电子技术研发 Electronics R & D 10.3969/j.issn.1000-0755.2013.09.008 0 前言 数学在其发展早期主要是作为一种实用技术,用于处理人类 ...
- 在matlab中以图像中心为旋转轴逆时针旋转30度自编程序,MATLAB数学建模习题
MATLAB数学建模习题1 一.单项选择题(将选择答案写在答题纸上,每小题2分共20分) 1.在MATLAB命令窗口中键入命令,Vname=prod(7:9)/prod(1:3),可计算组合数 如果省 ...
- 地面搜索matlab算法,数学建模中的地面搜索问题
tRs)时小( 第30卷第8期湖南科技学院学报 Vbl_30NO.82009年8月 JournalofHunanUniversityofScienceandEngineering Aug.2009 数 ...
- MATLAB在数学建模中的应用
MATLAB在数学建模中的应用 一.预备知识 1.1.关于MATLAB软件 由于科学技术及计算机的飞速发展,各类数学软件不断涌现,这使在解决各类复杂的问题变得非常简单.常用的数学软件有Mathemat ...
最新文章
- python requests返回值为200 但是text无内容_接口测试入门神器 - Requests
- vim 配置_一步一步配置vim(4)--与latex进行实时显示
- 虚拟化不会增加安全复杂性
- Netty源代码学习——EventLoopGroup原理:NioEventLoopGroup分析
- Heap与Stack的区别(转载,刚看到的)
- yacc c语言语法分析器,GitHub - waxnkw/yacc: 简陋版语法分析器
- 计算机辅助翻译术语PPT,计算机辅助翻译
- 汤姆·克鲁斯 - 电影全集
- 【3ds Max】 - 如何使用分布式渲染?
- Pentaho 参数输入框横向排列
- 拒做背锅侠!如何利用网站性能优化驱动产品体验提升
- Android高手笔记 - 卡顿优化
- watch的immediate使用
- Linux 启动项管理
- 计算机视觉作业(二)Local Feature Matching
- SQL Server基础操作(此随笔仅作为本人学习进度记录九!--游标)
- 数组数据结构的使用与代码编写(一)
- 专科段《财务管理》课程复习资料(2)——多项选择题
- 如何为3CX系统配置WatchGuard XTM防火墙
- c语言停车场管理系统答辩ppt,停车场管理系统C语言实现,全动画模拟