grafico matlab

Messaggioda Scalzitti » 22/01/2011, 21:17

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');
Scalzitti
Starting Member
Starting Member
 
Messaggio: 1 di 4
Iscritto il: 22/01/2011, 11:09

Messaggioda Blackorgasm » 23/01/2011, 10:29

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.
Chuck Norris può dividere per 0
Avatar utente
Blackorgasm
Senior Member
Senior Member
 
Messaggio: 393 di 1109
Iscritto il: 10/02/2010, 11:49
Località: Pisano/Fiorentino

grafico matlab 2

Messaggioda Scalzitti » 24/01/2011, 22:11

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?
Scalzitti
Starting Member
Starting Member
 
Messaggio: 2 di 4
Iscritto il: 22/01/2011, 11:09


Torna a Ingegneria

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite