【问题标题】:How to get a function from a edit box in matlab如何从matlab的编辑框中获取函数
【发布时间】:2015-01-19 04:01:33
【问题描述】:

我在 matlab 中创建了一个带有编辑框的 GUI,用户应该输入一个函数,以便程序可以评估一些值。

但是如何在文本框中检索函数以及如何进行正确的验证,例如,如果用户输入“sin(coserewrwfc(x))”

我的代码是:

f = get(handles.funcion,'String'); 
f =inline(f)
f(0)

感谢您的帮助

【问题讨论】:

    标签: matlab function user-interface


    【解决方案1】:

    这是一种解决方法。基本上它与您的代码相同,但在 try/catch 块中,因此如果尝试执行 f(0) 时出错,代码将继续运行。它将输入catch 语句,您可以在其中管理错误,可能通过显示一个消息框要求再次输入该函数。

    try
        f = inline(get(handles.funcion,'String'));
        f(0); %// try something that would fail if the function is defined incorrectly
    catch
        disp('There was a problem, please try again')
    end
    

    【讨论】:

    • 感谢您的回答,但它不起作用,我刚刚尝试了您的代码并在编辑框中写入 2x+1,答案应该是 1 但显示存在问题,请重试。我认为问题在于我将文本作为函数处理的方式。请继续帮助我,伙计
    • 那是因为2x+1的语法无效,应该是2*x+1
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多