Learn R Programming

control (version 0.2.5)

care: Continuous-time Algebraic Riccati Equation solution

Description

Computes the unique solution to the continuous-time Riccati equation:

A'* X + X*A - X * B * R^-1 * B' * X + Q'*Q = 0

Usage

care(A, B, Q, R = 1)

Arguments

A

State-matrix of a state-space system

B

Input-matrix of a state-space system

Q

Symmetric output-matrix of a state-space system

R

Single number

Value

Returns the stabilizing matrix, gain and closed-loop eigenvalues in a list.

Details

X <- care(A, B, Q, R) returns the stablizing solution (if it exists) to the continuous-time Riccati equation.

The care function also returns the gain matrix, G and a vector, L of the closed-loop eigenvalues, where

G = R^-1 B'X*E

L = eig(a-b*g)

Examples

Run this code
# NOT RUN {
a <- matrix(c(-3, 2,1, 1), byrow = TRUE, ncol = 2)
b <- matrix(c(0, 1), nrow = 2)
c <- matrix(c(1, -1), ncol = 2)
q <- t(c)%*%c
r <- 3
care(a, b, q, r)
# }

Run the code above in your browser using DataLab