Avendo in:
[*] "x" i valori delle ascisse dei punti
[*] "y" i valori della curva
per aggiungere una retta che rappresenti una soglia è sufficiente:
[*] definire la soglia (nell'esempio si è scelto il valore "0.3")
[*] inserire l'istruzione "hold on" per poter rappresentare più di una curva nello stesso grafico
[*] inserire l'istruzione per la rappresentazione della retta "soglia" (bastano due punti)
%
% Definizione soglia
%
soglia=0.3;
%
hold on
%
% plot della soglia
%
plot([x(1) x(end)],[soglia soglia],'r');
Volendo ottenere un grafico più completo e "leggibile", si possono estrarre i soli valori maggiori o minori rispetto alla soglia e poi rappresentarli graficamente.
Per identificare i punti della curva di interesse si può utilizzare la funzione "
find".
%
% Generazione punti di esempio
%
x=0:0.01:2*pi;
y=sin(2.*x);
%
% Inizializzazione variabili:
% y_ge_soglia: punti al di sopra o uguali alla soglia
% y_lt_soglia: punti al di sotto della soglia
%
% i valori "NaN" vengono inseriti solo per facilitare la rappresentazione
% grafica; al termine dello script, i valori "NaN" vengolo eliminati e le
% due variabili conterranno solo i valori effettivi
%
y_ge_soglia=y*NaN;
y_lt_soglia=y*NaN;
%
% Definizione soglia
%
soglia=0.3;
%
% Ricerca ascisse punti al di sopra & al di sotto della soglia
%
x_ge_soglia=find(y >= soglia);
x_lt_soglia=find(y < soglia);
%
% Valori dei punti al di sopra & al di sotto della soglia
%
y_ge_soglia(x_ge_soglia)=y(x_ge_soglia);
y_lt_soglia(x_lt_soglia)=y(x_lt_soglia);
%
% Grafici
%
figure
%
% Figura con quattro grafici:
% nel primo grafico vengono rappresentati:
% - tutti i punti della curva
% - la retta che definisce la soglia
% nel secondo grafico vengono rappresentati:
% - la curva con i punti maggiori o uguali alla soglia in rosso
% - la curva con i punti minori della soglia in verde
% - la retta che definisce la soglia
% nel terzo grafico vengono rappresentati:
% - solo i punti maggiori o uguali alla soglia
% - la retta che definisce la soglia
% nel quarto grafico vengono rappresentati:
% - solo i punti minori della soglia
% - la retta che definisce la soglia
%
% Primo grafico:
%
subplot(2,2,1)
%
% plot della curva
%
plot(x,y);
grid on
hold on
%
% plot della soglia
%
plot([x(1) x(end)],[soglia soglia],'r');
%
% Secondo grafico:
%
subplot(2,2,2)
%
% plot della curva con in soli valori superiori o uguali alla soglia
%
plot(x, y_ge_soglia,'r')
hold on
%
% plot della curva con in soli valori inferiori alla soglia
%
plot(x, y_lt_soglia,'g')
%
% plot della soglia
%
plot([x(1) x(end)],[soglia soglia],'r');
grid on
%
% Terzo grafico
%
subplot(2,2,3)
%
% plot della curva con in soli valori superiori o uguali alla soglia
%
plot(x, y_ge_soglia)
%
% plot della soglia
%
hold on
plot([x(1) x(end)],[soglia soglia],'r');
grid on
%
% Quarto grafico
%
subplot(2,2,4)
%
% plot della curva con in soli valori inferiori alla soglia
%
plot(x, y_lt_soglia)
%
% plot della soglia
%
hold on
plot([x(1) x(end)],[soglia soglia],'r');
grid on
%
% Eliminazione dei valori "NaN"
%
y_ge_soglia(x_lt_soglia)=[];
y_lt_soglia(x_ge_soglia)=[];
Hope this helps