28 Eigen::Vector<T, Eigen::Dynamic> times_;
29 Eigen::Vector<T, Eigen::Dynamic> values_;
51 const Eigen::Vector<T, Eigen::Dynamic>& t,
52 const Eigen::Vector<T, Eigen::Dynamic>& v)
62 Eigen::Vector<T, Eigen::Dynamic>&& t,
63 Eigen::Vector<T, Eigen::Dynamic>&& v)
64 : times_(std::move(t))
65 , values_(std::move(v)){}
68 const Eigen::Vector<T, Eigen::Dynamic>& t,
69 Eigen::Vector<T, Eigen::Dynamic>&& v)
71 , values_(std::move(v)){}
74 Eigen::Vector<T, Eigen::Dynamic>&& t,
75 const Eigen::Vector<T, Eigen::Dynamic>& v)
76 : times_(std::move(t))
79 Eigen::Vector<T, Eigen::Dynamic>&
times() {
return this->times_;}
80 const Eigen::Vector<T, Eigen::Dynamic>&
times()
const {
return this->times_;}
82 T&
times(
size_t i){
return this->times_(i);}
83 const T&
times(
size_t i)
const {
return this->times_(i);}
85 Eigen::Vector<T, Eigen::Dynamic>&
values() {
return this->values_;}
86 const Eigen::Vector<T, Eigen::Dynamic>&
values()
const {
return this->values_;}
88 T&
values(
size_t i){
return this->values_(i);}
89 const T&
values(
size_t i)
const {
return this->values_(i);}
101 this->times_.resize(n);
102 this->values_.resize(n);
105 size_t size()
const {
return std::min(this->times_.size(), this->values_.size());}
116 stream <<
"Times (s), Values\n";
117 for(
size_t i = 0; (i < timeseries.
size()) && (i < timeseries.
size()); ++i){
118 stream << timeseries.
times(i) <<
", " << timeseries.
values(i) <<
"\n";
125 Eigen::Vector<T, Eigen::Dynamic>
times;
126 Eigen::Vector<std::complex<T>, Eigen::Dynamic>
values;
133 const Eigen::Vector<T, Eigen::Dynamic>& t,
134 const Eigen::Vector<std::complex<T>, Eigen::Dynamic>& v)
139 Eigen::Vector<T, Eigen::Dynamic>&& t,
140 Eigen::Vector<std::complex<T>, Eigen::Dynamic>&& v)
141 :
times(std::move(t))
145 const Eigen::Vector<T, Eigen::Dynamic>& t,
146 Eigen::Vector<std::complex<T>, Eigen::Dynamic>&& v)
147 :
times(std::move(t))
151 Eigen::Vector<T, Eigen::Dynamic>&& t,
152 const Eigen::Vector<std::complex<T>, Eigen::Dynamic>& v)
153 :
times(std::move(t))
173 stream <<
"Times (s), Real, Imag, Abs, Arg\n";
174 for(
int i = 0; (i < timeseries.
times.size()) && (i < timeseries.
values.size()); ++i){
175 const T t = timeseries.
times(i);
176 const T
real = std::real(timeseries.
values(i));
177 const T
imag = std::imag(timeseries.
values(i));
178 const T abs = std::abs(timeseries.
values(i));
179 const T arg = std::arg(timeseries.
values(i));
180 stream << t <<
", " <<
real <<
", " <<
imag <<
", " << abs <<
", " << arg <<
"\n";
Definition TimeSeries.hpp:123
ComplexTimeSeries(ComplexTimeSeries &&)=default
Default move constructor.
ComplexTimeSeries(int size)
Definition TimeSeries.hpp:130
ComplexTimeSeries(const ComplexTimeSeries &)=default
Default copy constructor.
ComplexTimeSeries()=default
ComplexTimeSeries(const Eigen::Vector< T, Eigen::Dynamic > &t, Eigen::Vector< std::complex< T >, Eigen::Dynamic > &&v)
Definition TimeSeries.hpp:144
ComplexTimeSeries(Eigen::Vector< T, Eigen::Dynamic > &&t, Eigen::Vector< std::complex< T >, Eigen::Dynamic > &&v)
Definition TimeSeries.hpp:138
void resize(int n)
Definition TimeSeries.hpp:165
ComplexTimeSeries & operator=(ComplexTimeSeries &&)=default
Default move assignment.
Eigen::Vector< T, Eigen::Dynamic > times
Definition TimeSeries.hpp:125
ComplexTimeSeries(const Eigen::Vector< T, Eigen::Dynamic > &t, const Eigen::Vector< std::complex< T >, Eigen::Dynamic > &v)
Definition TimeSeries.hpp:132
ComplexTimeSeries(Eigen::Vector< T, Eigen::Dynamic > &&t, const Eigen::Vector< std::complex< T >, Eigen::Dynamic > &v)
Definition TimeSeries.hpp:150
ComplexTimeSeries & operator=(const ComplexTimeSeries &)=default
Default copy assignment.
Eigen::Vector< std::complex< T >, Eigen::Dynamic > values
Definition TimeSeries.hpp:126
Contiains time and values pairs.
Definition TimeSeries.hpp:26
TimeSeries(Eigen::Vector< T, Eigen::Dynamic > &&t, Eigen::Vector< T, Eigen::Dynamic > &&v)
Definition TimeSeries.hpp:61
Eigen::Vector< T, Eigen::Dynamic > & times()
Definition TimeSeries.hpp:79
T & times(size_t i)
Definition TimeSeries.hpp:82
TimeSeries & operator=(TimeSeries &&)=default
Default move assignment.
T & values(size_t i)
Definition TimeSeries.hpp:88
TimeSeries(const Eigen::Vector< T, Eigen::Dynamic > &t, const Eigen::Vector< T, Eigen::Dynamic > &v)
Definition TimeSeries.hpp:50
const Eigen::Vector< T, Eigen::Dynamic > & values() const
Definition TimeSeries.hpp:86
const T & times(size_t i) const
Definition TimeSeries.hpp:83
const T & values(size_t i) const
Definition TimeSeries.hpp:89
TimeSeries(Eigen::Vector< T, Eigen::Dynamic > &&t, const Eigen::Vector< T, Eigen::Dynamic > &v)
Definition TimeSeries.hpp:73
const Eigen::Vector< T, Eigen::Dynamic > & times() const
Definition TimeSeries.hpp:80
TimeSeries & operator=(const TimeSeries &)=default
Default copy assignment.
void resize(int n)
Definition TimeSeries.hpp:100
size_t size() const
Definition TimeSeries.hpp:105
TimeSeries(TimeSeries &&)=default
Default move constructor.
TimeSeries(int size)
Initialises an empty (= uninitialised) timeseries with a given allocation size (number of value-time ...
Definition TimeSeries.hpp:43
TimeSeries(const Eigen::Vector< T, Eigen::Dynamic > &t, Eigen::Vector< T, Eigen::Dynamic > &&v)
Definition TimeSeries.hpp:67
Eigen::Vector< T, Eigen::Dynamic > & values()
Definition TimeSeries.hpp:85
TimeSeries(const TimeSeries &)=default
Default copy constructor.
Eigen::Vector< T, Eigen::Dynamic > imag(const Bode< T > &bode)
Converts and returns the frequency vector in rad/s.
Definition Bode.hpp:506
Eigen::Vector< T, Eigen::Dynamic > real(const Bode< T > &bode)
Converts and returns the frequency vector in rad/s.
Definition Bode.hpp:491
The main namespace for the Control++ library.
Definition Bode.cpp:3
std::ostream & operator<<(std::ostream &stream, EBodeCsvReadError val)
Definition Bode.cpp:5
void write_csv(std::ostream &stream, const Bode< T > &bode)
Prints a bode plot to an output stream as a .csv file.
Definition Bode.hpp:1231