Uklad rownan
Uklad rownan
Witam serdecznie (po raz pierwszy i prawdopodobnie nie ostatni ;) ),
jestem nowym uzytkownikiem LabView i nie potrafie sobie poradzic z pewnym problemem, mianowicie obliczeniem ukladu 6 rownan. Jest to uklad, w ktorym znamy odleglosci pomiedzy 4 punktami i wspolrzedne jednego z nich. Ma on sluzyc do wyznaczenia wspolrzednych punktow B, C oraz D. Ponizej zalozenia i uklad.
A(XA, YA, ZA) = (0,0,0)
B(XB, YB, ZB)
C(XC, YC, ZC)
D(XD, YD, ZD)
sqrt((XB - XA)^2 + (YB - YA)^2 + (ZB - ZA)^2) = 5
sqrt((XC - XA)^2 + (YC - YA)^2 + (ZC - ZA)^2) = 5
sqrt((XD - XA)^2 + (YD - YA)^2 + (ZD - ZA)^2) = 5
sqrt((XC - XB)^2 + (YC - YB)^2 + (ZC - ZB)^2) = 7.071
sqrt((XD - XB)^2 + (YD - YB)^2 + (ZD - ZB)^2) = 7.071
sqrt((XD - XC)^2 + (YD - YC)^2 + (ZD - ZC)^2) = 7.071
Z gory dziekuje za kazda pomoc
Pozdrawiam
jestem nowym uzytkownikiem LabView i nie potrafie sobie poradzic z pewnym problemem, mianowicie obliczeniem ukladu 6 rownan. Jest to uklad, w ktorym znamy odleglosci pomiedzy 4 punktami i wspolrzedne jednego z nich. Ma on sluzyc do wyznaczenia wspolrzednych punktow B, C oraz D. Ponizej zalozenia i uklad.
A(XA, YA, ZA) = (0,0,0)
B(XB, YB, ZB)
C(XC, YC, ZC)
D(XD, YD, ZD)
sqrt((XB - XA)^2 + (YB - YA)^2 + (ZB - ZA)^2) = 5
sqrt((XC - XA)^2 + (YC - YA)^2 + (ZC - ZA)^2) = 5
sqrt((XD - XA)^2 + (YD - YA)^2 + (ZD - ZA)^2) = 5
sqrt((XC - XB)^2 + (YC - YB)^2 + (ZC - ZB)^2) = 7.071
sqrt((XD - XB)^2 + (YD - YB)^2 + (ZD - ZB)^2) = 7.071
sqrt((XD - XC)^2 + (YD - YC)^2 + (ZD - ZC)^2) = 7.071
Z gory dziekuje za kazda pomoc
Pozdrawiam
Re: Uklad rownan
Chyba nie da się tego rozwiązać jednoznacznie, bo mamy 6 równań i 9 niewiadomych.
Uklad rownan
Hm, tak tez mi sie wydawalo, tylko nie wiem dlaczego w takim razie dostalem takie wytyczne
No nic - pokombinuje. Pomijajac ten drobny zgrzycik, moglbym sie dowiedziec w jaki sposob rozwiazuje sie uklady rownan w LabView? Jest jakis specjalny VI czy trzeba kombinowac na piechote?
No nic - pokombinuje. Pomijajac ten drobny zgrzycik, moglbym sie dowiedziec w jaki sposob rozwiazuje sie uklady rownan w LabView? Jest jakis specjalny VI czy trzeba kombinowac na piechote?
Uklad rownan
Ten specjalny *.Vi nazywa się "formula node" ;)
- Nowszy
- Posty: 504
- Rejestracja: 30 maja 2008 08:33
- Wersja środowiska: LabVIEW 2011
- Lokalizacja: Katowice
- Kontakt:
Uklad rownan
Pozdrawiam, Maciek Antonik
Edu4Industry
Edu4Industry
Re: Uklad rownan
Rozwiązanie typu 'napisz sobie sam' ? ;) A tak na serio, to idąc tą drogą, muszę poprzekształcać równania tak, żeby po lewej stronie pozostała tylko odpowiednia, szukana zmienna, prawda? :>rufio pisze:Ten specjalny *.Vi nazywa się "formula node" ;)
Hmm, jak te równania na macierze przekształcić jeszcze pomysłu nie mam, ale od czego jest internet ;)Nowszy pisze:Hmm.. a może Solve Linear Equations.vi? ;)
http://zone.ni.com/reference/en-XX/help ... equations/
Dziękuję za pomoc
- Nowszy
- Posty: 504
- Rejestracja: 30 maja 2008 08:33
- Wersja środowiska: LabVIEW 2011
- Lokalizacja: Katowice
- Kontakt:
Uklad rownan
O krutza, dopiero teraz zauważyłem, że tam masz równania nieliniowe (pierwiastki i kwadraty), więc ta opcja odpada - sorry za zamieszanie
Pozdrawiam, Maciek Antonik
Edu4Industry
Edu4Industry
Uklad rownan
Nic nie szkodzi, i tak potrzebuję tego bloczka do dalszej części zadania ;) I z tym wiąże się kolejne moje pytanie: da się jakoś podpiąć parametry o nieznanych wartościach (zmienne?) pod macierze, tzn. żeby niewiadoma była jedną z wartości macierzy? W jakiej postaci w ogóle w LabView występują te niewiadome zmienne? Żeby rozjaśnić mój problem dam przykład: muszę obliczyć wartości elementów macierzy A
A = [a11 a12 a13; a21 a22 a23; a31 a32 a33]
w równaniu:
[X-X0; Y-Y0; Z-Z0] = λ * A * [x;y;-c]
przy znanych X, Y, Z, λ, x, y, c.
W przypadku C (czy jakiegoś innego języka programowania) zainicjowałoby się np float a11 i później wstawiło w tablicę pod (0,0) i byłoby wszystko, a jak taką operację wykonać w LV?
Domyślam się, że w tym przypadku właśnie należy zastosować wspomniany przez Ciebie Solve Linear Equations.vi tylko co do niego dołożyć?
Jak przy okazji podpiąć pod pierwszą macierz z równania niewiadome X0, Y0, Z0?
A = [a11 a12 a13; a21 a22 a23; a31 a32 a33]
w równaniu:
[X-X0; Y-Y0; Z-Z0] = λ * A * [x;y;-c]
przy znanych X, Y, Z, λ, x, y, c.
W przypadku C (czy jakiegoś innego języka programowania) zainicjowałoby się np float a11 i później wstawiło w tablicę pod (0,0) i byłoby wszystko, a jak taką operację wykonać w LV?
Domyślam się, że w tym przypadku właśnie należy zastosować wspomniany przez Ciebie Solve Linear Equations.vi tylko co do niego dołożyć?
Jak przy okazji podpiąć pod pierwszą macierz z równania niewiadome X0, Y0, Z0?
- spec.kolombo
- Posty: 126
- Rejestracja: 20 sie 2008 06:33
- Wersja środowiska: LabVIEW 2009
- Lokalizacja: Gdynia
- Kontakt:
Uklad rownan
Co do układu równań... to czy w zadaniu przypadkiem nie było napisane że podane punkty tworzą sześcian? bo by nawet pasowało z odległościami...i dałoby się wtedy rozwiązać.
Lepiej być bogatym i zdrowym, niż biednym i chorym.
Spec Kolombo
Spec Kolombo
Uklad rownan
Odległości są dowolne, ale znane, dlatego ja wstawiłem w równania odległości jak gdyby był to sześcian o krawędzi 5, żeby w prosty sposób stwierdzić czy rozwiązanie jest poprawne. W rzeczywistości musi to działać dla dowolnego przypadku.
-
- Posty: 383
- Rejestracja: 17 lis 2006 00:00
- Wersja środowiska: LabVIEW 2009
- Lokalizacja: Warszawa
Uklad rownan
Polecam bloczki "Nonlinear System Solver" i "Nonlinear System Single Solution" z palety Mathematics
A w równaniach polecam zrezygnować z pierwiastków - w końcu jak odległość jest stała, to jej kwadrat też.
A w równaniach polecam zrezygnować z pierwiastków - w końcu jak odległość jest stała, to jej kwadrat też.
Uklad rownan
O, te bloczki wydają się być idealne, dzięki wielkie wszystkim! Teraz pozostaje kombinować...
Uklad rownan
Witam ponownie, ponownie mam pytanie do układów równań i Nonlinear System Single Solution.vi. Włożyłem tego vija do całkiem zagmatwanej struktury (kilka sekwencji w kilku pętelkach, jeszcze po drodze napatacza się jakiś case), sprawdziłem jednak, że doprowadzane są do niego poprawne stringi z równaniami (za każdym razem wyświetlam tablicę z nimi), zwraca on jednak same zera jakby coś do niego nie dochodziło. W pracy krokowej wszystko działa jak należy, podczas normalnej pracy jednak "załapuje" dopiero po trzech zmianach układu równań. Ma może ktoś pomysł dlaczego tak się dzieje? Kolejny vi może przecież się "załączyć" dopiero jak dostanie wszystkie dane, a tu jednak jakby czegoś brakowało. Dodam, że kiedy dokładnie taki sam układ równań nie jest w środku żadnej struktury liczy wszystko jak należy. Wskazywałoby to, że czegoś nie dostaje, dlaczego zatem działa poprawnie podczas pracy krokowej i na front panelu wyświetlane są poprawne równania?
- Pitol
- Moderator
- Posty: 984
- Rejestracja: 19 lip 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Kraków
Re: Uklad rownan
Ciężko wróżyć z fusów. Wrzuć VI albo zrzut ekranu to będzie nam łatwiej...
Uklad rownan
Albo ja albo mój komp miał zły dzień. Nie wiem jak się to stało, ale dzisiaj liczy bez zająknięcia Tak czy inaczej - dzięki za zainteresowanie.