matlab中feval函数的用法

语法

[y1,y2,...] = feval(fhandle,x1,x2,...,xn)
[y1,y2,...] = feval(fname,x1,x2,...,xn)

描述

第一种用法中的fhandle是一个函数的handle,x1,x2,…xn是该函数的参数,函数的handle怎么写,看下面的例子
第二中用法中的fname是一个字符串表示的函数名称。注意,该名称必须是简单名称,也即不能包含路径,也不能含有.m扩展名。x1,x2,…xn是该函数参数

例子

在当前目录下新建一个M函数

function [y1,y2] = swap(x1, x2)
y1 = x2;
y2 = x1;

第一种用法:

 [a1,a2] = feval(@swap, 1,2)

第二种用法

[a1,a2] = feval('swap',a1,a2)

不只是自定义的M函数可以这样用,内置函数也可以这样用,比如下面两种用法就是等价的

[V,D] = eig(A)
[V,D] = feval(@eig, A)

你可能感兴趣的:(About,Matlab)