Grafico matlab

Scalzitti
ciao a tutti, sono nuovo del forum; sto facendo la tesi triennale in meccanica ed avrei un problema per ottenere un grafico in matlab: riporto la parte di codice relativa qui di seguito.
dovrei graficare p in funzione di teta ed ottenere una curva crescente, ma il comando plot (teta,p,...) non funziona perchè p(teta) viene dal ciclo for, cioè non riesce a graficare p per ciascun valore di teta. come faccio?

.
.
.
for teta = 1:180

dV = (Vt-V)*10^(-6);
T = T0+((1/(m*cv))*(-p*(dV/teta)))*teta;
p = p+(1/(V*10^(-6)))*(m*R*((T-T0)/teta)-p*(dV/teta));
T0=T;
teta=teta+1;

end

teta=[1:(1/100):180];
plot(teta,p)
title('pressione in funzione di teta');
grid;
xlabel('teta'); ylabel('p');

Risposte
Blackorgasm
se ho capito, non ti fa il plot perchè p(teta) è dentro un ciclo for? prova a mettere i valori ottenuti dentro un vettore fuori dal ciclo.

Scalzitti
Si, ho fatto così e pare che funziona....grazie!

Avrei anche un altro problema: devo graficare p in funzione di teta, teta varia tra 0° a 360°, ma devo costruire la funzione p(teta) in 2 pezzi (provenienti da 2 cicli for), da 0 a 180 e da 180 a 360. Come posso mettere tutto sullo stesso grafico?
"hold on" non va bene perchè aggiunge un altro grafico, ma con lo stesso intervallo in teta e "subplot" mi fa fare piu grafici diversi, ma sempre con lo stesso intervallo in teta. C'è un modo?

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.