2014-06-19 2 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 должна быть двойной, символ, или клетка

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 

Может у пожалуйста, помогите мне с этим ?

+0

Как вы определяете' ручками. e'? – P0W

+0

@ P0W: это выглядит как GUI, созданный GUIDE, поэтому, скорее всего, это тег для элемента интерфейса редактирования. – excaza

ответ

0

Какой тип данных s? Используйте whos s, чтобы узнать.

Если это не двойник, символ или ячейка, то вы не сможете назначить его в виде строки для вашего поля редактирования. Это именно то, о чем сообщает сообщение об ошибке.

У меня нет символьного набора инструментов математики, поэтому я не могу проверить код, но я предполагаю, что s - это символический массив. Если это так, см. documentation для char, чтобы преобразовать символический массив в строку, чтобы вы могли назначить его правильно.

0

Может быть просто потому, что есть ", вы не хотите, в конце этой линии:

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

что, если вы пытаетесь:

set(handles.e,'string',s); 
Смежные вопросы