- 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
Stars
Watchers
Forks
Packages0
No packages published