[MatLab, Progetto Matlab Aiuto]
Salve ragazzi ho questo progetto da fare entro martedì volevo un aiuto da parte vostra come impostarlo cioè non ho capito ho questa funzione combinando con x<0 e x>0 cosa dovrei fare ragazzi ???? chi mi aiuta ?? Non voglio sapere i punti come si fanno perchè li so fare (credo) non riesco ad impostare la funzione cioè
la mia funref= .... e che significa che devo combinarla con x>0 e x>0 per poi fare gli altri punti...
Perchè ho sempre fatto questo tipo di esercizio che il prof mi dava la funzione di riferimento ed io svolgevo i punti ora con sto x<0 e x>0 non so proprio da dove iniziare...
la mia funref= .... e che significa che devo combinarla con x>0 e x>0 per poi fare gli altri punti...
Perchè ho sempre fatto questo tipo di esercizio che il prof mi dava la funzione di riferimento ed io svolgevo i punti ora con sto x<0 e x>0 non so proprio da dove iniziare...

Risposte
Il metodo più semplice è probabilmente quello di scrivere una funzione in un file separato che faccia uso di if o indicizzazione tramite le condizioni. Se proprio vuoi usare delle funzioni anonime allora devi usare qualche "trucco". Una soluzione potrebbe essere la seguente:
Il codice sfrutta la conversione automatica da valore booleani (logical) a valori reali (double). Avremo cioè che le due condizioni sono uguali a zero quando sono false e a uno quando sono vere. Possono quindi essere usate per attivare/disattivare parti della espressione in quel modo.
funref = @(x) (x >= 0).*(x.*x - 1) - (x > 0).*cos(2*x);
Il codice sfrutta la conversione automatica da valore booleani (logical) a valori reali (double). Avremo cioè che le due condizioni sono uguali a zero quando sono false e a uno quando sono vere. Possono quindi essere usate per attivare/disattivare parti della espressione in quel modo.
Ma scusa la mia funrif non deve essere funrif= @(x) (e^(-x)3.*x-pi/2)+2 .......
non posso contattarti in maniera diretta tramite skype o altro ?? Perchè se non riesco ad impostare la funzione non posso iniziare nulla
non posso contattarti in maniera diretta tramite skype o altro ?? Perchè se non riesco ad impostare la funzione non posso iniziare nulla

Ero convinto di averti risposto ma a quanto pare non l'ho fatto. Le componenti che mancano vanno semplicemente sommate all'espressione che ho scritto.. Non le avevo inserite in quanto l'esercizio ti lascia libero di scegliere quali di quelle funzioni usare e per quali valori moltiplicarle.. C'è qualcos'altro che non ti è chiaro?
Ah quindi dovrei fare una cosa di questo tipo
funrif= @(x) (e^(-x)3.*x-pi/2) più le altre funzioni iniziali che sommo ecc.. poi ci metto affianco (x >= 0).*(x.*x - 1) - (x > 0).*cos(2*x);
Dovrebbe essere così ?? non l'ho mai fatto scusa xD
Ah una cosa mi puoi scrivere la funzione iniziale sommando le 3 funzioni voglio vedere se l'ho scritta bene in matlab scusa ma sono all'inizio!
funrif= @(x) (e^(-x)3.*x-pi/2) più le altre funzioni iniziali che sommo ecc.. poi ci metto affianco (x >= 0).*(x.*x - 1) - (x > 0).*cos(2*x);
Dovrebbe essere così ?? non l'ho mai fatto scusa xD
Ah una cosa mi puoi scrivere la funzione iniziale sommando le 3 funzioni voglio vedere se l'ho scritta bene in matlab scusa ma sono all'inizio!
Devi scrivere qualcosa di simile al seguente codice in cui ho inserito tutte le funzioni.
Per comodità ho definito tutte le funzioni separatamente per poi sommarle all'interno di funrif.
f1 = @(x) exp(-x)*sin(3*x - 0.5*pi); f2 = @(x) sin(2*x)/(1 + 3*x.^2); f3 = @(x) (1 - exp(-x)).*cos(3*x); f4 = @(x) (x >= 0).*(x.^2 - 1) - (x > 0).*cos(2*x); funrif = @(x) 2*f1(x) - f2(x) + 3*f3(x) + f4(x);
Per comodità ho definito tutte le funzioni separatamente per poi sommarle all'interno di funrif.
Ah capito grazie mille domani mattina provo con i vari grafici ecc vedo che funzione mi esce xD
Grazie mille Moderatore gentilissimo nel caso continuiamo la discussione domani se qualcosa dovesse andare storto ??? non mi abbandoni confido in lei Ahahahaha
Ho provato ora a fare come mi hai detto tu mi da questo errore
Grazie mille Moderatore gentilissimo nel caso continuiamo la discussione domani se qualcosa dovesse andare storto ??? non mi abbandoni confido in lei Ahahahaha
Ho provato ora a fare come mi hai detto tu mi da questo errore

Scusa, non ho provato il codice prima di postarlo. In questo momento sono sul cellulare e ho difficoltà a scrivere il codice, ma il problema è che alcuni * devono essere convertiti in .*
Ciao scusami nel codice delle funzioni mi hai scritto x>=0 e poi x>0 è un errore hai sbagliato giusto ??? è la prima x<=0 e la seconda x>0 Giusto ?
La mia funzione vedi va bene così oppure non è giusta ???
http://s16.imagestime.com/out.php/i1116 ... agine4.png
Ma è giusto trovare le ascisse a -15 ecc... ?? Non lo so vedo la funzione un pò strana tu che dici ???
Poi una cosa dovrei calcolare la derivata della mia funzione come dovrei fare ??
La mia funzione vedi va bene così oppure non è giusta ???
http://s16.imagestime.com/out.php/i1116 ... agine4.png
Ma è giusto trovare le ascisse a -15 ecc... ?? Non lo so vedo la funzione un pò strana tu che dici ???
Poi una cosa dovrei calcolare la derivata della mia funzione come dovrei fare ??
Si, ho sbagliato a scrivere. Le condizioni devono essere quelle scritte nel testo dell'esercizio.. Quindi x <= 0 e x > 0. Credo che la funzione sia giusta. Le costanti le puoi cambiare per ottenere forme diverse da quella da te ottenuta. Sarebbe per esempio meglio cercare di avere massimi/minimi/zeri.. più evidenti nel grafico. La derivata si ottiene per linearità. Devi cioè calcolare la derivata di ogni parte della funzione e quindi sommarle. Nel caso della funzione a pezzi la derivata sarà uguale a quella di ognuna delle sue parti separatamente ma il punto x=0 andrà studiato a parte.. Ma tutto questo non ha ovviamente nulla a che fare con Matlab..
Mi servirebbe la derivata per implementare la funzione di Newton

Mi servirebbe una mano per alcuni punti io ho un progetto già svolto e dovrei solo modificarlo se mi puoi dare una mano in maniera diretta te ne sarei veramente grato non so tramite skype.. Ti prego

Mi servirebbe una mano per alcuni punti io ho un progetto già svolto e dovrei solo modificarlo se mi puoi dare una mano in maniera diretta te ne sarei veramente grato non so tramite skype.. Ti prego
Non ho tempo per mettermi a risolvere l'esercizio per te. Il calcolo della derivata non ha nulla a che fare con Matlab, ma è un semplice problema di analisi matematica. Se hai difficoltà puoi sempre usare qualcosa come Wolfram Alpha. L'unica potenzialmente complicata è la funzione definita a tratti. In questo caso hai che la derivata per \(x < 0\) è \(2\,x\) e quella per \(x > 0\) è \( 2\,\sin(2\,x). \) Per \(x = 0\) le due funzioni coincidono e sono uguali a zero.
Ciao a tutti,
prova a scrivere quello che dice Antonio.
Dovrebbe essere corretto.
Saluti a tutti.
prova a scrivere quello che dice Antonio.
Dovrebbe essere corretto.
Saluti a tutti.