Suraj Menon
Suraj Menon

Reputation: 1604

Error in matlab, while using set in GUI

I have tried the following code in Matlab:

function pushbutton5_Callback(hObject, eventdata, handles)

global smoothening_level;

global Amp_threshold;

global Min_PeakDistance;

global Mat_wave

global Mat_wave2

global Mat_inten

global pks

Mat_inten2 = smooth(Mat_inten,smoothening_level);

[pks,locs] = findpeaks(Mat_inten2,'minpeakdistance',Min_PeakDistance,'minpeakheight',Amp_threshold)

s = size(pks)

figure(1)

Mat_wave2 = Mat_wave(locs(:));

Mat_inten2loc = Mat_inten(locs(:));

hold all;

plot(Mat_wave,Mat_inten2);

plot(Mat_wave2,pks,'o','MarkerEdgeColor','r');

legend('Ouptut Spectrum','Smoothened Spectrum','Identified Peaks')

axis([350 900 0 max(Mat_inten)]);

xlabel('Wavelength')

ylabel('Intensity')

grid on

title('Plasma Emission Spectrum')

temp(:,1)=Mat_wave2;

temp(:,2)=Mat_inten2loc;

set(handles.uitable8,'Data',num2cell(temp))

However it is giving the following error:

??? Attempt to reference field of non-structure array.

Error in ==> GUI>pushbutton5_Callback at 242
set(handles.uitable8,'Data',num2cell(temp))

Error in ==> gui_mainfcn at 96
        feval(varargin{:});

Error in ==> GUI at 50
    gui_mainfcn(gui_State, varargin{:});

Error in ==> @(hObject,eventdata)GUI('pushbutton5_Callback',hObject,eventdata,guidata(hObject))

??? Error while evaluating uicontrol Callback

Upvotes: 0

Views: 2666

Answers (2)

angainor
angainor

Reputation: 11810

The error tells you that handles is not of type struct. Hence, you can not access handles.uitables8. Most likely what you want to write is set(handles,'Data',num2cell(temp))', but that is just a guess without knowing the rest of your code.

Upvotes: 1

Thea
Thea

Reputation: 11

Check to make sure that handles.uitable8 exists. The easiest way to do this is to set a breakpoint in your code at line 242. When the code stops in debugger, go to your workspace and open the handles structure.

If you created this gui using GUIDE, then most likely the tag is mislabeled or something similar.

Upvotes: 0

Related Questions