DataSource
and the DataTransformer
hierarchy polymorphically. In particular, the program should prompt the user to import data either from a file or from console, and to select the transformation method.FileDataSource
is selected, prompt the user to specify the filename from the console.LinearScaler
is selected, prompt the user to specify the scaling factor from the console.DataSource
hierarchy to import a given field from an input CSV
file (see data.csv
as an example).CSV
file with the transformed ones.Implement a C++ framework for computing derivatives of arbitrary functions using a polymorphic approach. The goal is to create a structure that can handle common arithmetic operations, such as addition, subtraction, multiplication, division, and exponentiation, on values and their derivatives.
Test the program to compute the value and the derivative of the polynomial
ADExpression
with two pure virtual functions:
double evaluate()
: This function returns the value of the variable.double derivative()
: This function returns the derivative of the variable.Scalar
that inherits from ADExpression
. This class represents a scalar variable and its derivative.ADExpression
:
Sum
: Represents the addition of two ADExpression
objects.Difference
: Represents the subtraction of two ADExpression
objects.Product
: Represents the multiplication of two ADExpression
objects.Division
: Represents the division of two ADExpression
objects.Power
: Represents raising an ADExpression
object to a constant exponent.ADExpression
objects and/or other input from the constructor.main
function, demonstrate the usage of these classes.