Strona 1 z 2

Równania

: 07 kwie 2011 10:30
autor: TomI85
Witam

Mam do rozwiązania takie równania różniczkowe. Czy jest możliwość obliczenia tego typu równań nieliniowych za pomocą Labview .

diα/dt= a1’+ a2’*iα + a3’*iD + a4’*iQ + a5’*if
diD/dt= a6’+ a7’*iα + a8’*iD + a9’*iQ + a10’*if
diQ/dt= a11’+ a12’*iα + a13’*iD + a14’*iQ + a15’*if
dif/dt= a16’+ a17’*iα + a18’*iD + a19’*iQ + a20’*if

a1’…..a20’- wektory zależne od czasu


Proszę o pomoc

Równania Różniczkowe

: 07 kwie 2011 14:30
autor: vugie
Mathematics->Differential Eqs->Ordinary Differential Equations-->ODE Solver

Równania Różniczkowe

: 08 kwie 2011 11:45
autor: TomI85
Dziekuję za podpowiedź już próbuje ......tylko chciałbym nadmienić że ia,if,iD oraz iQ muszę wyliczyć z tych rownań.

Re: Równania Różniczkowe

: 15 kwie 2011 08:04
autor: TomI85
Niestety nie mogę sobie poradzić z przykładami...czy są może jakieś przykłady poza (Find Examles). Ponieważ są bardzo złożone i nie jestem w stanie dojść do wniosku jak to jest zrobione tym bardziej że mają jeszcze własne SubVI. Proszę o pomoc

Równania Różniczkowe

: 15 kwie 2011 10:14
autor: vugie
Inne przykłady jakoś nie rzuciły mi się w oczy. Do oryginalnych nie zaglądałem, więc możliwe, że tylko mącą. Pod warunkiem, że zależność od czasu, o której piszesz nie jest jakaś zakręcona, to rozwiązanie tych równań będzie naprawdę proste. Zrobiłem przykład dla układu dwóch równań, jako czynniki zależne od czasu przyjąłem funkcje liniowe. Wygląda to mniej więcej tak:
ode example.png
Ograniczeniem jest to, że wszelkie nazwy (w tym przypadku liczonych funkcji i zmiennej czasowej) muszą wyglądać tak:
a, a0, ..., a9, b, b0, ..., b9, ...... z, z0, ..., z9

Re: Równania Różniczkowe

: 15 kwie 2011 11:21
autor: TomI85
u mnie a1-a20 to wektory funkcji cos i sin (po 1000 próbek). Natomiast jeśli chodzi o ODE formula String to wystarczy żeby obliczyć tego typu układ równań czy muszę do tego dodać ODE IV?. Do tego mam pytanie Ode RHS wybieram typu constant. Tylko jak doprowadzić do ODE RHS wektory od a1...a20 bo one sa zmienne w czasie.

Równania Różniczkowe

: 15 kwie 2011 13:39
autor: vugie
No to są dwa wyjścia:
1. Używasz "Formula is String" (jak w moim przykładzie), ale musisz wcześniej wyznaczyć amplitudy i fazy sinusoid (robi się to dosyć prosto za pomocą Nonlinear Curve Fit.vi). Zapisujesz to to we wzorze w formie a*sin(t-b), a pod a i b podstawiasz odpowiednie wyliczone wartości dla każdego wektora, ale już nie w stałej, tylko odpowiednio formatując stringi. Zalety: otrzymane równania zawierają funkcje ciągłe, więc algorytmy całkowania mniej marudzą, dobrze liczą pochodne i mniej się rozjeżdżają. Wady: troszkę gimnastyki, żeby wyznaczyć współczynniki, no i musisz być pewny, że są to sinusoidy, bo inaczej wynik będzie nieprzewidywalny. I może być ciut wolniej niż w drugiej opcji (ale to zależy od skomplikowania formuły, metody całkowania i wielu innych rzeczy).
2. Używasz "Formula is VI". Budujesz VI, które na każde żądanie algorytmu będzie obliczać F(X,t) (czyli prawe strony). Wektory a dostarczasz mu w formie variant (jako "data") i obliczając wartości prawych stron dla danego t wyinterpolowujesz z nich odpowiednie wartości. Zalety: bardziej elegancko, być może szybciej, w wektorach może siedzieć dowolny przebieg i zadziała poprawnie (przynajmniej z matematycznego punktu widzenia). Wady: twoje przebiegi są z natury nieciągłe, co może powodować kłopoty (zwłaszcza w metodach zmiennokrokowych). Ale przy odpowiedniej interpolacji powinno być ok. Jeżeli wektory a pochodzą z pomiarów, to powinieneś je wcześniej odszumić, żeby wyglądały w miarę gładko.

Ja bym obstawiał drugą metodę.
Jak się zdecydujesz, to mogę skrobnąć jakiś przykład (bo dla obu metod to mi się nie chce)

Re: Równania Różniczkowe

: 16 kwie 2011 23:28
autor: TomI85
spróbuje na razie sam sobie poradzić może się uda :) jak co będe pisać. I pokaże jak w tej chwili to wygląda. Ale jeśli będe prosić o przyklad to wydaje mi się 2 prostrzy

Re: Równania Różniczkowe

: 17 kwie 2011 15:16
autor: TomI85
niestety nie moge uruchomić zbudowanej aplikacji. Nie wiem siedzialem godznami nad tym i nic.W miejsce a1...a20 wpisalem wartości. Proszę powiedzieć jak się podpina graph do clustra.Ewentualnie proszę powiedzieć co źle robię. I chcialbym wyświetlić wszystkie przebiegi na 1ym wykresie ia,iD,iQ oraz iF.

Re: Równania Różniczkowe

: 17 kwie 2011 16:15
autor: PiDi
Witam
Uzupełnij tabelę X0, masz cztery zmienne, a nie dwie.
Zmień nazwy zmiennych w równaniach - są one nieprawidłowe. W helpie do ODE Solvera jest odnośnik do informacji o prawidłowym nazywaniu zmiennych (prawidłowe to np. "a", "i0", "z15", "q1", a nieprawidłowe to na przykład "ia","iD","iQ" oraz "iF"). Przy okazji możesz odpalić sobie jakiś przykład dotyczący tego bloczka i zobaczyć, jak to jest tam zrobione.
Pierwsze równanie masz źle przepisane, w jednym miejscu mnożenie zamiast dodawania ;)
Tabelę klastrów do XY grapha podpina się po prostu podpinając ją, żadnych bloczków pośredniczących nie trzeba.

Re: Równania Różniczkowe

: 17 kwie 2011 19:09
autor: TomI85
Przepraszam że tyle pytań zadaję ale chce sie nauczyć rozwiązywać tego typu rownania. A help w LV w niczym nie pomaga bynajmniej jesli chodzi o przykłady w związku z ODE są dla mnie niezrozumiałe. A wartości X0 wpisuję dowolne czy są one od czegoś uzależnione bo w chwili obecnej przepisałem od kolegi z przykładu wyżej

Re: Równania Różniczkowe

: 17 kwie 2011 22:39
autor: PiDi
Proponuję zacząć od podstaw i zajrzeć do jakiegoś skryptu/wykładu/książki na temat metod numerycznych. Wektor X0 to wektor warunków początkowych, których musi być tyle, ile jest zmiennych. Czyli u kolegi vugiego są dwa, u Ciebie muszą być cztery. Jakie to mają być wartości - zależy od konkretnego zadania, rzadziej "od kolegi powyżej" ;)

Re: Równania Różniczkowe

: 18 kwie 2011 10:30
autor: TomI85
Vugie Czy moge poprosić przykład jeśli chodzi o rozwiązanie nr.2 ?? Wktory a1...a20 właśnie muszę doprowadzić do danej formuły.Są one funkcjami sin,cos,sin?^2,cos^2.

Re: Równania Różniczkowe

: 18 kwie 2011 12:36
autor: vugie
Płoszę bałdzo. Oto przykład realizujący dokładnie te same równania co wcześniej, tyle że funkcje liniowe realizowane są jako znane a priori przebiegi czasowe (na potrzeby przykładu są generowane w pętli przed rozwiązaniem równania):
odeex2.png
i VI robiące za układ równań:
ODErhsex.png
Jak widać rozwiązanie jest identyczne. Schemat interpolacji jest tu dość nieefektywny, za to przejrzysty. No i interpolacja jest liniowa, a nie powinna w zasadzie.

Re: Równania Różniczkowe

: 02 maja 2011 13:51
autor: TomI85
Próbowalem mnóstwo razy przerabiać ten program i nic. Nie wiem jak doprowadzić wektory uzyskane w obliczeniach do ODE F(x,t). W example sa przykłady ale stałych. Proszę o pomoc