查看单个帖子
旧 2019-12-14, 20:13   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 查找用户输入的函数的f(任何值),例如f(1)或f(2)

这里的主要问题是在某个时刻评估用户函数,因为我们不知道用户是否会在x域或另一个域中输入函数

我试过了,但是没有用:

function y = f(~) y = input('Enter you function: '); end 这就是我想要的:

>>f Enter you function: a^2+3*a-3 >>f(1) ans = 1

回答:

该解决方案几乎可以满足您提出问题的确切要求。我虽然在EVAL中使用它,但仍感到有些好奇。您还希望对此进行一些错误检查。

classdef f < handle properties (Access = private) functionString = ''; end methods function obj = f if nargin == 0 obj.functionString = input('Enter your function: ', 's'); end end function value = subsref(obj, a) a = a.subs{:}; value = eval(obj.functionString); end function display(obj) end end end 然后可以使用此类:

>> a = f输入您的函数:a ^ 2 + 3 * a-3>>一(1)回答= 1个>>一个(2)回答= 7

更多&回答...
poster 当前离线   回复时引用此帖