.

Dependents:  

Committer:
altb
Date:
Mon Feb 25 09:47:04 2019 +0000
Revision:
11:78e723ede0c6
Parent:
1:8725adf9efd0
2018

Who changed what in which revision?

UserRevisionLine numberNew contents of line
altb 1:8725adf9efd0 1 #include "PolynomialCharacteristics.h"
altb 1:8725adf9efd0 2 #include "math.h"
altb 1:8725adf9efd0 3 using namespace std;
altb 1:8725adf9efd0 4 PolynomialCharacteristics::PolynomialCharacteristics(float *P,uint8_t degree,float ll, float ul){ // standard lin characteristics
altb 1:8725adf9efd0 5 this->P = (float*)malloc(degree*sizeof(float));
altb 1:8725adf9efd0 6 for(int k=0;k<=degree;k++)
altb 1:8725adf9efd0 7 this->P[k] =P[k];
altb 1:8725adf9efd0 8 this->degree = degree;
altb 1:8725adf9efd0 9 this->llim = ll;
altb 1:8725adf9efd0 10 this->ulim = ul;
altb 1:8725adf9efd0 11
altb 1:8725adf9efd0 12 }
altb 1:8725adf9efd0 13
altb 1:8725adf9efd0 14 PolynomialCharacteristics::~PolynomialCharacteristics() {}
altb 1:8725adf9efd0 15
altb 1:8725adf9efd0 16
altb 1:8725adf9efd0 17 float PolynomialCharacteristics::evaluate(float x)
altb 1:8725adf9efd0 18 {
altb 1:8725adf9efd0 19 float dum = 0.0;
altb 1:8725adf9efd0 20 for(int k=0;k<=degree;k++)
altb 1:8725adf9efd0 21 dum = P[k]*pow(x,(float)k);
altb 1:8725adf9efd0 22 if(dum > this->ulim)
altb 1:8725adf9efd0 23 dum = this->ulim;
altb 1:8725adf9efd0 24 if(dum < this->llim)
altb 1:8725adf9efd0 25 dum = this->llim;
altb 1:8725adf9efd0 26 return dum;
altb 1:8725adf9efd0 27 }