Matlab匿名函数
MATLAB 函数 匿名
2023-09-11 14:22:04 时间
Matlab可以通过function去定义一些功能函数,这使得代码变得简洁和高效。但是如果遇到的是一些简单的数学公式组成的函数表达式,继续用function去定义函数,似乎显得有些冗杂和多余。这时候,就可以尝试运用匿名函数了。
匿名函数的基本格式
handle = @(arglist)anonymous_function
其中handle为调用匿名函数时使用的名字。arglist为匿名函数的输入参数,可以是一个,也可以是多个,用逗号分隔。anonymous_function为匿名函数的表达式。
匿名函数的案例
按照基本格式,我们做一个小案例来测试。
案例场景
这里测试的是 RBF径向基函数,他的表达式是是这样的:
\[K_{R B F}\left(\mathbf{X}, \mathbf{X}_{i}\right)=\exp \left(-\frac{\left\|\mathbf{x}-\mathbf{x}_{i}\right\|^{2}}{r^{2}}\right)
\]
其中$ \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形态学图像处理之strel函数
- MATLAB中常用的排列、组合、阶乘函数
- 数学建模番外篇6:二维/三维热力图绘制(matlab)
- matlab 数据平滑——smooth函数
- matlab 点云可视化(1)——pcshow()函数可视化单个点云
- 编写 Matlab mexFunction (C mex)
- 【原创】Matlab.NET混合编程技巧之直接调用Matlab内置函数
- 【无人机路径规划】基于IRM和RRTstar进行无人机路径规划(Matlab代码实现)
- SCA算法优化脉冲耦合神经网络的图像自动分割(Matlab代码实现)
- 【回归预测-BP预测】基于思维进化算法优化BP神经网络在非线性函数拟合中的应用(Matlab代码实现)
- SVM与基于马氏距离的径向基函数(MDRBF)核结合组合(Matlab代码实现)
- 基于凸几何和K均值的高光谱端元提取算法(Matlab代码实现)
- 【Copula】基于二元Frank-Copula函数的风光出力场景生成方法【考虑风光出力的不确定性和相关性】(Matlab代码实现)
- 微电网鲁棒性研究(Matlab代码实现)
- 【信号处理】SAR 信号处理(Matlab代码实现)
- 四阶Runge-Kutta(Matlab实现)
- 【MATLAB】信号与系统 — 抽样函数
- 基于matlab的SVM支持向量机分类仿真,核函数采用RBF函数
- MATLAB | 全网唯一 MATLAB双向弦图(有向弦图)绘制
- 【MATLAB】三维图形绘制 ( plot3 函数 | plot3 绘图示例 | 2D 与 3D 关联 )
- 【MATLAB】进阶绘图 ( fill 填充二维多边形 | fill 函数 | 绘制文字 | text 函数 )
- MATLAB中导入数据:importdata函数
- MATLAB学习笔记(七)——MATLAB解方程与函数极值
- matlab中mesh函数修改颜色策略
- 未定义的函数或变量【一文讲透】(Matlab)
- MATLAB未定义函数或变量 ‘wavread‘的很简单的解决办法
- 基于遗传算法的柔性生产调度研究(Matlab代码实现)
- Matlab Tips: 结构体递归式打印--Dump matlab struct content recursively
- Matlab使用笔记(一): m文件中定义多个函数直接运行
- 将MATLAB中的图像信息用到Vivado中