从过程/函数返回(数学)函数?

时间:2015-02-09 02:25:16

标签: matlab

我是MATLAB的新手,所以请耐心等待。

我知道我们可以从一个函数(在编程术语中)返回一个函数(在编程术语中),但是如何从MATLAB函数返回一个(数学)函数?

这是我正在尝试做的事情:

我将我的(数学)函数定义如下:

coeffs = [1 2 3];
x = sym('x');
y = sym('y');
f(x, y) = coeffs(1) * x + coeffs(2) * y + coeffs(3);

然后我可以在我的代码中使用这个函数:

val1 = f(1, 2);
val2 = f(2, 3);

这一切都很好。现在,我的f(x, y)并不总是具有此ax + by + c形式,因此我想创建一个(MATLAB)函数,该函数根据输入返回相应的表单,如下所示:

function retF = createFunction(someinput)
  % code here
  if (some condition)
     %retF =  f(x, y) = coeffs(1) * x + coeffs(2) * y + coeffs(3);
  else 
     %retF = f(x, y) = <sth else>;
  end
end

1 个答案:

答案 0 :(得分:1)

您可以直接返回该函数,无需使用两个变量名称:

function retF = createFunction(someinput)
  % code here
  if (some condition)
     retF(x, y) = coeffs(1) * x + coeffs(2) * y + coeffs(3);
  else 
     retF(x, y) = <sth else>;
  end
end