Sistema equazioni differenziali primo ordine

andreajf89
Salve a tutti. E' tutto il pomeriggio che cerco di capire come poter risolvere numericamente questo sistema con Matlab (ode45), senza riscuotere successo. Il problema è che non riesco ad ottenere, come faccio solitamente, un sistema del tipo $dot y=A*y+B$ da dare poi in pasto all'integratore. Come mi consigliate di procedere?

$\{(dot \bar( \alpha)(t)=[A]^(-1)*(\bar( w)-[R]*\bar( w_0))),(dot \bar(w)(t)=^(-1)*([kp]*[[\phi_c],[\theta_c],[\psi_c]]-[kp]*[[\phi],[\theta],[\psi]]+[kd]*[[dot \phi],[dot \theta],[dot \psi]]- \bar(w) ^^ \bar(w))):}$

Dove:

$\bar( \alpha)=[[\phi],[\theta],[\psi]]$

$[A]=[[1,0,sin\theta],[0,cos\phi,sin\phi*cos\theta],[0,-sin\phi,cos\phi*cos\theta]]$

$[R]=f(\phi,\theta,\psi)$

$[kp]=[[kp_1,0,0],[0,kp_2,0],[0,0,kp_3]]$

$[kd]=[[kd_1,0,0],[0,kd_2,0],[0,0,kd_3]]$

$=[[I_x,0,0],[0,I_y,0],[0,0,I_z]]$

Sono noti tutti i termini tranne i vettori $\bar(\alpha)$ e $\bar(w)$.

Risposte
andreajf89
p.s.: ho postato nella sezione giusta?

andreajf89
mi permetto di uppare...

ciampax
Ci sono alcune cose che non sono chiare:
1) quali sono le componenti del vettore $w$?
2) le varie matrici presenti sono costanti o dipendono da $t$?
3) con $[R]$ intendi una matrice o uno scalare?
4) come è fatto il prodotto $w\wedge w$? Intendi il prodotto vettoriale?

andreajf89
$\omega$ è composto da $[\omega_x, \omega_y,\omega_z]$.
$[R]$ è una matrice costituita dal prodotto di tre matrici di rotazione di Eulero: $[R]=[[cos(\phi),sin(\phi),0],[-sin(\phi),cos(phi),0],[0,0,1]]*[[cos(\theta),0,-sin(\theta)],[0,1,0],[sin(\theta),0,cos(theta)]]*[[1,0,0],[0,cos(\psi),sin(\psi)],[0,-sin(\psi),cos(psi)]]$
Le matrici $[k_p]$,$[k_d]$,$$ sono note e costanti mentre con $^^$ indico il prodotto vettoriale.

Sono riuscito ad implementare un ciclo iterativo Matlab, tuttavia il docente sostiene che c'è un modo di ottenere la soluzione tramite un integratore di tipo ode45. Servirebbe quindi scrivere il sistema in qualcosa del tipo:

$dot y = [A]* y$, dove $y=[[\bar \alpha],[\bar \omega],[dot \bar \alpha],[dot \bar \omega]]$ ed $dot y=[[dot \bar \alpha],[dot \bar \omega],[ddot \bar \alpha],[ddot \bar \omega]]$

ciampax
Mmmmm... non credo si possa fare, ma ci devo pensare. Il problema sta in quel prodotto vettoriale, in sostanza, che rende il tutto non lineare (almeno ad occhio).

andreajf89
quindi dici che non è possibile?

ciampax
Scusa, non ho avuto tempo di rispondere in questi giorni causa assenza. Se devo essere sincero, continuo a non vedere come sia possibile rendere lineare quell'affare. Secondo me, il tuo docente ha preso una cantonata. Oppure c'è qualche cosa che manca (nel senso qualche ulteriore proprietà che al momento mi sfugge).

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.