Uklad rownan

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
Awatar użytkownika
m3wm3
Posty: 22
Rejestracja: 10 gru 2009 22:33
Wersja środowiska: LabVIEW 8.6

Uklad rownan

Post autor: m3wm3 »

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 :)
Awatar użytkownika
luke87a
Posty: 13
Rejestracja: 06 paź 2009 14:12
Wersja środowiska: LabVIEW 7.1

Re: Uklad rownan

Post autor: luke87a »

Chyba nie da się tego rozwiązać jednoznacznie, bo mamy 6 równań i 9 niewiadomych.
Awatar użytkownika
m3wm3
Posty: 22
Rejestracja: 10 gru 2009 22:33
Wersja środowiska: LabVIEW 8.6

Uklad rownan

Post autor: m3wm3 »

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?
Awatar użytkownika
rufio
Posty: 36
Rejestracja: 11 kwie 2005 00:00
Lokalizacja: Poznań

Uklad rownan

Post autor: rufio »

Ten specjalny *.Vi nazywa się "formula node" ;)
Awatar użytkownika
Nowszy
Posty: 504
Rejestracja: 30 maja 2008 08:33
Wersja środowiska: LabVIEW 2011
Lokalizacja: Katowice
Kontakt:

Uklad rownan

Post autor: Nowszy »

Hmm.. a może Solve Linear Equations.vi? ;)

http://zone.ni.com/reference/en-XX/help ... equations/
Pozdrawiam, Maciek Antonik
Edu4Industry
Awatar użytkownika
m3wm3
Posty: 22
Rejestracja: 10 gru 2009 22:33
Wersja środowiska: LabVIEW 8.6

Re: Uklad rownan

Post autor: m3wm3 »

rufio pisze:Ten specjalny *.Vi nazywa się "formula node" ;)
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? :>
Nowszy pisze:Hmm.. a może Solve Linear Equations.vi? ;)

http://zone.ni.com/reference/en-XX/help ... equations/
Hmm, jak te równania na macierze przekształcić jeszcze pomysłu nie mam, ale od czego jest internet ;)

Dziękuję za pomoc :)
Awatar użytkownika
Nowszy
Posty: 504
Rejestracja: 30 maja 2008 08:33
Wersja środowiska: LabVIEW 2011
Lokalizacja: Katowice
Kontakt:

Uklad rownan

Post autor: Nowszy »

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
Awatar użytkownika
m3wm3
Posty: 22
Rejestracja: 10 gru 2009 22:33
Wersja środowiska: LabVIEW 8.6

Uklad rownan

Post autor: m3wm3 »

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?
Awatar użytkownika
spec.kolombo
Posty: 126
Rejestracja: 20 sie 2008 06:33
Wersja środowiska: LabVIEW 2009
Lokalizacja: Gdynia
Kontakt:

Uklad rownan

Post autor: spec.kolombo »

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
Awatar użytkownika
m3wm3
Posty: 22
Rejestracja: 10 gru 2009 22:33
Wersja środowiska: LabVIEW 8.6

Uklad rownan

Post autor: m3wm3 »

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.
vugie
Posty: 383
Rejestracja: 17 lis 2006 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Warszawa

Uklad rownan

Post autor: vugie »

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ż.
Awatar użytkownika
m3wm3
Posty: 22
Rejestracja: 10 gru 2009 22:33
Wersja środowiska: LabVIEW 8.6

Uklad rownan

Post autor: m3wm3 »

O, te bloczki wydają się być idealne, dzięki wielkie wszystkim! Teraz pozostaje kombinować...
Awatar użytkownika
m3wm3
Posty: 22
Rejestracja: 10 gru 2009 22:33
Wersja środowiska: LabVIEW 8.6

Uklad rownan

Post autor: m3wm3 »

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?
Awatar użytkownika
Pitol
Moderator
Posty: 984
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Re: Uklad rownan

Post autor: Pitol »

Ciężko wróżyć z fusów. Wrzuć VI albo zrzut ekranu to będzie nam łatwiej...
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
Awatar użytkownika
m3wm3
Posty: 22
Rejestracja: 10 gru 2009 22:33
Wersja środowiska: LabVIEW 8.6

Uklad rownan

Post autor: m3wm3 »

Albo ja albo mój komp miał zły dzień. Nie wiem jak się to stało, ale dzisiaj liczy bez zająknięcia :D Tak czy inaczej - dzięki za zainteresowanie.
ODPOWIEDZ