Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

General state-space representation of linear, time-invariant systems in Golang

License

NotificationsYou must be signed in to change notification settings

konimarti/lti

Repository files navigation

LicenseGoDocgoreportcard

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.

Usage

// 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))}

Example

See examplehere.

More information

For additional materials on state-space models for control theory, check out the following links:

  • A practical guide to state-space controlhere
  • State-space model impelmentation for Arduinoshere

Credits

This software package has been developed for and is in production atKalkfabrik Netstal.

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp