lab 07 wyprowadzanie równań ruchu2

background image

>

restart:

>

with(plots):

>

lagrange := proc (n, q, r, L) local i, uzm_q, uzm_r, rel_r_q, Lq,

Lr, Lrt; global row; uzm_q := seq(q[i] = q[i](t), i = 1 .. n); uzm_r
:= seq(r[i] = r[i](t), i = 1 .. n); for i to n do Lq[i] := subs([uzm_q,
uzm_r], diff(L, q[i])); Lr[i] := subs([uzm_q, uzm_r], diff(L, r[i]))
end do; for i to n do Lrt[i] := diff(Lr[i], t) end do; rel_r_q :=
seq(r[i](t) = diff(q[i](t), t), i = 1 .. n); for i to n do row[i] :=
subs(rel_r_q, Lrt[i]-Lq[i] = 0) end do; seq(row[i], i = 1 .. n) end
proc:

>
>

#Zad1

>

E := (1/2)*m*v[1]^2:

>

U := (1/2)*k*x^2:

>

L := E-U:

>

lagrange(1, x, v, L):

>
>

#Zad2

>

restart:

>

E := (1/2)*m*l^2*omega[1]^2:

>

U := -m*g*l*cos(phi[1]):

>

L := E-U:

>

lagrange(1, phi, omega, L):

>
>

#Zad3

>

restart:

>

E := (1/2)*m*(v[1]^2+v[2]^2):

>

U := (1/2)*k*(sqrt(x[1]^2+x[2]^2)-l)^2+m*g*x[2]:

>

L := E-U:

>

lagrange(2, v, x, L):

>
>

#Zad4

>

restart:

>

E :=

(1/2)*m[1]*v[1]^2+(1/2)*m[2]*(v[1]^2+2*v[1]*v[2]*l*cos(x[2])+l^2*
v[2]^2):

>

U := (1/2)*k*x[1]^2-m[2]*g*l*cos(x[2]):

>

m[1] := 1: m[2] := .1: g := 9.81: l := .1: k := 100:

>

wp := x[1](0) = .5*l, (D(x[1]))(0) = 0, x[2](0) = (1/3)*Pi,

(D(x[2]))(0) = 0:

>

L := E-U:

>

lagrange(2, x, v, L):

>

dsolve({wp, row[1], row[2]}, {x[1](t), x[2](t)}, numeric):


Wyszukiwarka

Podobne podstrony:
lab 07 wyprowadzanie równań ruchu2
lab 07 wyprowadzanie równań ruchu
lab wyprowadzanie równań ruchu
Lab 07 Uwierzytelnianie v1 2
lab 07 projektowanie filtrow II
CMS Lab 07 Zend Framework
2011 lab 02, Uklady rownan liniowych
Lab 07
fiz lab 07
Clebsch wyprowadzenie równania zad 1
2011 lab 02 Uklady rownan liniowychid 27450
MP Lab 07 Filtracja, 9. WŁASNOŚCI FILTRACYJNE OŚRODKÓW POROWATYCH
lab 07
Linux asm lab 07 (Wprowadzenie do Linux'a i Asemblera )
FIZ 7 K2, fizyka lab, 07

więcej podobnych podstron