Pagina 1 di 3

Grafici matlab

Inviato: 12 mag 2014, 21:35
da Shika93
Ho due grafici che devo confrontare. C'è un comando che mi permette di plottarli tutti e due (possibilmente con colori diversi) su un'unica figura?

Re: Grafici matlab

Inviato: 12 mag 2014, 21:50
da afz
Per plottare due o più grafici sulla stessa figura puoi usare il comando

Codice: Seleziona tutto

hold on


Per esempio

Codice: Seleziona tutto

plot(x,y1,'b')
hold on
plot(x,y2,'r')

per fare un grafico in blu e il secondo in rosso.

Molte altre opzioni grafiche (per es. per fare linee più spesse, etc...) le puoi trovare facendo

Codice: Seleziona tutto

help plot


Spero di esser stato d'aiuto.

Re: Grafici matlab

Inviato: 12 mag 2014, 22:06
da Shika93
Perfetto.

Grazie mille!

Re: Grafici matlab

Inviato: 21 mag 2014, 20:10
da Shika93
Non apro un'altra discussione. Ho una marea di dati. Volevo inserirli tutti in un file unico e poi richiamarlo nel programma per averli disponibili lì. Non ricordo come si poteva fare, così da avere un programma pulito senza centinaia di righe inutili.

Re: Grafici matlab

Inviato: 21 mag 2014, 20:34
da afz
Ciao, se hai tanti dati nel workspace, per richiamarli all'interno di uno script puoi salvare questi dati, tramite il comando "save" (in questo modo tutti i dati nel workspace sono salvati), per esempio:

Codice: Seleziona tutto

save dati

("dati" è un nome qualsiasi, puoi scegliere quello che vuoi)
Se vuoi salvare solo alcune variabili, puoi fare:

Codice: Seleziona tutto

save nome nome_dato_da_salvare

Per "ricaricare" queste variabili dallo script, puoi usare il comando load.
Per esempio:

Codice: Seleziona tutto

load dati

ricarica nel workspace tutte le variabili salvate in "dati".
Lo script e i dati salvati devono essere nella stessa cartella (altrimenti, nel comando load, occorre specificare il percorso di questi dati salvati).
Spero di essere stato d'aiuto

Re: Grafici matlab

Inviato: 21 mag 2014, 20:45
da Shika93
In realtà i dati li ho in un file csv. L'ho "importato" nel senso che una volta avuta la tabella davanti li ho copiati nello script e messi in forma matriciale.

Ho provato ad importarlo così da averlo nel workspace ma siccome ci devo fare dei grafici con sti dati mi serviva dargli un nome, così lo faccio dallo script

Re: Grafici matlab

Inviato: 21 mag 2014, 20:53
da afz
Ok, allora forse i comandi che possono essere d'aiuto sono "importdata" oppure "csvread".
Facendo l'help di questi comandi si trovano anche alcuni esempi.

Re: Grafici matlab

Inviato: 21 mag 2014, 21:07
da DirtyDeeds
Comunque non è necessario usare hold per fare il grafico di due serie di dati. Si può anche scrivere

Codice: Seleziona tutto

plot(x1,y1,x2,y2)


Matlab sceglie automaticamente due colori diversi. Se si vogliono specificare i colori in modo esplicito:

Codice: Seleziona tutto

plot(x1,y1,'b',x2,y2,'r')

Re: Grafici matlab

Inviato: 21 mag 2014, 22:37
da Shika93
Si, spulciando le vecchie esercitazioni fatte in facoltà, li ho trovati fatti così.
afz ha scritto:Ok, allora forse i comandi che possono essere d'aiuto sono "importdata" oppure "csvread".
Facendo l'help di questi comandi si trovano anche alcuni esempi.

Perfetto. Grazie mille

Re: Grafici matlab

Inviato: 22 mag 2014, 12:16
da Shika93
Ho un altro problema. Non ho idea del perché, ho scaricato i dati della simulazione per fare il grafico della caratteristica di funzionamento di un nmos (2N7000) e mi escono le curve giuste, come mi aspettavo. Il problema che alla fine delle curve mi fa un asintoto che non riesco a selezionare per cancellarlo.

Rimosso link a server esterno

Il fatto che dai dati non esistono sti asintoti. Il programma di simulazione mi tira fuori il grafico giusto...Matlab no.
Il codice che ho usato è semplicemente

Codice: Seleziona tutto

figure(1) %Id-Vds
    plot(Vd,Id)
    xlabel('Vds  [V]')
    ylabel('Id  [A]')
    grid on