Una possibilità può consistere nell'utilizzare la funzione "
patch" disegnare le aree.
Nell'esempio in calce, viene rappresentata la funzione "
sin" e le aree relativa a valori positivi e negativi vengono colorate, rispettivamente in verde e rosso.
Lo sfondo viene colorato in nero.
%
% Generazione e plot della curva
%
x=0:.01:2*pi;
y1=sin(x);
plot(x,y1,'r')
hold on
grid on
%
% Creazione e plot della patch di sfondo
%
patch([0 2*pi 2*pi 0],[-1 -1 1 1],[0 0 0 0],'facecolor','k')
%
% Identificazione valori "positivi" della curva e plot della patch
%
tmp=find(y1 >=0);
patch([x(tmp)],[y1(tmp)],ones(length(tmp),1),'facecolor','g')
%
% Identificazione valori "negativi" della curva e plot della patch
%
tmp=find(y1 < 0);
patch([x(tmp)],[y1(tmp)],ones(length(tmp),1),'facecolor','r')
Hope this helps.
Allegati: