Skip to content

Commit

Permalink
Merge pull request #91 from JuliaControl/balance_named
Browse files Browse the repository at this point in the history
add method `balance_statespace(::NamedStateSpace)`
  • Loading branch information
baggepinnen authored May 16, 2023
2 parents 365399a + ab218f1 commit 381c2a2
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 4 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
fail-fast: false
matrix:
version:
- '1.6'
- '1.7'
os:
- ubuntu-latest
arch:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
- uses: actions/checkout@v2
- uses: julia-actions/setup-julia@latest
with:
version: '1.7'
version: '1.9'
- name: Install dependencies
run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()'
- name: Build and deploy
Expand Down
2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Optim = "1.5"
Plots = "1"
RecipesBase = "1"
UnPack = "1.0"
julia = "1.6"
julia = "1.7"

[extras]
FiniteDiff = "6a86dc24-6348-571c-b903-95158fe2bd41"
Expand Down
4 changes: 3 additions & 1 deletion src/named_systems2.jl
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,8 @@ function named_ss(sys::AbstractStateSpace, name;
named_ss(sys; x, y, u, name=string(name))
end

named_ss(G::LTISystem, args...; kwargs...) = named_ss(ss(G), args...; kwargs...)

ControlSystemsBase.ss(sys::NamedStateSpace) = ss(sys.sys)

iterable(s::Symbol) = [s]
Expand Down Expand Up @@ -717,7 +719,7 @@ function CS.minreal(sys::NamedStateSpace, args...; kwargs...)
named_ss(msys; sys.u, sys.y, sys.name)
end

for fun in [:baltrunc, :balreal]
for fun in [:baltrunc, :balreal, :balance_statespace]
@eval function CS.$(fun)(sys::NamedStateSpace, args...; kwargs...)
msys, rest... = CS.$(fun)(sys.sys, args...; kwargs...)
named_ss(msys; sys.u, sys.y, sys.name), rest...
Expand Down
4 changes: 4 additions & 0 deletions test/test_named_systems2.jl
Original file line number Diff line number Diff line change
Expand Up @@ -300,3 +300,7 @@ end
G1 = ssrand(4,2,2)
s1 = named_ss(G1, u = :u, y=[:y1, :y2, :w, :za])
@test s1[[:y, :z], :] == s1[[1,2,4], :]

## Test conversion of tf
nss = named_ss(tf(1, [1,1]))
@test nss isa NamedStateSpace

0 comments on commit 381c2a2

Please sign in to comment.