我是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
答案 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