Matlab函数和参数

时间:2012-04-26 06:35:40

标签: matlab

假设我们有一个定义为:

的函数
  

函数(f,df,x0)

其中f是函数,df是其导数,x0是初始点。我们如何在命令行上定义f?你使用内联定义吗?那df和x0怎么样?如果df是渐变怎么办?另外如果x0是一个有序对,你如何在命令行中定义它?

1 个答案:

答案 0 :(得分:1)

要将函数作为变量传递,您需要使用函数句柄。证明这一点的一种简单方法是使用匿名函数的函数句柄。一个简单的匿名函数可以定义如下:

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是有序对”感到有些困惑。