File failed to load: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/extensions/ams.js
ALMaSS  1.2 (after EcoStack, March 2024)
The Animal, Landscape and Man Simulation System
All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Polynomial2CurveClass Class Reference

A polynomial curve class. More...

#include <CurveClasses.h>

Inheritance diagram for Polynomial2CurveClass:
CurveClass

Public Member Functions

 Polynomial2CurveClass (double a_A, double a_B, double a_C, double a_D, bool a_reversecurve, double a_MaxX, double a_MinX, const char *a_name)
 
virtual ~Polynomial2CurveClass ()
 
- Public Member Functions inherited from CurveClass
 CurveClass (bool a_reversecurve, double a_MaxX, double a_MinX, const char *a_name)
 
virtual ~CurveClass ()
 
virtual double GetY (double a_X)
 
virtual void WriteDataFile (int a_step)
 

Protected Member Functions

virtual double DoCalc (double a_x)
 The specific calulation of y for a given x. More...
 
- Protected Member Functions inherited from CurveClass
virtual void CalculateCurveValues ()
 fills in the curve for 10,000 values from MinX to MaxX More...
 

Protected Attributes

double m_parameterA
 Parameter A. More...
 
double m_parameterB
 Parameter B. More...
 
double m_parameterC
 Parameter C. More...
 
double m_parameterD
 Parameter D. More...
 
- Protected Attributes inherited from CurveClass
double m_parameterMaxX
 A parameter for a the maximum value of X we consider. More...
 
double m_parameterMinX
 A parameter for a the minimum value of X we consider. More...
 
double m_step
 The size of each step on the X-axis. More...
 
double m_step_inv
 The inverse of m_step. More...
 
double * m_values
 The values of y we store for each X. More...
 
string m_name
 A scaler for the x-values. More...
 
bool m_reversecurve
 If true the values fall from 1 to zero, otherwise its zero to 1. More...
 

Detailed Description

A polynomial curve class.

Constructor & Destructor Documentation

◆ Polynomial2CurveClass()

Polynomial2CurveClass::Polynomial2CurveClass ( double  a_A,
double  a_B,
double  a_C,
double  a_D,
bool  a_reversecurve,
double  a_MaxX,
double  a_MinX,
const char *  a_name 
)
131 : CurveClass(a_reversecurve, a_MaxX, a_MinX, a_name)
132 {
133  m_parameterA = a_A;
134  m_parameterB = a_B;
135  m_parameterC = a_C;
136  m_parameterD = a_D;
138 }

References CurveClass::CalculateCurveValues(), m_parameterA, m_parameterB, m_parameterC, and m_parameterD.

◆ ~Polynomial2CurveClass()

Polynomial2CurveClass::~Polynomial2CurveClass ( )
virtual
142 {
143  ;
144 }

Member Function Documentation

◆ DoCalc()

double Polynomial2CurveClass::DoCalc ( double  a_x)
protectedvirtual

The specific calulation of y for a given x.

Reimplemented from CurveClass.

148 {
149  // e.g. (-0.008*C10*C10 + 0.13*C10 + 0.08) * 19.8
150  return (m_parameterA * a_x * a_x + m_parameterB * a_x + m_parameterC) * m_parameterD;
151 }

References m_parameterA, m_parameterB, m_parameterC, and m_parameterD.

Member Data Documentation

◆ m_parameterA

double Polynomial2CurveClass::m_parameterA
protected

Parameter A.

The scaled polynomial curve takes four parameters and we also specify a X-axis range.

The form is (ParameterA*x*x + ParameterB*x + ParameterC) * ParameterD

Referenced by DoCalc(), and Polynomial2CurveClass().

◆ m_parameterB

double Polynomial2CurveClass::m_parameterB
protected

Parameter B.

Referenced by DoCalc(), and Polynomial2CurveClass().

◆ m_parameterC

double Polynomial2CurveClass::m_parameterC
protected

Parameter C.

Referenced by DoCalc(), and Polynomial2CurveClass().

◆ m_parameterD

double Polynomial2CurveClass::m_parameterD
protected

Parameter D.

Referenced by DoCalc(), and Polynomial2CurveClass().


The documentation for this class was generated from the following files:
Polynomial2CurveClass::m_parameterD
double m_parameterD
Parameter D.
Definition: CurveClasses.h:106
CurveClass::CalculateCurveValues
virtual void CalculateCurveValues()
fills in the curve for 10,000 values from MinX to MaxX
Definition: CurveClasses.cpp:57
CurveClass::CurveClass
CurveClass(bool a_reversecurve, double a_MaxX, double a_MinX, const char *a_name)
Definition: CurveClasses.cpp:40
Polynomial2CurveClass::m_parameterB
double m_parameterB
Parameter B.
Definition: CurveClasses.h:102
Polynomial2CurveClass::m_parameterA
double m_parameterA
Parameter A.
Definition: CurveClasses.h:100
Polynomial2CurveClass::m_parameterC
double m_parameterC
Parameter C.
Definition: CurveClasses.h:104