Comments (5)
Yeah, the reason there is simply that I don't want to put experimental and immature features in a package that aims at being stable and mature :)
Control engineers are often risk averse (for good reasons, we don't want planes falling out of the sky), so trying hard to signal stability and maturity is especially important for CS.jl.
from controlsystems.jl.
I have considered implementing a new StateSpace type that includes a lot of the functionality that is currently scattered across multiple different statespace types, such as
- Named signals
- Delays
- Uncertainties
- Static nonlinearities in feedback path
Unfortunately, moving the implementation of a function from ROC to CS cannot be done in a non-breaking way if we want to export the function from CS. I'm also hesitant bringing all that code into ControlSystems, the NamedStateSpace type is still quite immature with lots of problems in how it interacts with other system types and functions not handling it properly etc. I'm thus not yet ready to bring it here and signal that it's ready and stabe. RobustAndOptimalControl is still at version 0.x, which accurately signals that it's not quite as mature as ContorlSystems is.
What exactly is the problem with bodeplot
, you should be able to set the names yourself using the regular Plots keywords?
As for named transfer functions, implementing such a type would be a ton of effort, the incomplete implementation of NamedStateSpace
is already very long, and it still has a lot of gaps. Do you have a use case for which converting your transfer function to a statespace system wouldn't work?
from controlsystems.jl.
I understand.
No particular application in mind except for having the plots automatically add the label.
I also liked the ease with which one can build complicated connections used named_ss
and wondered why one has to import an extra package for something that would ideally belong to ControlSystems.jl
or even ControlSystemsBase.jl
.
from controlsystems.jl.
I should mention that there is nothing preventing you from implementing a package NamedTransferFuncitons.jl, as long as you extend the appropriate functions
ControlSystemsBase.state_names
ControlSystemsBase.input_names
ControlSystemsBase.output_names
The bodeplot will work as you want
from controlsystems.jl.
Ah, and the other reason was that RobustAndOptimalControl requires anyway ControlSystems. That said, you are the best person with an overview of the packages development.
As for you other comment: one should also extend TransferFunction
to have entries for system, inputs and outputs names.
from controlsystems.jl.
Related Issues (20)
- Rendering of state space equations in documentation HOT 3
- no method matching zpk for step HOT 5
- Using `:` for indexing does not works on `TransferFunction` HOT 1
- c2d not working with method input HOT 4
- bodeplot does not work well with plotlyjs backend HOT 5
- change to ControlSystems dosent work for import pkg HOT 2
- `append` on `DelayLtiSystem` does not works HOT 2
- OutOfMemoryError on step without time step size HOT 4
- minreal returns system of order 21 instead of order 5. HOT 2
- add tolerance to `tzeros` HOT 4
- `pid` with zero proportional gain HOT 4
- ControlSystemsBase blocking Polynomials.jl v4
- Implement `/\` in terms of `feedback`
- Documentation/terminology: isn't sampled-data more appropriate than hybrid? HOT 1
- d2c_exact should work with gains (i.e. state space systems without states)
- Change input/output plot order of SimResult HOT 1
- Step response (at a t0 instant) of a first order system with delay doesn't work correctly with lsim (but works fine with step but with t0=0) HOT 5
- Docstring for nyquist uses im as an output argument –> clash with the imaginary unit im
- B matrix cannot contain too many zero elements for baltrunc HOT 16
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from controlsystems.jl.