- Notifications
You must be signed in to change notification settings - Fork5
General state-space representation of linear, time-invariant systems in Golang
License
NotificationsYou must be signed in to change notification settings
konimarti/lti
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
go get github.com/konimarti/lti
State-space representation and estimation of linear, time-invariant systems for control theory in Golang
$$x'(t) = A * x(t) + B * u(t)$$ and
$$y(t) = C * x(t) + D * u(t)$$ Can be used as an input for aKalman filter.
// define time-continuous linear systemsystem,err:= lti.NewSystem(...)// check system propertiesfmt.Println("Observable=",system.MustObservable())fmt.Println("Controllable=",system.MustControllable())// define initial state (x) and control (u) vectors...// get derivative vector for new statefmt.Println(system.Derivative(x,u))// get output vector for new statefmt.Println(system.Response(x,u))// discretize LTI system and propagate state by time step dtdiscrete,err:=system.Discretize(dt)fmt.Println("x(k+1)=",discrete.Predict(x,u))}
See examplehere.
For additional materials on state-space models for control theory, check out the following links:
This software package has been developed for and is in production atKalkfabrik Netstal.
About
General state-space representation of linear, time-invariant systems in Golang
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
No packages published
Uh oh!
There was an error while loading.Please reload this page.
Contributors2
Uh oh!
There was an error while loading.Please reload this page.