Autor: A. Aaniewski-Wołłk Creative Commons License:
MetNum: Lab 5
Attribution Share Alike
Metody Numeryczne: Instrukcja 5 Na podstawie tego wzoru możemy skonstruować prostą iterację:
Całkowanie równania ruchu
p = S-1MĆ
1
Z poprzednich zajęć wiemy, że równanie ruchu wygląda następująco:
Ć = p
pT Mp
Mć = F - Sx
W pierwszym etapie liczymy wynik S-1MĆ, a następnie go normalizujemy tak
Policzmy rozwiązanie ogólne równania jednorodnego . Tzn: jakie funkcje x =
by ĆT MĆ = 1. Jeśli odpowiednio długo będziemy wykonywać taką iterację,
f(t)Ć spełniają równanie bez sił:
wektor własny odpowiadający największej wartości własnej zacznie dominować.
Ostatecznie Ć będzie składać się tylko z tego wektora, a pT Mp zbiegnie do
Mć = -Sx
największej .
¨
f(t)MĆ = -f(t)SĆ
Zadanie 1 Znajdz wektor Ć odpowiadający największej wartości własnej wg.
Jeśli znajdziemy takie Ć, że:
następującego schematu iteracji:
MĆ = SĆ (1)
" Oblicz b = M · phi
to otrzymamy:
" Rozwiąż ukÅ‚ad S · p = b
1
¨
f(t) = -f(t) Ò! f(t) = sin t "
" Oblicz Mp = M · p
"
1
"
" Oblicz phi = p
To oznacza, że sin(t )Ć jest oscylującym w czasie rozwiązaniem naszego rów-
p,Mp
nania dynamiki. Takie rozwiązanie nazywamy drganiem własnym układu. Rów-
Zadanie 2 Pokaż przemieszczenie Ć przy pomocy funkcjidraw. Zrób animację
nanie (1) nazywamy równaniem własnym.
tego przemieszczenia przemnożonego przez sin t.
Dziś skupimy się na znalezieniu zestawu wektorów Ć i wartości dla naszej
belki
Zadanie 3 (Dla ciekawych) By otrzymać bardziej płynną animację dodaj:
static int pg=0;
1 Zacznijmy od największej setvisualpage(pg % 2);
na początku funkcjianimatewwinbgi2.cpp. Zaś na końcu tej funkcji (przed
Zaczniemy od największej . Dobrze zauważyć, że największa wartość własna
return):
odpowiada najniższej częstotliwości. Są to drgania własne najmniej tłumione
pg++;
w fizycznym układzie i niosące zazwyczaj najwięcej energii w inżynierskich
setactivepage(pg % 2);
zastosowaniach.
Będziemy znajdywać nasz wektor Ć iteracyjnie. Zauważmy, że wektor Ć może
być dowolnej długości. To znaczy: jeśli wektor Ć spełnia równanie (1), to także
2 A teraz następne
2Ć go spełnia. Możemy więc arbitralnie wybrać skale wektora Ć. Przyjmijmy,
1
że ĆT MĆ = 1, tzn: niesie on energię kinetyczną .
2
Chcemy by wektory własne (drgania własne) były niezależne w energii kine-
Pomnóżmy równanie (1) przez S-1. Otrzymamy:
tycznej. To znaczy, żeby energia kinetyczna ich sumy była równa sumie ich
1
Ć = S-1MĆ
Wydział Mechaniczny Energetyki i Lotnictwa, Politechnika Warszawska 1
Autor: A. Aaniewski-Wołłk Creative Commons License:
MetNum: Lab 5
Attribution Share Alike
energii kinetycznych ( Ek(Ć0 + Ć1) = Ek(Ć0) + Ek(Ć1) ). To w połączeniu z
naszą skalą daje nam bardzo ważny warunek:
ĆT MĆj = 0 dla i = j
i
ĆT MĆj = 1 dla i = j
i
Mówiąc językiem numeryki: wektory te są do siebie ortonormalne względem
macierzy M. Takiej ortonormalizacji możemy dokonać znaną z Analizy Mate-
matycznej metodÄ… Grama-Schmidta:
Ortonormalizacja Grama-Schmidta
Dla każdego i od 1 do n wykonaj:
" dla każdego i od 1 do i - 1 wykonaj (dla i = 1
nic nie rób):
Oblicz Ći = Ći - Ćj Ćj, MĆi
1
"
" Oblicz Ći = Ći
Ći,MĆi
Po tej procedurze wszystkie wektory Ć są ortogonalne i długości 1 względem
macierzy M.
Zadanie 4 Znajdz wektory Ći odpowiadające 10ciu największym wartościom
własnym wg. następującego schematu iteracji:
" Oblicz b = M · phij
" Rozwiąż ukÅ‚ad S · pj = b
" Przepisz phii = pi
" Wykonaj ortonormalizację G-S wektorów phi
Zadanie 5 Zrób animację dla kolejnych przemieszczeń Ći przemnożonych
przez sin t.
Zadanie 6 Wyznacz odpowiednie i
Wydział Mechaniczny Energetyki i Lotnictwa, Politechnika Warszawska 2
Wyszukiwarka
Podobne podstrony:
lab6Mathcad lab6 2BD 1st 2 4 lab6 tresc 1 1lab6Lab6 2 SW2 lab622010 LAB6 Sprawozdaniesr lab6lab6 ZALAB6 csproj FileListAbsolutelab6 doclab6lab6 READMEwięcej podobnych podstron