15 auto TrajBase<T>::nan_value()
const
17 if constexpr(std::is_same_v<T,double> || std::is_same_v<typename ExprType<T>::Type,ScalarType>)
18 return std::numeric_limits<double>::quiet_NaN();
21 return T((*
this)(tdomain().
lb()))
22 .init(std::numeric_limits<double>::quiet_NaN());
26 SampledTraj<T> TrajBase<T>::sampled(
double dt)
const
28 assert_release(dt > 0.);
31 auto tdom = tdomain();
33 for(
double t = tdom.lb() ; t < tdom.ub() ; t+=dt)
34 straj.set((*
this)(t), t);
35 straj.set((*
this)(tdom.ub()), tdom.ub());
41 SampledTraj<T> TrajBase<T>::sampled_as(
const SampledTraj<Q>& x)
const
43 assert_release(x.tdomain().is_subset(this->tdomain()));
46 for(
const auto& [ti,dump] : x)
47 straj.set((*
this)(ti), ti);
52 SampledTraj<T> TrajBase<T>::primitive(
double dt)
const
54 assert_release(dt > 0.);
58 if constexpr(std::is_same_v<T,double>)
61 return T((*
this)(this->tdomain().
lb())).init(0.);
65 double t = tdomain().lb(), last_t = t;
68 while(t < tdomain().
ub())
70 s += ((*this)(last_t)+(*this)(t))*dt/2.;
77 s += ((*this)(last_t)+(*this)(t))*(t-last_t)/2.;
bool is_empty() const
Checks whether the interval matrix is empty.
Definition codac2_MatrixBase_addons_IntervalMatrixBase.h:56
auto ub() const
Returns a matrix containing the upper bounds of each interval element.
Definition codac2_MatrixBase_addons_IntervalMatrixBase.h:103
auto lb() const
Returns a matrix containing the lower bounds of each interval element.
Definition codac2_MatrixBase_addons_IntervalMatrixBase.h:91
Definition codac2_OctaSym.h:21