Добавил:
свои люди в ТПУ Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЛБ9

.docx
Скачиваний:
0
Добавлен:
14.01.2026
Размер:
137.23 Кб
Скачать

Инженерная школа природных ресурсов

Направление подготовки Химическая технология

Отделение химической инженерии

ОСНОВЫ ПРОГРАММИРОВАНИЯ НА 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 ]

Соседние файлы в предмете Программирование на Python