Chciałbym zrozumieć, w jaki sposób działa symulator Simulink. Czy używa mechanizmu dyskretnej symulacji zdarzeń (a następnie, w jaki sposób obsługiwany jest czas ciągły?)? Czy opiera się na statycznym generowaniu kodu opartym na cyklu? Lub?Jak działa symulacja silnika Simulink?
Odpowiedz
Przed pierwszym cyklu, to dane, kolejność wykonywania bloków (zaczynając od tych, które nie wymagają nakładów z innych bloków)
każdym cyklu oblicza moc każdego bloku oparty na wejściach i kodzie bloku. Kod każdego bloku jest statyczny, w większości istniał przed umieszczeniem modelu razem. (Nie wiem, czy opcje bloków faktycznie zmieniają kod, czy są oceniane tylko w czasie wykonywania, w każdej iteracji.)
Jeśli krok symulacji jest zmienny, to dla każdego cyklu oblicza rozmiar następnego kroku , opiera się głównie na tym, jak szybko zmieniają się zmienne modelu. Im szybciej się one zmieniają, tym mniejsza powinna być wielkość kroku, więc nie zakłada się, że krótko wysoka pochodna potrwa dłużej, niż powinna. (Nie znam szczegółów tego obliczenia, może ktoś inny może rzucić światło?) Tak więc, "ciągła" symulacja lub zmienny krok, oznacza tylko, że Simulink będzie wykształcał zgadywanie w każdym cyklu, jaki rozmiar kroku jest wystarczająco mały aby zachować błąd kwantyzacji czasu na akceptowalnym poziomie. Prawdziwie ciągła symulacja jest dosłownie niemożliwa w stosunku do całkowicie cyfrowego sprzętu, takiego jak procesor komputera.
Z pewnością nie jestem ekspertem, ale odpowiedź brzmi: "to zależy".
Simulink z pewnością wykorzystuje integrację numeryczną dla niektórych rzeczy, a dla niektórych integratorów otrzymasz dyskretne kroki czasowe. W przypadku innych integratorów zmiana czasu może zostać zmieniona podczas działania symulacji - jest to szczególnie ważne w przypadku symulacji "sztywnych" zestawów równań.
- 1. Jak działa piaskownica silnika aplikacji Google?
- 2. Konwertuj funkcję na blok Simulink
- 3. Import Sass z silnika szyn nie działa
- 4. Jak zmienić brzmienie silnika TTS?
- 5. grawitacja symulacja
- 6. Jak wyeksportować dane Simulink do obszaru roboczego podczas symulacji?
- 7. symulacja toczenia dwie kostki
- 8. Symulacja lokalizacji Xcode 6/iOS 8 nie działa
- 9. Symulacja błędów gniazda
- 10. Symulacja "include_once" dla jQuery
- 11. Symulacja przezroczystości koloru
- 12. Symulacja sesji interaktywnego pytona
- 13. Pisanie silnika rozpoznawania mowy
- 14. C# Symulacja VolumeMute naciśnij
- 15. Domyślna symulacja Xcode
- 16. Symulacja inżynierii genetycznej
- 17. Symulacja oprogramowania komputera kwantowego
- 18. Symulacja zapytań mysql
- 19. Symulacja C# jak zdarzeń w JavaScript
- 20. Android: symulacja długiego czasu pracy
- 21. Symulacja migawki ekranu "zrobione zdjęcie"
- 22. Modelowanie podłogi/podłoża dla robota kroczącego w Simulink
- 23. Rails.root z silnika
- 24. Levy Spacer symulacja w R
- 25. jade szablon silnika, jak korzystać z layout.jade?
- 26. Jak używać fabryk FactoryGirl od silnika
- 27. Symulacja problemów z blokowaniem tabeli
- 28. Symulacja kliknięcia łącza z JavaScript
- 29. Symulacja operatora trójskładnikowego w eliksiru
- 30. Symulacja interfejsu sieciowego w Pythonie?
Thx. Tak też myślałem. Przepraszamy za to dziwne pytanie, ale skąd masz te informacje? Jaki masz poziom zaufania? – JCLL
@JLCC Niewiele. Mam wieloletnie doświadczenie w korzystaniu z Simulink, ale informacje te pochodzą z wnioskowania i zdobywania wskazówek z dokumentacji (jest tam wiele wskazówek, ale nigdy nie znalazłem prostego opisu). Co daje mi największą pewność co do tego, co tu powiedziałem, to moja ograniczona wiedza na temat funkcji-s, które są blokami, których kod sam piszesz. Polecam je czytać, zapewniają wgląd w to, co się dzieje. To, co powiedziałem o algorytmie obliczania zmiennego kroku, to bardzo niskie zaufanie. Ale jestem pewien, że prawdziwa ciągła symulacja jest niemożliwa, chociaż nie można tego zrobić –