Salve ragazzi,
voglio dirvi che ho risolto il problema e lo posto nel caso dovesse trovarsi qualcun'altro ad averne bisogno in futuro.
In pratica ho dovuto passare alla routine esterna (la plottadati.m) l'handle del componente di tipo axes e darlo poi alla funzione plot.
Cioè:
1) partendo dal file provagui.m:
inserisco prima un componente uipanel e all'interno di questo un componente axes.
lì dove richiamo la plottadati metto plottadati(handles.axes).
Inoltre nella axes_CreateFcn inserisco anche il comando guidata(hObject,handles) in modo da aggiornarmi il plot qualora variasse dinamicamente.
2) nel file plottadati.m:
innanzitutto diventa: function plottadati(h)
e poi, dove ho il plot(x,y) sostituisco con plot(h,x,y).
Particolarità:
nel caso in cui voglia plottare dei subplot all'interno dell'axes, allora alla funzione plottadati non devo passare più l'handle dell'axes ma dell'uipanel di cui è figlio, e al plosto del plot(h,x,y) ci va
a1=subplot(1,2,1,'Parent',hpanel);
plot(a1,x1,y1)
a2=subplot(1,2,2,'Parent',hpanel);
plot(a2,x2,y2)
**************************************************
N.B.:
per fare ciò non ho avuto bisogno di aprire nessuna finestra vuota all'interno di provagui.m e anche all'interno della plottadati.m devo poi cancellare l'istruzione che mi crea una nuova finestra perchè altrimenti questa chiuderà la provagui.fig.
Spero di essere stato abbastanza chiaro.
Ciao