ЛБ9
.docx
Инженерная школа природных ресурсов
Направление подготовки Химическая технология
Отделение химической инженерии
ОСНОВЫ ПРОГРАММИРОВАНИЯ НА PYTHON
Отчет по лабораторной работе № 9
Введение в библиотеку NumPy
Выполнил студент гр. ХИМ54 А.В. Чижова
(Подпись)
01.01.2026 г.
Отчет принят:
Преподаватель
доцент ОХИ ИШПР, к.т.н. В.А. Чузлов
(Подпись)
_____ _____________ 2026 г.
Томск 2026 г.
Задание 1
Заполните матрицу (двумерный массив NumPy) a(5, 10) случайными целыми числами ∈ [-10;10] . Выведите значения ее элементов на экран. Найдите столбец матрицы с минимальной суммой положительных элементов и выведите индекс этого столбца.
! Применение циклов запрещено (кроме вывода элементов матрицы и результатов расчета)
Программная реализация:
import numpy as np
import random
a = np.random.randint(-10, 10, (5,10))
print(a)
sums = np.sum(a, axis=0, where=a>0)
print(sums)
min_sum = np.min(sums)
min_index = np.where(sums == min_sum)[0][0]
print(min_sum)
print(min_index)
Ответ:
[[ 5 9 5 9 -2 7 -9 3 2 -4]
[ 4 3 -10 3 0 -8 8 -1 5 5]
[ 3 -6 -9 6 -7 -7 -6 5 -3 -9]
[-10 3 -3 -8 6 -4 2 0 2 -7]
[ 7 0 -10 6 -1 1 5 1 -4 -6]]
[19 15 5 24 6 8 15 9 9 5]
5
2
Задание 2
Создайте массив NumPy из 10-ти случайных целых чисел ∈ [1;10]. Выведите элементы данного массива на экран. Поменяйте знак у элементов, значения которых попадают в интервал (3;8).
Программная реализация:
import numpy as np
a = np.random.randint(1, 10, 10)
print(a)
mask = (a > 3) & (a < 8)
a[mask] = -a[mask]
print(a)
Ответ:
[9 2 6 6 3 2 5 2 4 6]
[ 9 2 -6 -6 3 2 -5 2 -4 -6]
Задание 3
Для расчёта изобарной теплоёмкости чистых газообразных компонентов используется следующее уравнение:
где
– изобарная теплоемкость газа, Дж /
(моль*К); A,
B,
C,
D,
E
– эмпирические коэффициенты; t
– температура, К.
Необходимо рассчитать значение изобарной теплоемкости 1 гексена при 11-ти значениях температуры ∈ [250;350] K. Коэффициенты полинома для данного компонента представлены в таблице:
A |
B |
C |
D |
E |
22.22 |
0.1385 |
0.0007 |
-7.7979e-07 |
2.362e-10 |
! Применение циклов запрещено (кроме вывода элементов матрицы и результатов расчета)
Программная реализация:
import numpy as np
def Cgas(A:float, B:float, C:float, D:float, E:float, t:float):
return A + B * t + C*t*t + D*t*t*t + E*t*t*t*t
temps = np.linspace(250, 350, 11)
A = 22.22
B=0.1385
C=0.0007
D=-7.7979e-07
E=2.362e-10
result = Cgas(A, B,C,D,E, 350)
print(result)
Ответ:
126.55597999999999
Задание 4
Дана зависимость давления насыщенных паров вещества от температуры:
t, 0C |
Р, атм |
40 |
0.2453 |
50 |
0.5459 |
60 |
1.2151 |
70 |
2.7042 |
80 |
6.0184 |
90 |
13.3943 |
100 |
29.8096 |
Используя полином 4-ой степени, определите значения давления насыщенных паров при t ∈ [45; 95] с шагом 10 °C
Программная реализация:
import numpy as np
from numpy.polynomial import Polynomial
t = np.array([40, 50, 60, 70, 80, 90, 100])
p = np.array([0.2453, 0.5459, 1.2151, 2.7042, 6.0184, 13.3943, 29.8096])
poly = Polynomial.fit(t, p, deg=4)
t_new = np.arange(45, 96, 10)
p_new = poly(t_new)
print(t_new)
print(p_new)
Ответ:
[45 55 65 75 85 95]
[ 0.20070575 0.84778914 1.91943616 3.94271652 8.90306354 20.2442742 ]
