m (infobox string) |
|||
| Line 93: | Line 93: | ||
assert np.all(A[:n2, n2:] == A[0, n2] * np.eye(n2)) |
assert np.all(A[:n2, n2:] == A[0, n2] * np.eye(n2)) |
||
assert np.all(B[:n2] == 0) |
assert np.all(B[:n2] == 0) |
||
| − | assert np.all(C[:, |
+ | assert np.all(C[:, n2:] == 0) |
a = A[0, n2] |
a = A[0, n2] |
||
| Line 128: | Line 128: | ||
\begin{align} |
\begin{align} |
||
\ddot{x}(t) + E \dot{x}(t) + K x(t) &= B u(t) \\ |
\ddot{x}(t) + E \dot{x}(t) + K x(t) &= B u(t) \\ |
||
| − | y(t) &= C_p |
+ | y(t) &= C_p x(t) |
\end{align} |
\end{align} |
||
</math> |
</math> |
||
Latest revision as of 09:57, 5 June 2025
| Background | |
|---|---|
| Benchmark ID |
clampedBeam_n348m1q1 |
| Category |
slicot |
| System-Class |
LTI-FOS |
| Parameters | |
| nstates |
348
|
| ninputs |
1 |
| noutputs |
1 |
| nparameters |
0 |
| components |
A, B, C |
| Copyright | |
| License |
NA |
| Creator | |
| Editor | |
| Location | |
|
NA | |
Description: Clamped Beam Model
This benchmark models a cantilever beam, which is a beam clamped on one end. More details can be found in [1] and [2], [3].
For larger beam-type benchmarks see the linear 1d beam and electrostatic beam benchmarks.
Origin
This benchmark is part of the SLICOT Benchmark Examples for Model Reduction[3].
Data
The system matrices
,
,
are available from the SLICOT benchmarks page: beam.zip and are stored as MATLAB .mat file.
Here is Python code for loading the matrices (
is stored as a sparse matrix that is mostly full and
is stored as an array of 8-bit unsigned integers):
import numpy as np from scipy.io import loadmat mat = loadmat('beam.mat') A = mat['A'].toarray() B = mat['B'] C = mat['C'].astype(np.float64)
The
represents a second-order system
as
where
.
Here is Python code for checking the structure and extracting the second-order matrices:
n = 348 n2 = n // 2 assert np.all(A[:n2, :n2] == 0) assert np.all(A[:n2, n2:] == A[0, n2] * np.eye(n2)) assert np.all(B[:n2] == 0) assert np.all(C[:, n2:] == 0) a = A[0, n2] Eso = -A[n2:, n2:] Kso = -a * A[n2:, :n2] Bso = a * B[n2:] Cso = C[:, :n2]
Dimensions
First differential order
System structure:
System dimensions:
,
,
.
Second differential order
System structure:
- Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): \begin{align} \ddot{x}(t) + E \dot{x}(t) + K x(t) &= B u(t) \\ y(t) &= C_p x(t) \end{align}
System dimensions:
,
,
.
Citation
To cite this benchmark, use the following references:
- For the benchmark itself and its data:
- Niconet e.V., SLICOT - Subroutine Library in Systems and Control Theory, http://www.slicot.org
@MANUAL{slicot_beam,
title = {{SLICOT} - Subroutine Library in Systems and Control Theory},
organization = {Niconet e.V.}
address = {\url{http://www.slicot.org}},
key = {SLICOT}
}
- For the background on the benchmark:
@ARTICLE{morAntSG01,
author = {A.C. Antoulas, D.C. Sorensen and S. Gugercin},
title = {A survey of model reduction methods for large-scale systems},
journal = {Contemporary Mathematics},
volume = {280},
pages = {193--219},
year = {2001},
doi = {10.1090/conm/280}
}
References
- ↑ A.C. Antoulas, D.C. Sorensen and S. Gugercin. A survey of model reduction methods for large-scale systems. Contemporary Mathematics, 280: 193--219, 2001.
- ↑ Y. Chahlaoui, P. Van Dooren, A collection of Benchmark examples for model reduction of linear time invariant dynamical systems, Working Note 2002-2: 2002.
- ↑ 3.0 3.1 Y. Chahlaoui, P. Van Dooren, Benchmark Examples for Model Reduction of Linear Time-Invariant Dynamical Systems, Dimension Reduction of Large-Scale Systems, Lecture Notes in Computational Science and Engineering, vol 45: 379--392, 2005.


