匿名函数与之相对的即为需要.m
文件存储的命名函数,匿名函数可以在任意地方定义(包含命令行窗口),且由于没有固定的名称,函数是可以像变量一样被传递的。以下详细讲解一下MATLAB中不可或缺的一部分具体能够怎么用:
先给个目录,千万不要被吓到:
目录
1 匿名函数的生成
1.1基础生成
- 1 匿名函数的生成
- 1.1基础生成
- 1.2 多参数匿名函数
- 1.3 含定参匿名函数
- 1.4 sym转匿名函数
- 1.5 字符串转匿名函数
- 1.6 函数工厂(匿名函数的自动生成)
- 1.6.1 已知参数个数
- 1.6.2 未知参数个数
- 1.7 拟合结果转匿名函数
- 1.8 匿名函数的引用
- 1.9 匿名函数的传递
- 1.10 无参数匿名函数
- 1.11 可变长度输入参数列表
- 1.12 多返回值匿名函数
- 1.13 命名函数转化为匿名函数
- 2 匿名函数的结构
- 2.1 匿名函数数组
- 2.2 匿名函数结构体
- 2.3 匿名函数的非标量结构体数组
- 2.4 functions函数使用
- 2.5 局部命名函数的匿名函数列表
- 2.6 特殊结构匿名函数
- 3 匿名函数的使用
- 3.1 以匿名函数为参数
- 3.2 调用其它文件匿名函数
- 3.3 使用匿名函数表示隐函数
- 3.4 绘图匿名函数
(例)
f=@(x)x^2;
注:匿名函数所输入的参数可以是向量形式,只需将其中部分运算更改为点运算即可:
f=@(x)x.^2;
f(1:5)
ans = 1 4 9 16 25
也可以这么写,但除了3.3所示情况外不推荐:
f=@(x)arrayfun(@(x)x^2,x)
f(1:5)
当然eval
函数cellfun
,structfun
等一系列常用函数也是可以在匿名函数中用到的。
同时逻辑运算对于匿名函数也成立,如下:
f=@(x)x>3&x3)*5+(x3)+1}(f,n-1)+f{(n>4)+1}(f,n-2)};
fib=@(n)f{(n>2)+1}(f,n);
fib(20)
ans = 6765
匿名if函数: 巧用varargin函数
iff = @(varargin)varargin{find([varargin{1:2:end}],1)*2};
x = 3;
iff(x
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?