Rozwi?zanie - Obliczenie napi?? w w?z?ach dowol

Mar 10, 2010 5 Replies

Pewien czas temu założyłem wątek na grupie z pytaniem jak obliczyć potencjały w dowolnej sieci rezystorów. Problem był o tyle trudny, że sieć mogła być dowolna i zmienna w czasie. Problem ten miał być dostosowany do obliczeń praktycznych w programie symulacyjnym, więc powinien być prosty w implementacji.



Zdecydowałem się na iteracyjny algorytm, korzystający z prawa ciągłości strumienia. Kluczem jest sprawdzenie, czy w każdym węźle sieci tyle samo wpływa, co wypływa i obliczenie korekty. W kilku krokach osiąga się stabilne rozwiązanie.



Rozwiązanie nie daje dokładnego wyniku, natomiast jest bardzo łatwe do zaimplementowania. Algorytm zajął mi niewiele więcej jak 30 linijek ( w C ).



Napisałem takiego PDFka, jeśli ktoś ma ochotę, może sobie przeczytać. Opisane tam jest dokładniej "o co chodzi". Dwie metody zostały wspomniane w pdf, ale w praktyce bazują na tym samym.



formatting link


Użytkownik "Jan Górski" snipped-for-privacy@o2.pl napisał w

Jest to tez podstawa w metodzie potencjalów wezłowych. Tylko ona dalej odwraca macierz :-)

No coz, niedawno taki problemik mnie zainteresowal: mamy N punktow na plaszczyznie, i podane odleglosci miedzy nimi. Znalezc wspolrzedne punktow.

Podszedlem podobnie - rozrzucamy punkty losowo, liczymy odleglosci miedzy parami punktow - i zblizamy lub oddalamy od siebie w zaleznosci od wyniku. I tak do skutku.

Tez cos 30 linijek tak naprawde, widac jak dziala .. ale nauczka - potrafi sie "zakleszczyc" bledny uklad.

O rozwiazywaniu numerycznym w poprzednim wieku napisano mase, ale teraz przeczytac to i sformulowac wszystkie warunki to za duzo roboty :-)

J.

To zakleszczenie można łatwo wyeliminować... wystarczy określić maksymalną liczbę kroków, jeśli po niej wyniki nie mieszczą się w założonym przedziale błędów - algorytm wraca na początek, losuje od nowa i próbuje raz jeszcze... po X losowaniach stwierdza, że się poddaje... Jasne, można wymyślić bardziej zaawansowane metody, ale skoro główny algorytm ma 30 linijek, to jego "zabezpieczenie" nie może mieć więcej, jak 30 ;););)...

Użytkownik "Konop" snipped-for-privacy@gazeta.pl napisał

Alez moze, moze :-)

Dodatkowy problem - czy wystarczy praktyka autora ze algorytm w koncu oblicza poprawne wartosci, czy powinien przedstawic formalny dowod zbieznosci metody. Bo wcale nie musi byc zbiezna :-)

J.

Formalny dowód - prędzej czy później wylosuje wartości, które będą na starcie poprawne i algorytm wyjdzie od razu ;D... Nobla poproszę ;)...

Użytkownik "Konop" snipped-for-privacy@gazeta.pl napisał w wiadomości news:hn8r1h$b68$ snipped-for-privacy@inews.gazeta.pl...

ale czy to bedzie szybciej niz czas zycia ukladu Slonecznego ? :-)

Ewentualnie np czy wymagana ilosc bitow zmiennej pseudolosowej jest mniejsza niz ilosc elektronow we Wszechswiecie, choc akurat to latwo obalic, no i wydaje sie ze nie :-)

J.

P.S. do tego sie moga nadac algorytmy genetyczne.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required