Я делаю оценку параметров для численной модели диффузии реакции между временными точками, для которых у меня есть данные. Например, у меня есть данные при t = 0, 2, 4 и 6, и я пытаюсь запустить модель с 0-2, 0-4, 0-6, но я знаю, если разница во времени слишком велика оценка не удастся. Так что, поскольку он не может делать 0-6, я бы попробовал 2-6 вместо этого.
Я установил для этого блок try-исключение, но как только оно ловит исключение, все будущие попытки заканчиваются неудачей. Например. попробуйте 0-6, кроме случаев, когда есть ошибка, попробуйте 2-6, затем 4-6 и т. д. Я уже проверил 2-6 и знаю, что решатель работает, но когда он сначала пытается 0-6 и терпит неудачу, 2- 6, а остальные терпят неудачу с той же ошибкой, и я не уверен, что что-то упустил.
Я убедился, что для решателя все сбрасывается после того, как он перехватывает исключение, и все переменные сбрасываются.
Код выглядит так:
t = [0,2,4,6]
start = 0
end = 1
while end < len(t):
try:
solve(model, t(start), t(end))
end += 1
except Exception as e:
start += 1
if start == end:
end += 1
Есть ли способ сбросить исключение, которое мне нужно сделать, чтобы оно перестало генерироваться, когда этого не должно быть? Или что еще могло случиться?