returnValue Sensor::setOutputNoise( const Noise& _noise, double _noiseSamplingTime ) { if ( _noise.getDim( ) != getNY( ) ) return ACADOERROR( RET_INVALID_ARGUMENTS ); for( uint i=0; i<getNY( ); ++i ) { if ( additiveNoise[i] != 0 ) delete additiveNoise[i]; additiveNoise[i] = _noise.clone( i ); } noiseSamplingTimes.setAll( _noiseSamplingTime ); return SUCCESSFUL_RETURN; }
returnValue Sensor::setOutputNoise( uint idx, const Noise& _noise, double _noiseSamplingTime ) { if ( ( idx >= getNY( ) ) || ( _noise.getDim( ) != 1 ) ) return ACADOERROR( RET_INVALID_ARGUMENTS ); if ( additiveNoise[idx] != 0 ) delete additiveNoise[idx]; additiveNoise[idx] = _noise.clone( ); if ( ( idx > 0 ) && ( acadoIsEqual( _noiseSamplingTime, noiseSamplingTimes(0) ) == BT_FALSE ) ) ACADOWARNING( RET_NO_DIFFERENT_NOISE_SAMPLING_FOR_DISCRETE ); noiseSamplingTimes.setAll( _noiseSamplingTime ); // should be changed later return SUCCESSFUL_RETURN; }