-
1. Data: 2010-03-10 17:45:15
Temat: Rozwiązanie - Obliczenie napięć w węzłach dowolnej sieci rezystorów
Od: Jan Górski <g...@o...pl>
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.
http://gdlpogoda.republika.pl/works/obliczaniePotenc
jalowSieci.pdf
-
2. Data: 2010-03-10 17:56:48
Temat: Re: Rozwiązanie - Obliczenie napięć w węzłach dowolnej sieci rezystorów
Od: "J.F." <j...@p...onet.pl>
Użytkownik "Jan Górski" <g...@o...pl> napisał w
>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,
>[...]
>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
Jest to tez podstawa w metodzie potencjalów wezłowych.
Tylko ona dalej odwraca macierz :-)
>i obliczenie korekty. W kilku krokach osiąga się stabilne
>rozwiązanie.
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.
-
3. Data: 2010-03-10 18:35:58
Temat: Re: Rozwiązanie - Obliczenie napięć w węzłach dowolnej sieci rezystorów
Od: Konop <k...@g...pl>
> 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.
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 ;););)...
--
Pozdrawiam
Konop
-
4. Data: 2010-03-10 18:41:01
Temat: Re: Rozwiązanie - Obliczenie napięć w węzłach dowolnej sieci rezystorów
Od: "J.F." <j...@p...onet.pl>
Użytkownik "Konop" <k...@g...pl> napisał
>> Podszedlem podobnie - [...] .. ale nauczka - potrafi sie
>> "zakleszczyc" bledny uklad.
>
> 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 ;););)...
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.
-
5. Data: 2010-03-10 19:13:54
Temat: Re: Rozwiązanie - Obliczenie napięć w węzłach dowolnej sieci rezystorów
Od: Konop <k...@g...pl>
> 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 :-)
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ę ;)...
--
Pozdrawiam
Konop
-
6. Data: 2010-03-11 09:42:37
Temat: Re: Rozwiązanie - Obliczenie napięć w węzłach dowolnej sieci rezystorów
Od: "J.F." <j...@p...onet.pl>
Użytkownik "Konop" <k...@g...pl> napisał w wiadomości
news:hn8r1h$b68$1@inews.gazeta.pl...
>> 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 :-)
>
> 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ę ;)...
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.