本文整理汇总了C++中rates函数的典型用法代码示例。如果您正苦于以下问题:C++ rates函数的具体用法?C++ rates怎么用?C++ rates使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了rates函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: rates
/*
* Attitude rates controller.
* Input: '_rates_sp' vector, '_thrust_sp'
* Output: '_att_control' vector
*/
void
MulticopterAttitudeControl::control_attitude_rates(float dt)
{
/* reset integral if disarmed */
if (!_armed.armed || !_vehicle_status.is_rotary_wing) {
_rates_int.zero();
}
/* current body angular rates */
math::Vector<3> rates;
rates(0) = _ctrl_state.roll_rate;
rates(1) = _ctrl_state.pitch_rate;
rates(2) = _ctrl_state.yaw_rate;
/* angular rates error */
math::Vector<3> rates_err = _rates_sp - rates;
_att_control = _params.rate_p.emult(rates_err) + _params.rate_d.emult(_rates_prev - rates) / dt + _rates_int +
_params.rate_ff.emult(_rates_sp - _rates_sp_prev) / dt;
_rates_sp_prev = _rates_sp;
_rates_prev = rates;
/* update integral only if not saturated on low limit and if motor commands are not saturated */
if (_thrust_sp > MIN_TAKEOFF_THRUST && !_motor_limits.lower_limit && !_motor_limits.upper_limit) {
for (int i = 0; i < 3; i++) {
if (fabsf(_att_control(i)) < _thrust_sp) {
float rate_i = _rates_int(i) + _params.rate_i(i) * rates_err(i) * dt;
if (PX4_ISFINITE(rate_i) && rate_i > -RATES_I_LIMIT && rate_i < RATES_I_LIMIT &&
_att_control(i) > -RATES_I_LIMIT && _att_control(i) < RATES_I_LIMIT) {
_rates_int(i) = rate_i;
}
}
}
}
}
开发者ID:PX4-Works,项目名称:Firmware,代码行数:40,代码来源:mc_att_control_main.cpp
示例2: rates
/*
* Attitude rates controller.
* Input: '_rates_sp' vector, '_thrust_sp'
* Output: '_att_control' vector
*/
void
MulticopterAttitudeControl::control_attitude_rates(float dt)
{
/* reset integral if disarmed */
if (!_armed.armed) {
_rates_int.zero();
}
/* current body angular rates */
math::Vector<3> rates;
rates(0) = _v_att.rollspeed;
rates(1) = _v_att.pitchspeed;
rates(2) = _v_att.yawspeed;
/* angular rates error */
math::Vector<3> rates_err = _rates_sp - rates;
_att_control = _params.rate_p.emult(rates_err) + _params.rate_d.emult(_rates_prev - rates) / dt + _rates_int;
_rates_prev = rates;
/* update integral only if not saturated on low limit */
if (_thrust_sp > MIN_TAKEOFF_THRUST) {
for (int i = 0; i < 3; i++) {
if (fabsf(_att_control(i)) < _thrust_sp) {
float rate_i = _rates_int(i) + _params.rate_i(i) * rates_err(i) * dt;
if (isfinite(rate_i) && rate_i > -RATES_I_LIMIT && rate_i < RATES_I_LIMIT &&
_att_control(i) > -RATES_I_LIMIT && _att_control(i) < RATES_I_LIMIT) {
_rates_int(i) = rate_i;
}
}
}
}
}
开发者ID:cbergcberg,项目名称:Firmware,代码行数:38,代码来源:mc_att_control_main.cpp
示例3: initmodel
static void initmodel(double* _p, Datum* _ppvar, Datum* _thread, _NrnThread* _nt) {
int _i; double _save;{
h_q = h_q0;
m_q = m_q0;
{
ena = 67.0 ;
temperature = celsius + 273.15 ;
rates ( _threadargs_ ) ;
rates ( _threadargs_ ) ;
m_q = m_inf ;
h_q = h_inf ;
}
}
}
开发者ID:Simon-at-Ely,项目名称:NML2_Test,代码行数:15,代码来源:NaxSH10_ChannelML.c
示例4: _ode_spec1
/*CVODE*/
static int _ode_spec1 (double* _p, Datum* _ppvar, Datum* _thread, _NrnThread* _nt) {int _reset = 0; {
rates ( _threadargs_ ) ;
Dm_q = rate_m_q ;
Dh_q = rate_h_q ;
}
return _reset;
}
开发者ID:Simon-at-Ely,项目名称:NML2_Test,代码行数:8,代码来源:NaxSH10_ChannelML.c
示例5: main
int main()
{
double rate = 0.0;
double vol = 0.1;
int N = 3;
int M = 1;
int b = 700;
double maturity = 1.0;
double initialSpot = 100.0;
double timeStep = (maturity / (double)N);
double m = timeStep*(rate - vol*vol / 2.0);
//std::ofstream fichier("C:\\Users\\Lucien\\Desktop\\e.txt", std::ios::out | std::ios::trunc);
for (int i = 0; i < 40; i++)
{
double initialSpots[1]{80 + (double)i};
//False ditribution in the estimator
lognormal f(m, vol*sqrt(timeStep));
lognormal g(0.0, 5.0*vol);
normalGen gGenerator(ENG(time(0)), normalDist(0.0, 5.0*vol));
RandomGenerationTool kit(f, gGenerator, g);
BlackScholesPathGenerator paths(rate, vol, N, b, M, maturity, kit);
BlackScholesRate rates(N, maturity, rate);
AmericanPutPayoff payoff(100.0, maturity, N, b, M);
Estimator estimator(paths, payoff, rates);
std::cout << estimator.computePrice(initialSpots) << std::endl;
}
//fichier.close();
system("pause");
}
开发者ID:benjaminrevenu,项目名称:ProjetPages,代码行数:30,代码来源:TestBoost.cpp
示例6: states
/*END CVODE*/
static int states (double* _p, Datum* _ppvar, Datum* _thread, _NrnThread* _nt) { {
rates ( _threadargscomma_ v ) ;
n = n + (1. - exp(dt*(( ( ( - 1.0 ) ) ) / taun)))*(- ( ( ( ninf ) ) / taun ) / ( ( ( ( - 1.0) ) ) / taun ) - n) ;
l = l + (1. - exp(dt*(( ( ( - 1.0 ) ) ) / taul)))*(- ( ( ( linf ) ) / taul ) / ( ( ( ( - 1.0) ) ) / taul ) - l) ;
}
return 0;
}
开发者ID:emukamel,项目名称:notebooks,代码行数:8,代码来源:kadist.c
示例7: _ode_matsol1
static int _ode_matsol1 (double* _p, Datum* _ppvar, Datum* _thread, _NrnThread* _nt) {
rates ( _threadargscomma_ v , cai ) ;
Dn = Dn / (1. - dt*( ( ( ( - 1.0 ) ) ) / tau_n )) ;
Dh = Dh / (1. - dt*( ( ( ( - 1.0 ) ) ) / tau_h )) ;
Dc = Dc / (1. - dt*( ( ( ( - 1.0 ) ) ) / tau_c )) ;
return 0;
}
开发者ID:lxm1117,项目名称:from_axon,代码行数:7,代码来源:cal0.c
示例8: states
/*END CVODE*/
static int states (double* _p, Datum* _ppvar, Datum* _thread, _NrnThread* _nt) { {
rates ( _threadargs_ ) ;
m_q = m_q - dt*(- ( rate_m_q ) ) ;
h_q = h_q - dt*(- ( rate_h_q ) ) ;
}
return 0;
}
开发者ID:Simon-at-Ely,项目名称:NML2_Test,代码行数:8,代码来源:NaxSH10_ChannelML.c
示例9: _ode_spec1
/*CVODE*/
static int _ode_spec1 (double* _p, Datum* _ppvar, Datum* _thread, _NrnThread* _nt) {int _reset = 0; {
rates ( _threadargscomma_ v ) ;
DX = ( Xinf - X ) / Xtau ;
DY = ( Yinf - Y ) / Ytau ;
}
return _reset;
}
开发者ID:KaliLab,项目名称:optimizer,代码行数:8,代码来源:CaN.c
示例10: _ode_matsol1
static int _ode_matsol1 (double* _p, Datum* _ppvar, Datum* _thread, _NrnThread* _nt) {
rates ( _threadargscomma_ v ) ;
Dm = Dm / (1. - dt*( ( ( ( - 1.0 ) ) ) / mtau )) ;
Dh = Dh / (1. - dt*( ( ( ( - 1.0 ) ) ) / htau )) ;
Dn = Dn / (1. - dt*( ( ( ( - 1.0 ) ) ) / ntau )) ;
return 0;
}
开发者ID:mohitganguly,项目名称:IRBlock_Vanderbilt,代码行数:7,代码来源:hhrx.c
示例11: _ode_spec1
/*CVODE*/
static int _ode_spec1 (double* _p, Datum* _ppvar, Datum* _thread, _NrnThread* _nt) {int _reset = 0; {
rates ( _threadargscomma_ v ) ;
Dm = ( minf - m ) / mtau ;
Dh = ( hinf - h ) / htau ;
}
return _reset;
}
开发者ID:Simon-at-Ely,项目名称:Channel_Kinetics,代码行数:8,代码来源:NaxSH10_ChannelML.c
示例12: _ode_spec1
/*CVODE*/
static int _ode_spec1 (double* _p, Datum* _ppvar, Datum* _thread, _NrnThread* _nt) {int _reset = 0; {
rates ( _threadargs_ ) ;
Dm = ( mInf - m ) / mTau ;
Dh = ( hInf - h ) / hTau ;
}
return _reset;
}
开发者ID:ku21fan,项目名称:OD_GIF,代码行数:8,代码来源:Ca_LVAst.c
示例13: states
/*END CVODE*/
static int states (double* _p, Datum* _ppvar, Datum* _thread, _NrnThread* _nt) { {
rates ( _threadargs_ ) ;
m = m + (1. - exp(dt*(( ( ( - 1.0 ) ) ) / mTau)))*(- ( ( ( mInf ) ) / mTau ) / ( ( ( ( - 1.0) ) ) / mTau ) - m) ;
h = h + (1. - exp(dt*(( ( ( - 1.0 ) ) ) / hTau)))*(- ( ( ( hInf ) ) / hTau ) / ( ( ( ( - 1.0) ) ) / hTau ) - h) ;
}
return 0;
}
开发者ID:ku21fan,项目名称:OD_GIF,代码行数:8,代码来源:Ca_LVAst.c
示例14: _ode_matsol1
static int _ode_matsol1 (double* _p, Datum* _ppvar, Datum* _thread, _NrnThread* _nt) {
rates ( _threadargscomma_ v ) ;
DX = DX / (1. - dt*( ( ( ( - 1.0 ) ) ) / Xtau )) ;
DY = DY / (1. - dt*( ( ( ( - 1.0 ) ) ) / Ytau )) ;
DZ = DZ / (1. - dt*( ( ( ( - 1.0 ) ) ) / Ztau )) ;
return 0;
}
开发者ID:KaliLab,项目名称:optimizer,代码行数:7,代码来源:Na_soma.c
示例15: _ode_spec1
/*CVODE*/
static int _ode_spec1 () {_reset=0;
{
rates ( _threadargscomma_ v ) ;
Dn = ( ninf - n ) / taun ;
}
return _reset;
}
开发者ID:katanachan,项目名称:neuron,代码行数:8,代码来源:kdrca1.c
示例16: states
/*END CVODE*/
static int states () {_reset=0;
{
rates ( _threadargscomma_ v ) ;
n = n + (1. - exp(dt*(( ( ( - 1.0 ) ) ) / taun)))*(- ( ( ( ninf ) ) / taun ) / ( ( ( ( - 1.0) ) ) / taun ) - n) ;
}
return 0;
}
开发者ID:katanachan,项目名称:neuron,代码行数:8,代码来源:kdrca1.c
示例17: _f_trates
static int _f_trates ( double _lv ) {
double _ltinc ;
rates ( _threadargscomma_ _lv ) ;
_ltinc = - dt * _zq10 ;
_znexp = 1.0 - exp ( _ltinc / ntau ) ;
_zpexp = 1.0 - exp ( _ltinc / ptau ) ;
return 0; }
开发者ID:Maliboue,项目名称:Spencermodel,代码行数:7,代码来源:kht.c
示例18: states
/*END CVODE*/
static int states (double* _p, Datum* _ppvar, Datum* _thread, _NrnThread* _nt) { {
rates ( _threadargscomma_ v ) ;
X = X + (1. - exp(dt*(( ( ( - 1.0 ) ) ) / Xtau)))*(- ( ( ( Xinf ) ) / Xtau ) / ( ( ( ( - 1.0) ) ) / Xtau ) - X) ;
Y = Y + (1. - exp(dt*(( ( ( - 1.0 ) ) ) / Ytau)))*(- ( ( ( Yinf ) ) / Ytau ) / ( ( ( ( - 1.0) ) ) / Ytau ) - Y) ;
}
return 0;
}
开发者ID:KaliLab,项目名称:optimizer,代码行数:8,代码来源:CaN.c
示例19: _ode_spec1
/*CVODE*/
static int _ode_spec1 (double* _p, Datum* _ppvar, Datum* _thread, _NrnThread* _nt) {int _reset = 0; {
rates ( _threadargscomma_ v ) ;
Dn = ( ninf - n ) / taun ;
Dl = ( linf - l ) / taul ;
}
return _reset;
}
开发者ID:emukamel,项目名称:notebooks,代码行数:8,代码来源:kadist.c
示例20: states
/*END CVODE*/
static int states () {_reset=0;
{
rates ( _threadargscomma_ v ) ;
n = n + (1. - exp(dt*(( ( ( - 1.0 ) ) ) / tau_n)))*(- ( ( ( inf_n ) ) / tau_n ) / ( ( ( ( - 1.0) ) ) / tau_n ) - n) ;
h = h + (1. - exp(dt*(( ( ( - 1.0 ) ) ) / tau_h)))*(- ( ( ( inf_h ) ) / tau_h ) / ( ( ( ( - 1.0) ) ) / tau_h ) - h) ;
}
return 0;
}
开发者ID:lxm1117,项目名称:from_axon,代码行数:9,代码来源:KA_i1.c
注:本文中的rates函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论