假设我们有一个函数定义为:
函数(f,df,x0)
其中 f 是一个函数,df 是它的导数,x0 是一个初始点。我们如何在命令行中定义 f ?你使用内联定义吗?那么df和x0呢?如果 df 是渐变怎么办?此外,如果 x0 是有序对,您如何在命令行中定义它?
假设我们有一个函数定义为:
函数(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 是有序对”感到有些困惑。