Grafici matlab

Strumenti informatici per la matematica applicata, le simulazioni, il disegno: Mathcad, Matlab, Scilab, Microcap, PSpice, AutoCad ...

Moderatori: Foto Utenteg.schgor, Foto Utentedimaios

Avatar utente
Foto UtenteShika93
282 1 5 7
Expert
Expert
Messaggi: 848
Iscritto il: 30 dic 2013, 20:28
0
voti

[1] Grafici matlab

Messaggioda Foto UtenteShika93 » 12 mag 2014, 21:35

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?

Avatar utente
Foto Utenteafz
1.770 1 3 8
Expert EY
Expert EY
Messaggi: 375
Iscritto il: 24 dic 2011, 10:02
Località: Provincia di Pavia
3
voti

[2] Re: Grafici matlab

Messaggioda Foto Utenteafz » 12 mag 2014, 21:50

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.

Avatar utente
Foto UtenteShika93
282 1 5 7
Expert
Expert
Messaggi: 848
Iscritto il: 30 dic 2013, 20:28
0
voti

[3] Re: Grafici matlab

Messaggioda Foto UtenteShika93 » 12 mag 2014, 22:06

Perfetto.

Grazie mille!

Avatar utente
Foto UtenteShika93
282 1 5 7
Expert
Expert
Messaggi: 848
Iscritto il: 30 dic 2013, 20:28
0
voti

[4] Re: Grafici matlab

Messaggioda Foto UtenteShika93 » 21 mag 2014, 20:10

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.

Avatar utente
Foto Utenteafz
1.770 1 3 8
Expert EY
Expert EY
Messaggi: 375
Iscritto il: 24 dic 2011, 10:02
Località: Provincia di Pavia
2
voti

[5] Re: Grafici matlab

Messaggioda Foto Utenteafz » 21 mag 2014, 20:34

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

Avatar utente
Foto UtenteShika93
282 1 5 7
Expert
Expert
Messaggi: 848
Iscritto il: 30 dic 2013, 20:28
0
voti

[6] Re: Grafici matlab

Messaggioda Foto UtenteShika93 » 21 mag 2014, 20:45

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

Avatar utente
Foto Utenteafz
1.770 1 3 8
Expert EY
Expert EY
Messaggi: 375
Iscritto il: 24 dic 2011, 10:02
Località: Provincia di Pavia
0
voti

[7] Re: Grafici matlab

Messaggioda Foto Utenteafz » 21 mag 2014, 20:53

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.

Avatar utente
Foto UtenteDirtyDeeds
55,9k 7 11 13
G.Master EY
G.Master EY
Messaggi: 7012
Iscritto il: 13 apr 2010, 16:13
Località: Somewhere in nowhere
2
voti

[8] Re: Grafici matlab

Messaggioda Foto UtenteDirtyDeeds » 21 mag 2014, 21:07

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')
It's a sin to write sin instead of \sin (Anonimo).
...'cos you know that cos ain't \cos, right?
You won't get a sexy tan if you write tan in lieu of \tan.
Take a log for a fireplace, but don't take log for \logarithm.

Avatar utente
Foto UtenteShika93
282 1 5 7
Expert
Expert
Messaggi: 848
Iscritto il: 30 dic 2013, 20:28
0
voti

[9] Re: Grafici matlab

Messaggioda Foto UtenteShika93 » 21 mag 2014, 22:37

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

Avatar utente
Foto UtenteShika93
282 1 5 7
Expert
Expert
Messaggi: 848
Iscritto il: 30 dic 2013, 20:28
0
voti

[10] Re: Grafici matlab

Messaggioda Foto UtenteShika93 » 22 mag 2014, 12:16

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


Torna a “Programmi applicativi: simulatori, CAD ed altro”