Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
семестр 2 / Задания ИТиП 2 семестр.docx
Скачиваний:
0
Добавлен:
13.05.2026
Размер:
28.8 Кб
Скачать

Ссылки на лекции

Презентации:

https://drive.google.com/drive/folders/1WNP7nN6kBps0wmIGsGhmRhtdQJmFpWCg?usp=sharing

Плейлист:

https://www.youtube.com/playlist?list=PLqgCjH6Mu4yWjpN5jzascY6WxUCNkEC56

Отдельные лекции:

  1. https://youtu.be/mfXwTC8v1HA

  2. https://youtu.be/8DNNNwZ9YOI

  3. https://youtu.be/9sHScyIC4QU

Установка python:

https://youtu.be/mfXwTC8v1HA

Вариант определяется двумя цифрами: i и j.

Примечание: Если выполнение в бригаде, то вариант выбирается по первому по алфавиту человеку в бригаде.

i – последняя цифра группы.

j – номер бригады.

Важно: Использовать числа i и j напрямую в программе нельзя, только рассчитанные на их основе исходные данные для задания.

Удобные функции: Функция с сохранением

Позволяет ускорить повторный запуск программы за счёт сохранения результата функции на компьютер. На вход подаётся выполняемая функция и название файла. Если такого файла нет, то создаётся файл, выполняется функция и результат записывается в этот файл, а потом возвращается как результат функции. Если файл есть, то результат загружается из файла.

from os.path import isfile

import numpy as np

# process – рассчитываемая функция, которая долго выполняется

# filename - название файла, в который сохраняется результат

# recount - если True, функция всегда пересчитывает результат (с

# сохранением)

def processWithMemory(process, filename, recount=False):

if not filename.endswith('.npy'):

filename = filename + '.npy'

if isfile(filename) and not recount:

return np.load(filename)

res = process()

np.save(filename, res)

return res

Пример:

x = np.array([[1, 2, 3],

[2, 1, 3],

[3, 3, 1]])

# Основная функция, результат которой очень долго рассчитывается

def func():

u, _, _ = np.linalg.svd(x)

return u

# Простое выполнение функции (каждый раз рассчитывается)

res1 = func()

# Выполнение функции с сохранением (первый раз рассчитывается и записывается в файл ‘f_res.npy’, далее загружается из файла)

res2 = processWithMemory(func, 'f_res')

Функция, создающие аргументы для двумерного графика

Позволяет создать параметры некоторой математической функции 2-х переменных для последующего отображения на графике.

# f – функция двух аргументов f(x,y) такая, что если на входе два

# вектора значений, функция выполняет операцию поэлементно и

# возвращает вектор значений r так , что

# для каждого i r[i] = f(x[i], y[i])

# x_lim, y_lim – кортежи с пределами построения графика для каждой переменной: (min, max)

# grid_n – количество отсчётов вдоль каждого аргумента, то есть график строится по grid_n x grid_n точкам

# Возвращаемое значение: кортеж с матрицами x,y,z для графика

def plot2d_params(f, x_lim, y_lim, grid_n=100, args = ()):

x1_p = np.linspace(x_lim[0], x_lim[1], grid_n)

x2_p = np.linspace(y_lim[0], y_lim[1], grid_n)

x1_p, x2_p = np.meshgrid(x1_p, x2_p)

s = x1_p.shape

r = f(x1_p.flatten(), x2_p.flatten(), *args)

r.shape = s

return (x1_p, x2_p, r)

Пример:

def graph_func(x, y):

return x ** 2 + y ** 2

x, y, z = plot2d_params(graph_func, (-10, 10), (-10, 10))

plt.contour(x, y, z, levels=10)

plt.show()

Соседние файлы в папке семестр 2