Table of Contents
Teknisten järjestelmien mallintaminen ja simulointi ovat olennaisia tehtäviä insinöörianalyysissä. Python-kirjastojen kuten NumPy- ja SciPy-kirjastojen käyttö yksinkertaistaa näitä prosesseja tarjoamalla tehokkaita työkaluja numeeriseen laskentaan ja järjestelmäanalyysiin. Tässä artikkelissa esitellään perusmenetelmiä näiden kirjastojen mallintamiseen ja simulointiin.
Ympäristön luominen
Aloita asentamalla tarvittavat kirjastot, jos niitä ei ole vielä saatavilla. Käytä pip-komentoja asentaaksesi NumPy ja SciPy:
pip asennus numpy scipy
Mallintamistekniikkajärjestelmät
Engineering järjestelmät voidaan usein edustaa käyttäen matemaattisia malleja, kuten DIFFERENTIAL EQUATIONS tai siirto toimintoja. NumPy tarjoaa työkaluja luoda matriisit ja vektorit, kun taas SciPy tarjoaa toimintoja ratkaista yhtälöt ja simuloimalla järjestelmän vastauksia.
Esimerkiksi yksinkertainen massa-jousitus-vaimentaja järjestelmä voidaan mallintaa DIFFERENTIAL EQUATION:
m * x' + c * x' + k * x = 0
Simulointijärjestelmät
SciPy n integroitu moduuli mahdollistaa ratkaista DIFFERENTIAL EQUATIONS numeerisesti. "solve ivp" toimintoa käytetään yleisesti tähän tarkoitukseen. Tässä on esimerkki simuloimalla massa-jousi-vaimentimen järjestelmä:
Määrittele järjestelmä toiminnoksi:
tuontihöperö kuten np
alkaen scipy.integrate tuonti solven ivp
]def mass spring damper(t, y, c, k:
return [y[1], - (c / m) * y[1] - (k / m) * y[0]]
Aseta alkuolosuhteet ja parametrit:
] alku ehdot = [x0, v0]
]t span = [0, 10]
Soita ratkaisijalle:
]ratkaisu = solvent ivp(mass spring damper, t span, initial conditions, args=(c, k))[
Analysoidaan tuloksia
Simulaation jälkeen analysoi tulokset piirtämällä järjestelmän vaste ajan mittaan. Käytä Matplotlibin kaltaisia kirjastoja visualisointiin:
tuontimatplotlib.pyplot tolt
plt.plot(solution.t, solution.y[0])[]
plt.xlabel('Time (s)')
plt.ylabel('Sijainti')]
plt.show()