2014-06-19 68 views
-1

为什么我不能在编辑文本中输出?使用集合时的MATLAB GUI错误

% --- Executes on button press in f. 
function f_Callback(hObject, eventdata, handles) 
% hObject handle to f (see GCBO) 
% eventdata reserved - to be defined in a future version of MATLAB 
% handles structure with handles and user data (see GUIDATA) 
clc 
syms t 
a=str2double(get(handles.b1,'string')); 
b=str2double(get(handles.c1,'string')); 
y=eval(get(handles.a1,'string')); 
u=a-b; 
m=abs(y).^2; 
r=int(m,t); 
g1=subs(r,t,a); 
h=subs(r,t,b); 
fh=g1-h; 
s=fh./u 
set(handles.e,'string',s)'; 

命令窗口中显示的答案不能编辑text.The错误是: 错误使用设置 错误:mxArray必须是双,char或细胞

Error in signalproject2>f_Callback (line 284) 
set(handles.e,'string',s)'; 

Error in gui_mainfcn (line 96) 
    feval(varargin{:}); 

Error in signalproject2 (line 42) 
gui_mainfcn(gui_State, varargin{:}); 

Error in @(hObject,eventdata)signalproject2('f_Callback',hObject,eventdata,guidata(hObject)) 


Error while evaluating uicontrol Callback 

u能请帮助我?

+0

你如何定义'把手。电子? – P0W

+0

@ P0W:这看起来像一个由GUIDE生成的GUI,所以它可能是编辑框UI元素的标签。 – excaza

回答

0

s是什么数据类型?使用whos s找出。

如果它不是double,char或cell,那么您将无法将其指定为编辑框的字符串。这正是错误信息告诉你的。

我没有符号数学工具箱,所以我不能检查代码,但我猜s是一个符号数组。如果是这种情况,请参阅documentationchar将符号数组转换为字符串,以便您可以正确分配它。

0

难道仅仅是因为有“你不想在这行的末尾:

set(handles.e,'string',s)'; 

,如果你尝试:

set(handles.e,'string',s);