Materiały na temat symulacji obwodów elektrycznych

0

No więc właśnie poszukuję materiałów na temat tego jak takie programy działają, bo chciałbym sobie sam napisać prosty program tego typu i proszę o pomoc, gdyż w googlach nic przydatnego znaleźć nie mogę. Znalazłem tu podobny temat sprzed trzech lat, niestety zamieszczone tam linki nie działają.

0

Ale jakich konkretnie informacji szukasz? Jak zrobić GUI, jakie będą potrzebne wzory czy co? Bo tak dość ogólnie ująłeś temat.

0

Chodzi mi tylko o wzory.

0
  1. Prawa Kirchoffa
  2. Rachunek macierzowy
  3. Rachunek różniczkowo-całkowy
  4. Transformata Laplace'a
  5. Metody numeryczne (ze szczególnym naciskiem na błędy zaokrągleń)
  6. Teoria kompilacji

chciałbym sobie sam napisać prosty program tego typu

Nie ma na to prostych "wzorów".

BTW: Źródła prostego (i dosyć naiwnego) symulatora masz tu: http://www.falstad.com/circuit/. On jest naprawdę jednym z najprostszych jakie się da zrobić.

0

Dzięki za odpowiedź, mógłbyś mi wytłumaczyć jeszcze, dlaczego wspomniany program jest "naiwny"?

0

Naiwny, bo zawiera masę uproszczeń w algorytmach, choćby stosuje algorytm o średniej złożoności O(n^3) zamiast O(n), gdzie n=liczba elementów, stosuje niestabilny numerycznie algorytm odwracania macierzy, no i kod jest tragicznie napisany (pliki po 4 tys. linii).

0

Krolik a gdzie jest kod do tego programu bo jakoś nie mogę go znaleźć :/ - czy on w ogóle jest dostępny?
Druga sprawa to piszesz, że algorytm do odwracania macierzy jest niestabilny a możesz napisać co to za algorytm (jak się nazywa - jak wiesz) i jaki jest stabilny?
Pozdrawiam i dzięki z góry za odpowiedź

P.s.
ja jestem początkujący więc proszę o wyrozumiałość :P

0

Masz tam link "the source" przecież o_O
http://www.falstad.com/circuit/src.zip

Co do algorytmu to nie patrzyłem w kod, ale pewnie używa tam Gaussa bez dodatkowego algorytmu szukania pivota, a jak wiadomo jeśli wybierzemy za małego pivota (w stosunku do pozostałych wartości macierzy) to się będą działy cuda ;]

0

Dokładniej redukcja Gaussa-Jordana. A problemem nie jest tak naprawdę wybieranie małego pivota, tylko wybieranie pivota obarczonego dużym błędem. Wybieranie odpowiednio dużego pivota to taka heurystyka, która zakłada, że skoro pivot duży, to pewnie błąd mały (i faktycznie w większości przypadków tak jest), niemniej nie jest to zawsze prawdą. Są macierze, gdzie ta heurystyka zawodzi, szczególnie jeśli wartości są mocno zróżnicowane. Np. taka macierz nieźle ilustruje problem: wybór największego elementu jako pivot prowadzi do popełnienia 1000x większego błędu zaokrągleń, niż można.

[1 1000 3]
[1 1002 2]
[0 1 8]

1 użytkowników online, w tym zalogowanych: 0, gości: 1