MATLAB与GUI的区别

时间:2014-03-11 17:38:32

标签: matlab

我正在尝试在MATLAB中创建一个GUI应用程序,它从文本框(edit1)中获取表达式,然后在静态文本(text2)中打印该表达式的派生。这是我尝试过的:

% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(~, ~, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
equation = get(handles.edit1, 'String');
y = eval(equation);
derive_func = diff(y, 'x');
set(handles.text2, 'String', derive_func);

代码有问题吗?

1 个答案:

答案 0 :(得分:0)

听起来你试图象征性地区分用户输入字符串与变量符号变量' x'。但是,在回调函数的上下文中,没有定义符号变量x。对我来说(使用新发布的MATLAB R2014a和符号数学工具箱),添加行

syms('x')

在开头(假设方程字符串包含类似' x ^ 2')的回调函数并转换" derive_func'在调用set函数之前进入chararcter数组(使用char)使代码工作。

检查online doc of MATLAB以获取有关符号表达式的更多详细信息。