Я проверяю, как различные переменные влияют на модель с использованием развертки параметра.Я пытаюсь прочитать параметры из текстового файла и передать их в функцию, в которой рассчитывается модель, возвращается ответ и вывод.
Например, если у меня есть входной файл с именем параметра в качестве первогостроки и последовательные строки как комбинации параметров, которые я хотел бы вычислить:
input.txt
param1, param2, param3, ..., paramm
0,0,1
0,0,2
0,1,1
0,1,2
0,2,1
0,2,2
1,0,1
1,0,2
1,1,1
1,1,2
1,2,1
1,2,2
У меня есть функция, которая вычисляет мою модель.Для простоты я скажу, что модель - это сумма всех моих параметров:
def model(param1,param2,param3...,paramm):
param1=0
param2=0
param3=0
param4=0
param5=0
.
.
.
paramn=0
answer=parma1+param2+param3+param4+param5
return answer
, где установка параметров = 0 - это способ их инициализации (теперь я знаю, что это не работает для param1,param2 или param3, потому что он перезаписывает то, что им было написано).Я включил param4 и param5, чтобы показать, что могут быть другие параметры, которые я не изменяю, но принимаю некоторое значение по умолчанию.
Как мне прочитать файл и запустить все комбинации параметров?Должен ли я просто создать кортеж с именем params и корректировать значения каждый раз после прочтения файла или есть лучший способ?
EDIT1:
Я отредактировал вопрос, добавив большее количество параметров, которые известны в текстовом файле и константах.Было бы лучше создать объект параметра и редактировать значения объекта для каждого прохода в функцию.
Имейте в виду, что, хотя в данном примере функция является суммой, в реальной программе она будет намного сложнее, вероятно, вызывая другие функции только с подмножеством параметров.Например
def model1(param1):
a=1
b=2
c=3
return a*param1**2+b*param1+c
def model(param1,param2,param3...,paramm):
param1=0
param2=0
param3=0
param4=0
param5=0
.
.
.
paramn=0
answer=model1(param1)+param2+param3+param4+param5