Filter löschen
Filter löschen

Error in XData=get(​get(gca,'c​hildren'),​'XData)

2 Ansichten (letzte 30 Tage)
Ean Soo
Ean Soo am 19 Mär. 2011
Hie guys, i have an error with the command above.
XData=get(get(gca,'children'),'XData');
YData=get(get(gca,'children'),'YData');
y_BPFO = interp1(XData,YData,BPFO);
I used this codes in my GUI. It works well when i have 1 axes in my GUI. But when i have 2 axes, it prompt me this error log,
??? Error using ==> interp1 at 121
X must be a vector.
Error in ==> maingui>updateAxes at 130
y_BPFO = interp1(XData,YData,BPFO);
Error in ==> gui_mainfcn at 96
feval(varargin{:});
Error in ==> maingui at 42
gui_mainfcn(gui_State, varargin{:});
??? Error while evaluating uicontrol Callback

Akzeptierte Antwort

Paulo Silva
Paulo Silva am 19 Mär. 2011
Instead of gca you should use the handle for the axes that contains the data you want.
If you really want to use gca you can choose what's the current axes before, example:
axes(handles.axes2);
Your code doesn't ensure that there are children and that they contain useful data for interp1.
  4 Kommentare
Ean Soo
Ean Soo am 19 Mär. 2011
Hie there, can i know if this command correct?
y=get(handles.axes3,'ylim');
plot(handles.axes3,[BPFI BPFI],y,'-r');
Paulo Silva
Paulo Silva am 19 Mär. 2011
y=get(handles.axes3,'ylim');
axes(handles.axes3); %make axes3 the current axes
line([BPFI BPFI],y,'LineStyle','--','Color',[1 0 0]) %draw the line

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Migrate GUIDE Apps finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by