Skip to content

Accept keyword arguments passed by the ControlSystemsBase 1.23 plot recipes for FRD - #202

Merged
baggepinnen merged 1 commit into
masterfrom
fbc/frd-plot-kwargs
Oct 7, 2026
Merged

baggepinnen merged 1 commit into
masterfrom
fbc/frd-plot-kwargs

Conversation

@baggepinnen

Copy link
Copy Markdown
Member

ControlSystemsBase v1.23.0 passes balance to bode in the Bodeplot recipe and adaptive to _default_freq_vector when selecting the frequency vector. The FRD methods did not accept these keyword arguments, so bodeplot(frd) failed with

MethodError: no method matching bode(::FRD{Vector{Float64}, Vector{ComplexF64}}, ::Vector{Float64}; unwrap::Bool, balance::Bool)

Changes:

  • bode(::FRD, w; unwrap, kwargs...) and _default_freq_vector(::FRD/::Vector{<:FRD}, _; kwargs...) accept and ignore additional keyword arguments, consistent with the existing freqresp(::FRD; kwargs...) method. nyquist and sigma use the generic LTISystem methods, which call freqresp and therefore required no change.
  • Regression test in test/test_plots.jl covering bode(frd, w; unwrap=false, balance=true), bodeplot (single system and vector), nyquistplot and sigmaplot for FRD. The test fails on master with ControlSystemsBase 1.23.0 and passes with this change; test_frd.jl passes.
  • Patch version bump to 2.12.2.

Host: demeter2
Working directory: /tmp/claude-7594982/-home-baggepinnen--julia-dev-DyadControlSystems/974120bf-7fce-4326-8ff8-7a0911e29861/scratchpad/CSI

🤖 Generated with Claude Code

…ecipes for FRD

The Bodeplot recipe passes balance to bode, and the frequency-vector selection
passes adaptive to _default_freq_vector. Both are accepted and ignored for FRD.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@baggepinnen
baggepinnen merged commit 1618093 into master Oct 7, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant