Class parameter_function.py is created

This commit is contained in:
Saeed Ranjbar 2023-08-13 21:17:03 -04:00
parent d6ee3d6e6b
commit 6ce82c52de

View File

@ -0,0 +1,53 @@
"""
Energy System catalog heat generation system
SPDX - License - Identifier: LGPL - 3.0 - or -later
Copyright © 2023 Concordia CERC group
Project Coder Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca
Code contributors: Saeed Ranjbar saeed.ranjbar@concordia.ca
"""
from __future__ import annotations
from typing import Union
class ParameterFunction:
"""
Parameter function class
"""
def __init__(self, type, coefficients):
self._type = type
self._coefficients = coefficients
@property
def type(self):
"""
The type of the fit function from the following
Linear =>>> y = a*x + b
Exponential =>>> y = a*(b**x)
Polynomial =>>> y = a*(x**2) + b*x + c
Power =>>> y = a*(x**b)
Second degree multivariable =>>> y = a*(x**2) + b*x + c*x*y + d*y + e*(y**2) + f
Get the type of function from ['linear', 'exponential', 'polynomial', 'power', 'second degree multivariable']
:return: string
"""
return self._type
@property
def coefficients(self):
"""
Get the coefficients of the functions as list
:return: [coefficients]
"""
return self._coefficients
def to_dictionary(self):
"""Class content to dictionary"""
content = {'Parameter Function': {
'type': self.type,
'coefficients': self.coefficients,
}
}
return content