> restart: > with(LinearAlgebra): with(plots): > #sortowanie proc > > #Zad1 > E:=1/2*m*add(v[i]^2,i=1..5): > U:=1/2*k*add((x[i+1]-x[i])^2,i=1..4): > > #Zad2 > n:=5: > K:=Matrix(n): > M:=Matrix(n): > for i to n do for j to n do K[i,j]:=diff(U,x[i],x[j]); M[i,j]:=diff(E,v[i],v[j]); end do; end do; > K: > M: > > #Zad3 > A:=1/M.K: > > #Zad4 > m:=1: k:=100: > alpha,V:=evalf(Eigenvectors(A)): > > #Zad5 > alpha,V:=sortowanie(alpha,V): > > #Zad6 > for i from 1 to n do w[i]:=V[1..n,i]/(sqrt((V[1..n,i]^%T).M.V[1..n,i])): end do: > > #Zad7 > for i from 1 to n do omega[i]:=sqrt(alpha[i]) end do: > > #Zad8 > x0:=Vector(5,[0,0,0,0,0]): > v0:=Vector(5,[10,0,0,0,0]): > > #Zad9 > x:=(Transpose(w[1]).M.(x0+v0*t))*w[1]+add((Transpose(w[1]).M.(x0*cos(om ega[i]*t)+v0*sin(omega[i]*t)/omega[i]))*w[i], i=2..5):