benchflow-ai / state-space-linearization
Install for your project team
Run this command in your project directory to install the skill for your entire team:
mkdir -p .claude/skills/state-space-linearization && curl -L -o skill.zip "https://fastmcp.me/Skills/Download/1413" && unzip -o skill.zip -d .claude/skills/state-space-linearization && rm skill.zip
Project Skills
This skill will be saved in .claude/skills/state-space-linearization/ and checked into git. All team members will have access to it automatically.
Important: Please verify the skill by reviewing its instructions before using it.
Linearizing nonlinear dynamics around operating points for control design.
0 views
0 installs
Skill Content
---
name: state-space-linearization
description: Linearizing nonlinear dynamics around operating points for control design.
---
# State-Space Linearization
## Jacobian Computation
For nonlinear dynamics dx/dt = f(x, u), linearize around (x_ref, u_ref):
```
A = ∂f/∂x |_{x_ref} (n×n matrix)
B = ∂f/∂u |_{x_ref} (n×m matrix)
```
## Discretization
For discrete-time control with timestep dt:
**Euler method** (simple, first-order accurate):
```python
A_d = I + dt * A_c
B_d = dt * B_c
```
**Matrix exponential** (exact for LTI):
```python
A_d = expm(A_c * dt)
B_d = inv(A_c) @ (A_d - I) @ B_c
```
## For R2R Systems
The Jacobian depends on current tensions and velocities. Key partial derivatives:
```python
∂(dT_i/dt)/∂T_i = -v_i / L
∂(dT_i/dt)/∂v_i = EA/L - T_i/L
∂(dv_i/dt)/∂T_i = -R²/J
∂(dv_i/dt)/∂u_i = R/J
```
## Tips
- Linearize around the reference operating point
- Update linearization if operating point changes significantly
- Check stability via eigenvalue analysis