Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
17.01.2026
Размер:
579.28 Кб
Скачать

Дано:

Функция напряжения источника source_voltage(t)

Сопротивление R, ёмкость C

Временной интервал: от t_start до t_end с шагом dt

Формула:

Напряжение на конденсаторе вычисляется по разностной схеме: V_C(t + dt) = V_C(t) + [source_voltage(t) - V_C(t)] × dt / (R × C)

Начальное условие: V_C(0) = 0

Примеры входных напряжений:

1.Постоянное: source(t) = 1

2.Ступенька: source(t) = 0 при t < 0.5, source(t) = 1 при t ≥ 0.5

3.Линейное: source(t) = t

Требуется: Вернуть список напряжений на конденсаторе для каждого момента времени.

8. Вычисление энергии сигнала

Задача: Вычислить энергию сигнала на заданном интервале времени.

Дано:

Функция сигнала signal_func(t)

Интервал времени: от t_start до t_end с шагом dt

Формула:

Энергия сигнала вычисляется как: E = Σ [signal_func(tᵢ)]² × dt

Примеры сигналов:

1.Импульс: signal(t) = 1 при 0.4 ≤ t ≤ 0.6, иначе 0

2.Треугольный: signal(t) = 1 - |2t - 1|

3.Параболический: signal(t) = 4t(1 - t)

Требуется: Вернуть значение энергии сигнала.

9. Аппроксимация данных линейной моделью

Задача: Найти параметры линейной модели, наилучшим образом приближающей экспериментальные данные методом наименьших квадратов.

Дано:

Функция data_func(i), возвращающая i-ю экспериментальную точку (xᵢ, yᵢ)

Количество точек N

Формулы для метода наименьших квадратов:

a= (N·Σxᵢyᵢ - Σxᵢ·Σyᵢ) / (N·Σxᵢ² - (Σxᵢ)²)

b= (Σyᵢ - a·Σxᵢ) / N

где суммирование проводится по i от 0 до N-1

Примеры функций данных:

1.Идеальная прямая: data(i) = (i, i)

2.С шумом: data(i) = (i, i + 0.1·(i % 3 - 1))

3.Квадратичная зависимость: data(i) = (i, i²)

Требуется: Вернуть параметры a и b.

10. Фильтрация сигнала скользящим средним Задача: Выполнить фильтрацию сигнала с помощью фильтра скользящего среднего.

Дано:

Функция сигнала signal_func(t)

Размер окна фильтра M

Временной интервал: от t_start до t_end с шагом dt

Формула:

Отфильтрованный сигнал в момент времени t: y(t) = (1/M) × Σ signal_func(t + k·dt)

где суммирование проводится по k от 0 до M-1

Примеры функций сигнала:

1.Постоянный с шумом: signal(t) = 1 + 0.1·(t - 0.5)

2.Ступенчатый: signal(t) = 0 если t < 0.5, иначе 1

3.Линейный: signal(t) = t

Требуется: Вернуть список отфильтрованных значений для каждого момента времени.

11. Расчёт автокорреляционной функции

Задача: Вычислить автокорреляционную функцию сигнала.

Дано:

Функция сигнала signal_func(t)

Максимальное временное смещение τ_max

Временной интервал: от t_start до t_end с шагом dt

Формула:

Автокорреляционная функция для смещения τ: R(τ) = Σ signal_func(t) × signal_func(t + τ) × dt для τ = 0, dt, 2dt, ..., τ_max

Примеры функций сигнала:

1.Постоянный: signal(t) = 1

2.Линейный: signal(t) = t

3.Треугольный: signal(t) = 1 - |2t - 1|

Требуется: Вернуть список значений автокорреляционной функции для разных τ.

12. Моделирование системы с П-регулятором Задача: Смоделировать поведение системы с пропорциональным регулятором.

Дано:

Функция процесса process_func(y, u), вычисляющая изменение состояния

Желаемое значение y_desired

Коэффициент усиления регулятора Kp

Начальное состояние y

Временной интервал с шагом dt

Алгоритм:

1.Вычислить ошибку: error = y_desired - y(t)

2.Вычислить управление: u(t) = Kp × error

3.Обновить состояние: y(t + dt) = y(t) + process_func(y, u) × dt

Примеры процессов:

1.Интегрирующий: dy/dt = u

2.Инерционный: dy/dt = (u - y)/T

3.Нелинейный: dy/dt = u - y²

Требуется: Вернуть список состояний системы во времени.

13. Расчёт добротности по переходной характеристике

Задача: Вычислить добротность колебательной системы по её переходной характеристике.

Дано:

Функция переходной характеристики response_func(t)

Временной интервал: от t_start до t_end с шагом dt

Упрощённый алгоритм:

1.Найти максимальное значение отклика A_max

2.Найти моменты времени, когда отклик достигает уровня 0.5 × A_max (пересечения с половиной амплитуды)

3.Взять первые два таких момента t и t

4.Вычислить период колебаний: T = 2 × (t - t )

5.Найти время, за которое амплитуда уменьшается в 2 раза (от A_max до 0.5 × A_max) - τ

6.Вычислить добротность: Q = π × τ / T

Формула: Q = π × τ / T

Примеры переходных характеристик:

1.Быстро затухающие: response_func(t) = (1 - t) × (1 - |2t - 1|)

2.Медленно затухающие: response_func(t) = (1 - 0.3t) × (1 - |2t - 1|)

3.Среднее затухание: response_func(t) = (1 - 0.6t) × (1 - |2t - 1|)

Требуется: Вернуть значение добротности Q.

14. Генерация оптимального импульса

Задача: Найти параметры импульса, максимизирующие заданную функцию качества.

Дано:

Функция качества quality_func(amplitude, width), оценивающая качество импульса

Диапазоны параметров: amplitude [A_min, A_max], width [W_min, W_max]

Метод: Перебрать все комбинации параметров в заданных диапазонах с заданным шагом.

Примеры функций качества:

1.Простая: Q(A, W) = A × W

2.С ограничением: Q(A, W) = A × (1 - |W - 0.5|)

3.Квадратичная: Q(A, W) = A² + W²

Требуется: Вернуть параметры импульса (амплитуда, длительность) с максимальным качеством.

15. Моделирование цифровой передачи

Задача: Сгенерировать сигнал для заданной битовой последовательности.

Дано:

Функция bit_func(i), возвращающая i-й бит последовательности (0 или 1)

Количество битов N

Длительность одного бита T

Амплитуда для '1': A_high, амплитуда для '0': A_low

Формула модуляции:

signal(t) = A_high если bit_func(floor(t/T)) = 1 signal(t) = A_low если bit_func(floor(t/T)) = 0

Примеры функций битов:

1.Чередующиеся: bit_func(i) = i % 2

2.Все единицы: bit_func(i) = 1

3.Блочный: bit_func(i) = 1 если i < N/2, иначе 0

Требуется: Вернуть сигнал передачи для моментов времени от 0 до N·T.

16. Расчёт коэффициента ошибок (BER)

Задача: Оценить вероятность ошибки в цифровой системе связи.

Дано:

Функция переданных битов transmitted_bit_func(i)

Функция принятых битов received_bit_func(i)

Количество битов N

Формула: BER = (количество ошибочных битов) / N

Примеры функций:

1.Без ошибок: transmitted_bit_func(i) = i % 2, received_bit_func(i) = i % 2

2.С ошибками: transmitted_bit_func(i) = i % 2, received_bit_func(i) = (i + 1) % 2

3.Случайные ошибки: transmitted_bit_func(i) = i % 2, received_bit_func(i) = (i % 2) if i % 10 != 0 else 1 - (i % 2)

Требуется: Вернуть значение BER.

17. Анализ устойчивости по коэффициентам

Задача: Проверить устойчивость линейной системы по коэффициентам характеристического уравнения.

Дано:

Функция coeff_func(i), возвращающая i-й коэффициент характеристического уравнения

Критерий устойчивости: Все коэффициенты должны быть одного знака и отличны от нуля.

Примеры функций коэффициентов:

1.Устойчивый: coeff_func(i) = 1 (все положительные)

2.Неустойчивый: coeff_func(i) = (-1)**i (чередующиеся знаки)

3.Граничный: coeff_func(i) = 1 если i < 2, иначе 0 (есть нулевые)

Требуется: Вернуть True если система устойчива, иначе False.

18. Расчёт корректирующего коэффициента

Задача: Определить коэффициент коррекции для компенсации систематической ошибки.

Дано:

Функция измеренных значений measured_func(i)

Функция эталонных значений reference_func(i)

Количество измерений N

Формула:

Коэффициент коррекции: k = (Σ reference_func(i)) / (Σ measured_func(i))

Примеры функций:

1.Постоянное смещение: measured_func(i) = i + 0.1, reference_func(i) = i

2.Масштабная ошибка: measured_func(i) = 0.5*i, reference_func(i) = i

3.Смешанная ошибка: measured_func(i) = 0.8*i + 0.2, reference_func(i) = i

Требуется: Вернуть коэффициент коррекции.

19. Моделирование теплового процесса Задача: Смоделировать температуру объекта при заданной мощности нагрева.

Дано:

Функция мощности нагрева power_func(t)

Тепловое сопротивление R_th, тепловая ёмкость C_th

Временной интервал: от t_start до t_end с шагом dt

Начальная температура: T = 25°C

Формула:

T(t + dt) = T(t) + [power_func(t) - (T(t) - 25)/R_th] × dt / C_th

Примеры функций мощности:

1.Постоянная: power(t) = 10

2.Импульсная: power(t) = 20 при 0.2 ≤ t ≤ 0.4, иначе 0

3.Убывающая: power(t) = 10 × (1 - t)

Требуется: Вернуть температуру объекта во времени.

20. Расчёт эквивалентного сопротивления Задача: Вычислить эквивалентное сопротивление цепи по закону Ома.

Дано:

Функция напряжения voltage_func(I), возвращающая напряжение на цепи для тока I

Ток I

Формула: R = voltage_func(I) / I

Примеры функций напряжения:

1.Линейная цепь: voltage_func(I) = 10 + 2*I

2.Нелинейная: voltage_func(I) = 10 + I + 0.1*I**2

3.С насыщением: voltage_func(I) = min(20, 10 + 2*I)

Требуется: Вернуть значение сопротивления.

21. Анализ динамического диапазона

Задача: Оценить динамический диапазон системы по её передаточной характеристике.

Дано:

Функция передачи transfer_func(V_in)

Диапазон входных напряжений от V_min до V_max

Алгоритм:

1.Найти минимальный выход: V_out_min = transfer_func(V_min)

2.Найти максимальный выход: V_out_max = transfer_func(V_max)

3.Вычислить динамический диапазон: DR = 20 × log (V_out_max / V_out_min)

Примеры характеристик:

1.Линейная: V_out = 2 × V_in

2.Ограничивающая: V_out = min(5, max(-5, V_in))

3.Квадратичная: V_out = V_in²

Требуется: Вернуть динамический диапазон в дБ.

22. Расчёт мощности сигнала Задача: Вычислить среднюю мощность сигнала на заданном интервале.

Дано:

Функция сигнала signal_func(t)

Интервал времени: от t_start до t_end с шагом dt

Формула:

P = (1/T) × Σ [signal_func(tᵢ)]² × dt где T = t_end - t_start

Примеры сигналов:

1.Постоянный: signal(t) = 1

2.Треугольный: signal(t) = 1 - |2t - 1|

3.Параболический: signal(t) = 4t(1 - t)

Требуется: Вернуть среднюю мощность.

23. Генерация тестовых векторов Задача: Сгенерировать тестовые векторы по заданному правилу.

Дано:

Функция vector_func(i, j), возвращающая j-й элемент i-го вектора

Количество векторов M

Длина вектора L

Алгоритм: Для каждого i от 0 до M-1 создать вектор [vector_func(i, 0), vector_func(i, 1),

..., vector_func(i, L-1)]

Примеры функций:

1.Двоичные векторы: vector_func(i, j) = (i >> j) & 1

2.Линейные: vector_func(i, j) = i + j

3.Постоянные: vector_func(i, j) = i

Требуется: Вернуть список тестовых векторов.

24. Моделирование квантователя Задача: Преобразовать аналоговый сигнал в квантованный с заданным шагом.

Дано:

Функция аналогового сигнала analog_func(t)

Шаг квантования

Временной интервал: от t_start до t_end с шагом dt

Формула:

quantized(t) = round(analog_func(t) / Δ) ×

Примеры функций сигнала:

1.Линейный: analog_func(t) = t

2.Треугольный: analog_func(t) = 1 - |2t - 1|

3.Параболический: analog_func(t) = 4t(1 - t)

Требуется: Вернуть квантованный сигнал.

25. Расчёт эффективности преобразования

Задача: Вычислить эффективность преобразования энергии для различных режимов работы.

Дано:

Функция входной мощности input_power_func(mode)

Функция выходной мощности output_power_func(mode)

Количество режимов N

Формула для режима i: η(i) = output_power_func(i) / input_power_func(i)

Примеры функций:

1.Линейная зависимость: input_power_func(i) = 100 + i, output_power_func(i) = 80 + 0.8*i

2.Квадратичная: input_power_func(i) = 100 + i2, output_power_func(i) = 90 + 0.7*i2

3.С насыщением: input_power_func(i) = min(150, 100 + 2*i), output_power_func(i) = min(130, 80 + 1.8*i)

Требуется: Вернуть максимальный КПД среди всех режимов.

26. Анализ чувствительности к параметрам

Задача: Оценить чувствительность выхода системы к малым изменениям параметров.

Дано:

Функция выхода системы output_func(params), где params = [p , p ]

Номинальные значения параметров

Малое приращение