2
假设我们有一个函数定义为:MATLAB函数和参数
函数(f,DF,X0)
其中f是一个函数,df是它的衍生物,和X0是一个初始点。我们如何在命令行中定义f?你使用内联定义吗?那么df和x0呢?如果df是渐变?另外,如果x0是有序对,那么如何在命令行中定义它?
假设我们有一个函数定义为:MATLAB函数和参数
函数(f,DF,X0)
其中f是一个函数,df是它的衍生物,和X0是一个初始点。我们如何在命令行中定义f?你使用内联定义吗?那么df和x0呢?如果df是渐变?另外,如果x0是有序对,那么如何在命令行中定义它?
要将函数作为变量传递,需要使用函数句柄。证明这一点的一种简单方法是使用匿名函数的函数句柄。一个简单的匿名函数可以被定义如下:
handle = @(arglist)anonymous_function
因此,为了使匿名函数,增加了2个数字,你可以这样做以下:
f = @(a,b)a+b;
您可以使用此像任何其他功能
>> f(1,2)
ans =
3
如果df是只是一个简单的数字值,它可以被定义如下:
df = 0.4
要定义的一对值,你能做到这一点,像这样:
X0=[1 2]
最后,你可以把它放在一起用这个例子功能(把它放进一个名为myfunc的文件)。 。 。
function out = myfunc(f,df,x0)
out = df * f(x0(1), x0(end));
这是你想要的吗?我被“x0是有序对”所迷惑。