我想编写一个稍后我可以调用的函数,允许我请求用户输入等式。即如何让用户输入像sin(x)或exp(x ^ 2)这样的东西,以便我可以在任意数量的点上评估该函数?
我想把这个函数写成:
function f = myf(x)
f = %user enters equation%
答案 0 :(得分:2)
您可以使用功能句柄:
function y = myf(x)
f = @(x) input('Input Equation: ');
y = f(x);
end
例如:
>> myf(2)
Input Equation: x^2
ans =
4
>> myf(1)
Input Equation: exp(x)
ans =
2.7183
@(x) f(x)
被称为函数句柄。输入可以使用输入功能完成。在输入内部,'输入公式:'是一个字符串,但是当它在命令行上询问你时,不要使用字符串,只需使用上面的例子。