Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
这里的主要问题是在某个时刻评估用户函数,因为我们不知道用户是否会在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 更多&回答... |
![]() |
![]() |