MATLAB中feval函数的用法
2015-10-16 14:32
417 查看
转自:http://blog.csdn.net/dainiwan/article/details/43409251
feval()函数执行指定的函数。也就是说,将想要执行的函数以及相应的参数一起作为feval()的参数,feval()的输出等于想要执行的函数的输出。
例子:
[plain] view
plaincopy
>> sin(3)
ans =
0.1411
>> y=feval('sin',3)
y =
0.1411
[y1,..,yn] = FEVAL(F,x1,...,xn)
F可以是函数名(如上面的例子所示),还可以是一个函数句柄。
例子:
[plain] view
plaincopy
>> f=@sin;
>> y=feval(f,3)
y =
0.1411
上面的例子中,f是一个sin函数的句柄,y=feval(f,3)等价于y=feval('sin',3),等价于y=sin(3)。
feval函数的好处:
比如说有一个函数A需要被很多函数Fi调用,而每个Fi的参数列表都不相同,A中进行处理时需要调用和Fi相对应的函数FiProcess,此时常规的做法是进行判断(if,else),对不同的Fi调用不同的函数。比较麻烦。有了feval函数,我们可以有一种更简洁的做法,就是在FI中将对应的FiProcess的函数句柄作为参数传入A中,那么A中就可以直接使用feval()进行处理。
feval()函数执行指定的函数。也就是说,将想要执行的函数以及相应的参数一起作为feval()的参数,feval()的输出等于想要执行的函数的输出。
例子:
[plain] view
plaincopy
>> sin(3)
ans =
0.1411
>> y=feval('sin',3)
y =
0.1411
[y1,..,yn] = FEVAL(F,x1,...,xn)
F可以是函数名(如上面的例子所示),还可以是一个函数句柄。
例子:
[plain] view
plaincopy
>> f=@sin;
>> y=feval(f,3)
y =
0.1411
上面的例子中,f是一个sin函数的句柄,y=feval(f,3)等价于y=feval('sin',3),等价于y=sin(3)。
feval函数的好处:
比如说有一个函数A需要被很多函数Fi调用,而每个Fi的参数列表都不相同,A中进行处理时需要调用和Fi相对应的函数FiProcess,此时常规的做法是进行判断(if,else),对不同的Fi调用不同的函数。比较麻烦。有了feval函数,我们可以有一种更简洁的做法,就是在FI中将对应的FiProcess的函数句柄作为参数传入A中,那么A中就可以直接使用feval()进行处理。
相关文章推荐
- Matlab实现单变量线性回归
- MATLAB读取txt的一些方法简单记录
- Matlab的libsvm-3.20的安装
- Matlab绘制带箭头坐标
- Matlab运用kron()函数计算Kronecker乘法
- 机器学习:林智仁libsvm 工具箱 在matlab下的应用总结
- matlab实现灰度直方图均匀化
- Matlab计算矩阵和函数梯度
- matlab中repmat函数的用法
- EKF-SLAM matlab仿真(1)
- 线性规划问题的matlab求解
- matlab 如何读取二进制、十六进制txt文档
- Matlab中各类函数用法
- MATLAB对于文本文件(txt)数据读取的技巧总结(经典中的经典)
- Matlab 字符串处理函数
- 解决办法:matlab Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap
- Caffe matlab之基于Alex network的特征提取
- matlab unique找出矩阵中不同元素
- 使用matlab进行多项式的拟合
- matlab中size()函数的用法