Поиск общих позиций между объектно-ориентированными структурами и математической логикой - PullRequest
0 голосов
/ 12 октября 2019

В математике функции часто определяются в терминах более элементарных функций, которые сами определяются либо меньшими функциями, либо базовыми переменными. Возьмем, к примеру, следующую математическую структуру:

T = c_v*t/(a*h)**2

U = (T**3/(T**3++0.5))**(1/6)

Это очень простая структура, но очень хороший пример. Конечно, самый быстрый способ получить желаемый результат - просто запустить их как две команды, например, в python. Другой способ - определить следующее:

def T(c_v, t, a, h):
    return c_v*t/(a*h)**2
def U(T):
    return (T**3/(T**3++0.5))**(1/6)

Несколько более сложный, но, на мой взгляд, более гибкий способ настройки вышеупомянутого:

class T():
    def __init__(self, c_v, t, a, h):
        self.c_v = c_v
        self.t = t
        self.a = a
        self.h = h
    def evaluate(self):
        self.result = self.c_v*self.t/(self.a*self.h)**2
        return self.result

class U(T):
    def __init__(self,  c_v, t, a, h):
        super().__init__( c_v, t, a, h)
    def evaluate(self, ):
        self.T = super().evaluate()
        self.result = (T**3/(T**3++0.5))**(1/6)
        return self.result

Но что из более сложного? случаи, когда взаимозависимости становятся частью сложной древовидной структуры? Будет ли выше шкала? Предположим, что другая функция F зависит от функции U. Предположим также, что была функция S, которая зависела от c_v и t, и что была функция R, которая зависела от S и T.

Кроме того,эта тема была исследована раньше? Где найти практические инструменты для моделирования математики с помощью программного обеспечения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...