/Anonimizzato24243Utente anonimizzato17 lug 2018, 12:18Salve a tutto il forum! Sono un nuovo utente e avrei dei problemi sulla realizzazione dei seguente script. Qualcuno riesce a darmi una mano ? Devo ricavare i valori dei massimi locali della soluzione dell’equazione differenziale del primo ordine dy/dt=cos(t^2) con y(0)=0 nell'intervallo [0.9 , 55] .
/Anonimizzato16974Utente anonimizzato18 lug 2018, 03:46[t,y] = ode45(@(t,y) cos(t.^2), [0.9 55], 0); figure plot(t,y,'-ob') [~,p]=max(y); hold on plot(t(p),y(p),'r*') hold off fprintf('massimo è y=%0.4f con t=%0.4f \n',y(p),t(p))
/Anonimizzato24243Utente anonimizzato19 lug 2018, 09:30Ok, ma per definire quanti massimi locali ha la soluzione dell'equazione differenziale in quell'intervallo come dovrei modificare lo script che hai scritto ?
/Anonimizzato16974Utente anonimizzato19 lug 2018, 19:01[t,y] = ode45(@(t,y) cos(t.^2), [0.9 55], 0); [~,w] = findpeaks(y); figure plot(t,y,'-b') hold on plot(t(w),y(w),'*r') fprintf(' ha %i massimi locali \n',length(w))