Matlab匿名函数

Matlab可以通过function去定义一些功能函数,这使得代码变得简洁和高效。但是如果遇到的是一些简单的数学公式组成的函数表达式,继续用function去定义函数,似乎显得有些冗杂和多余。这时候,就可以尝试运用匿名函数了。
匿名函数的基本格式
handle = @(arglist)anonymous_function
其中handle为调用匿名函数时使用的名字。arglist为匿名函数的输入参数,可以是一个,也可以是多个,用逗号分隔。anonymous_function为匿名函数的表达式。
匿名函数的案例
按照基本格式,我们做一个小案例来测试。
案例场景
这里测试的是 RBF径向基函数,他的表达式是是这样的:
\]
其中$ \mathbf{X}$ 是样本点,\(\mathbf{X}_{i}\) 是测试点,\(r\) 是核参数。
设样本点为0,测试点为-5到5,核参数分别取0.2、0.5、1.0、2.0。对比四种情况下的曲线变化规律。
案例代码
clc,clear,close all;
% 定义匿名函数
K_RBF = @(x,xi,r) exp(-(x-xi).^2./(r.^2));
% 设置变量取值范围
xi = -5:0.01:5;
x = zeros(size(xi));
r = [0.2;0.5;1.0;2.0]*ones(size(xi));
% 画图基础设置
curveType = {'r-','b--','r-.','b-.'};
r_legend = {'r=0.2','r=0.5','r=1.0','r=2.0'};
% 画取不同的 r 值下的函数
for i = 1:length(curveType)
    plot(xi,K_RBF(xi,x,r(i,:)),curveType{i},'linewidth',2);
    hold on
end
% 设置图像参数
set(gca,'fontsize',24),set(gcf,'outerposition',get(0,'screensize'));
legend(r_legend),xlabel('x_i'),ylabel('核函数值K(x,x_i)');
title('RBF核函数在测试点 x=0 处的映射关系');
% 保存图像
print(gcf,'-djpeg','-r300','RBF核函数在测试点 x=0 处的映射关系');
输出结果

Matlab匿名函数的更多相关文章
- Matlab匿名函数,向量化和预分配,函数的函数,P码文件
		
匿名函数: 匿名函数是不存储在程序文件中.但与数据类型是 function_handle 的变量相关的函数.匿名函数可以接受输入并返回输出,就像标准函数一样.但是,它们可能只包含一个可执行语句. 例如 ...
 - Matlab匿名函数,子函数,私有函数,重载函数,eval和feval函数
		
匿名函数,子函数,私有函数等函数类型 匿名函数: 匿名函数没有函数名,也不是.m文件,只包含一个表达式和输入输出参数. Fxy=@(x,y)x.^y+3*x*y x,y为输入输入参数,Fxy为函数名 ...
 - matlab学习笔记13_2匿名函数
		
一起来学matlab-matlab学习笔记13函数 13_2 匿名函数 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 https://ww2.mathworks.cn/help/m ...
 - matlab @(x)构造匿名函数
		
一起来学演化计算-matlab@(x)构造匿名函数 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 https://www.ilovematlab.cn/thread-81614-1 ...
 - MATLAB中匿名函数与符号函数的转换
		
符号函数举例: syms x y=x+1; y1=diff(y); %求导 匿名函数举例: z=@(x)(x(1)+2*x(2)); t=z([2 3]); %计算z在x=[2 3]处的值 z=@(x ...
 - Matlab中函数定义方法
		
Matlab自定义函数的六种方法 n1.函数文件+调用函数(命令)文件:需单独定义一个自定义函数的M文件: n2.函数文件+子函数:定义一个具有多个自定义函数的M文件: n3.Inline:无需M文件 ...
 - Matlab中函数句柄@的作用及介绍
		
问:f=@(x)acos(x)表示什么意思?其中@代表什么?答:表示f为函数句柄,@是定义句柄的运算符.f=@(x)acos(x) 相当于建立了一个函数文件:% f.mfunction y=f(x) ...
 - 冒泡,setinterval,背景图的div绑定事件,匿名函数问题
		
1.会冒泡到兄弟元素么? $(function(){ $("#a").click(function(){alert("a")}) $("#b" ...
 - Javascript之匿名函数
		
分析: 1.所谓匿名函数,从字面意思理解,就是没有名字的函数,js 用()来代替(注意,是英文状态下的括号) 2.定义形式: function (){ //to add codes that you ...
 
随机推荐
- 批量处理txt文本文件到Excel文件中去----java
			
首发地址:http://blog.csdn.net/u014737138/article/details/38120403 不多说了 直接看代码: 下面的FileFind类首先是找到文件夹下面所有的t ...
 - Canny算法检测边缘
			
Canny算法是边缘检测的一个经典算法,比单纯用一些微分算子来检测的效果要好很多,其优势有以下几点: 边缘误检与漏检率低. 边缘定位准确,且边界较细. 自带一定的滤噪功能,或者说,对噪声的敏感度要比单 ...
 - ELK+Logback进行业务日志分析查看
			
第1章 Elasticsearch安装部署 1.1 下载软件包并创建工作目录 程序下载地址:https://artifacts.elastic.co/downloads/elasticsearch/e ...
 - mybatis-plus手记
			
项目源码:https://gitee.com/baomidou/mybatis-plus https://github.com/baomidou/mybatis-plus 文档:https:/ ...
 - 跳过__wakeup()魔法函数
			
__wakeup():将在序列化之后立即被调用. 漏洞原理:当反序列化字符串中,表示属性个数的值大于其真实值,则跳过__wakeup()执行. 参考题目:xctf-unserialize3 h ...
 - axios  下载文件
			
axio请求里必须加 responseType: 'blob' 参数,如下 //下载文件 api.download=function(id) { return request({ url: this ...
 - 微信小程序中的事件
			
事件 说明 bindtap bindload 当图片载入完毕时触发,event.detail = {height, width} bind事件绑定不会阻止冒泡事件向上冒泡,catch事件绑定可以阻止冒 ...
 - lynis安装和扫描Linux的安全漏洞
			
今天客户的服务器出了点问题需要排查具体的原因,在德国朋友的建议下用Lynis进行扫描,Lynis是Linux系统中的审计工具,能够对Linux系统的安全进行检测,在对系统进行扫描检测后,会生成安全报告 ...
 - 如何让ThinkPHP支持模糊搜索
			
最近ytkah在做一个ThinkPHP的项目时发现了一个问题,搜索的功能只能检索出以*为开头的内容,不能检索出中间的词.例如:搜索包含6775的产品,搜索结果为空,而搜索000-6775 就有两个结果 ...
 - 13-C#笔记-数组
			
# 1 初始化 double[] balance = new double[10]; // 隐式初始化为0 double[] balance = { 2340.0, 4523.69, 3421.0}; ...