Mi piacerebbe capire come funziona il motore di simulazione Simulink. Utilizza un mecanismo di simulazione di eventi discreti (allora come viene gestito il tempo continuo?)? Si basa su una generazione di codice basata su cicli statici? O ?Come funziona il motore di simulazione Simulink?
risposta
Prima del primo ciclo, si capisce l'ordine di esecuzione dei blocchi (a partire da quelli che non richiedono input da altri blocchi)
Ogni ciclo, calcola l'uscita di ciascun blocco basato sugli ingressi e sul codice del blocco. Il codice di ogni blocco è statico, esisteva principalmente prima di mettere insieme il modello. (Non so se le opzioni di blocco cambiano effettivamente il codice o se vengono valutate solo in fase di esecuzione, ad ogni iterazione.)
Se la fase di simulazione è variabile, di ogni ciclo calcola la dimensione del passaggio successivo , basato principalmente sulla velocità con cui le variabili del modello stanno cambiando. Più velocemente cambiano, più piccola deve essere la dimensione del passo, quindi non si presume che un derivato brevemente alto duri molto più a lungo di quanto dovrebbe. (Non conosco i dettagli di questo calcolo, forse qualcun altro può far luce?) Quindi, la simulazione "continua", o passo variabile, significa solo che Simulink farà un'ipotesi calcolata su ogni ciclo di dimensioni del gradino sufficientemente piccolo per mantenere l'errore di quantizzazione del tempo a un livello accettabile. Una simulazione veramente continua è letteralmente impossibile su un hardware completamente digitale, come il processore del tuo computer.
Non sono certo un esperto, ma è probabile che la risposta sia "dipende".
Simulink utilizza sicuramente l'integrazione numerica per alcune cose, e per alcuni integratori ci si ritroverà con passaggi temporali discreti. Per altri integratori, il time-step può essere modificato mentre la simulazione è in esecuzione - questo è particolarmente importante per simulare insiemi di equazioni "rigide".
- 1. motore 3D per la simulazione
- 2. Come esportare i dati simulink nello spazio di lavoro durante la simulazione?
- 3. Implementazione di funzioni MATLAB personalizzate in Simulink
- 4. Come funziona il motore di ricerca di Android Market?
- 5. Come funziona la dinamica di un gioco di simulazione sportiva?
- 6. Come funziona la sandbox del motore di app di google?
- 7. Converti funzione in blocco Simulink
- 8. Simulazione fisica iniziale
- 9. Algoritmo di simulazione/simulazione di fulmine?
- 10. Come utilizzare il middleware da un motore in un motore
- 11. Test unità/integrazione continua con Simulink/Stateflow
- 12. Motore di regole leggere in Javascript
- 13. Simulazione di un BlueScreen
- 14. jQuery motore di convalida modulo non funziona correttamente su uguali
- 15. simulazione di fabbrica
- 16. metodo protetto di simulazione
- 17. Come limitare il traffico di rete per la simulazione ambientale?
- 18. InnoDB funziona, mostrando ancora "Il server database non supporta il messaggio del motore di archiviazione InnoDB"
- 19. Crea blocco Simulink per libreria Arduino come liquidcrystal
- 20. La simulazione posizione Xcode 6/iOS 8 non funziona
- 21. Simulazione hardware
- 22. Intellisense motore di visualizzazione a rasoio non funziona VS 2010
- 23. Rails monta il motore e sovrascrive un altro motore
- 24. Miglioramento dell'algoritmo di simulazione calcistica
- 25. Come modificare il tipo di motore di archiviazione su MySQL?
- 26. Come posso configurare il motore di backend predefinito di openssl?
- 27. Come rilevare il motore di ricerca predefinito di Chrome
- 28. Quadro di simulazione di Microsoft?
- 29. Controllo della versione di Matlab Simulink con più sviluppatori
- 30. Buon modello di simulazione PHP
Thx. Questo è quello che stavo pensando anche. Ci scusiamo per questa strana domanda, ma come hai ottenuto queste informazioni? Che livello di confidenza hai? – JCLL
@ JLCC Non molto. Ho anni di esperienza nell'uso di Simulink, ma le informazioni derivano da inferire e ottenere indizi dalla documentazione (ci sono molti indizi lì, ma non ho mai trovato una descrizione semplice). Ciò che mi dà più fiducia in ciò che ho detto qui è la mia conoscenza limitata delle funzioni S, che sono blocchi il cui codice scrivi tu stesso. Raccomando di leggerli, forniscono informazioni su cosa sta succedendo. Quello che ho detto sull'algoritmo del calcolo a passo variabile è una fiducia molto bassa. Ma sono sicuro che la simulazione veramente continua è impossibile, anche se non può essere rifatta –