Я создаю симуляцию, которая содержит мир с зараженным и незараженным населением. В симуляции я хочу запустить развертку параметров, используя bash, чтобы увидеть все результаты из различных входных данных.
Файл Python "istrySim_bash.py "принимает 10 аргументов командной строки, где выполняется:
python3 diseaseSim_bash.py V 100 5 7 7 5 0.05 0.05 0.05 0.05 > simulation1.txt
Запустит симуляцию с использованием окрестностей фон Неймана, 100 незараженных, 5 зараженных, сетка 7x7 (мир), 5 временных шагов и вероятность заражения, иммунитета, смерти и выздоровления при 5% (0,05).
Это прекрасно работает, создавая графики, которые я создал в файле python, и сохраняя их в текущей папке. Он также создает текстовый файл для выходных данных, которые не являются изображениями. Однако, когда мы доберемся до развертки параметра, возникает некоторая проблема.
Файл bashistry_sweep.sh содержит код, который создает папку с меткой времени, с которой он был запущен, и копирует файл Python и файл Bash в эту папку для целей моделирования. Он также принимает аргументы командной строки следующим образом:
sh disease_sweep.sh 80 120 5 2 20 2 0.02 0.20 0.02
Этот код устанавливает нижнюю границу незараженного населения 80, верхнюю границу 120, с шагом 5 человек. Нижняя граница зараженной популяции 2, верхняя граница 20, шаг 2. Наконец, вероятность заражения имеет нижнюю границу 2%, верхняя граница 20%, шаг 2%.
Перед порцией, которую я вставил ниже, есть код, который принимает эти переменные в качестве аргументов командной строки. Я не знаю, требуется ли это, поэтому я пока не включил его. Код также распечатывает детали, относящиеся к вводу командной строки, т. Е.
echo "Bounds for Uninfected and step: " $low_pop $high_pop $step_pop
Причина, по которой я не предоставил полный код, заключалась в том, что приведенный выше код работает нормально и выдает вывод в моем терминале. Однако следующая часть, похоже, не дает никаких результатов.
for i in `seq $low_pop $high_pop $step_pop`;
do
for d in `seq $low_inf $high_inf $step_inf`;
do
for x in `seq $low_prob $high_prob $step_prob`;
do
echo "Simulation: " $i $d $x
outfile="Simulation_I"$i"_D"$d"_X"$x".txt"
python3 diseaseSim_bash.py V $i $d 15 15 5 $x 0.05 0.05 0.05 > $outfile
done
done
done
Делая это, он должен был сохранить все текстовые данные в выходной файл, и изображения должны были также присутствовать в папке, но это не имело место.
Мне интересно, была ли где-то ошибка в моем цикле for, что-то, что я мог бы застеклить. Любая помощь приветствуется, спасибо!