|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Feb 2004
Città: Marcon - VE (in trasferta a Ferrara)
Messaggi: 2312
|
MATLAB e grafico della derivata di una generica funzione f(x)
è abbastanza urgente visto che ho l'esame domani.
come fare in MATLAB un grafico della derivata di una generica funzione non lineare f(x)? conosco il comando diff(A) che farebbe al caso mio con diff(f(x)), solo che se la matrice di valori f(x) ha rango n la funzione diff(f(x)) crea una matrice con rango n-1 e non mi permette di creare il grafico con il comando plot perchè le due matrici devono avere lo stesso rango! eppure ieri smanettando e provando varie soluzioni non so come ma sono riuscito a creare il grafico della derivata con il comando diff! non ho salvato l'mfile, ho fatto altro e quando ho riprovato non ci sono più riuscito ![]() ![]() ![]() credo quindi che sia possibile usare questo metodo, ma mi dite come si fa? forse c'è qualche espediente per portare diff(f(x)) allo stesso rango di f(x)? altrimenti mi tocca calcolare la derivata manualmente, ed immetterla esplicitamente in MATLAB come f'(x)....
__________________
Ed io non so chi va e chi resta. |
![]() |
![]() |
#2 | |
Member
Iscritto dal: Nov 2005
Messaggi: 154
|
Quote:
ha un elemento in meno ma non rango diverso prova con questi comandi: t=0:0.01:3; variabile indipendente f=cos(2*pi*t) funzione da derivare g=diff(f) derivata discreta del coseno g(1,301)=0 poichè ha un elemento in meno ne agg uno a un val a caso plot(t,f) diagrammo la funz hold on comando per non cambiare figure plot(t,g,'r') diagrammo la derivata
__________________
"la scelta giusta non è sempre la più saggia,ma è quella che non porta con sè rimpianti" . pietro84 |
|
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Feb 2004
Città: Marcon - VE (in trasferta a Ferrara)
Messaggi: 2312
|
Quote:
![]() il pezzo che mi mancava era proprio questo: g(1,301)=0 che aggiunge l'elemento mancante, una stupidaggine ![]() cmq non vorrei desse problemi la prof con quel valore assegnato casualmente... forse meglio qualcosa tipo g(1,301)=g(1,300) che almeno si nota meno nel grafico ![]() tnks 1000 anche per la celerità!!!! ![]()
__________________
Ed io non so chi va e chi resta. |
|
![]() |
![]() |
#4 | |
Member
Iscritto dal: Nov 2005
Messaggi: 154
|
Quote:
di nulla ![]()
__________________
"la scelta giusta non è sempre la più saggia,ma è quella che non porta con sè rimpianti" . pietro84 |
|
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Feb 2004
Città: Marcon - VE (in trasferta a Ferrara)
Messaggi: 2312
|
Quote:
__________________
Ed io non so chi va e chi resta. |
|
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Feb 2004
Città: Marcon - VE (in trasferta a Ferrara)
Messaggi: 2312
|
per dovere di cronaca, la derivata di f(x) non è semplicemente diff(f) ma diff(f)./diff(x)
oggi ho fatto il compito: la prof non voleva la derivata calcolata in matlab con questo sistema ma la voleva calcolata a mano e poi inserita come funzione indipendente ![]() cmq l'esame è andato bene ![]()
__________________
Ed io non so chi va e chi resta. |
![]() |
![]() |
#7 |
Junior Member
Iscritto dal: Mar 2008
Messaggi: 2
|
Ciao Ragazzi,
sapete invece un modo rapido per calcolare la derivata a pezzi? Ossia anzicchè fare tutta in una volta la derivata di y vorrei farla in due o più pezzi. La funzione diff esegue [X(2)-X(1) X(3)-X(2) ... X(n)-X(n-1)] ma io vorrei fare [X(5)-X(1) X(10)-X(6) ... ]... devo implementarla io o esiste qualcosa di più facile? Grazie |
![]() |
![]() |
#8 | |
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16211
|
Quote:
Ovviamente non era il caso di riesumare una discussione vecchia di quattro anni.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" ![]() Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
|
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:03.