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

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

Reply to
Jan Górski
Loading thread data ...

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.

Reply to
J.F.

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 ;););)...

Reply to
Konop

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.

Reply to
J.F.

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ę ;)...

Reply to
Konop

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.

Reply to
J.F.

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.