Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 11.12.2022
Сообщений: 19

Задание по вычислительным методам

11.01.2024, 16:28. Показов 728. Ответов 3

Студворк — интернет-сервис помощи студентам
Здравствуйте, кто разбирается, подскажите пожалуйста правильно ли я выполнила задание?

Задание:

Решение:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import matplotlib.pyplot as plt
import numpy as np
from scipy.optimize import curve_fit
 
# Определяем логарифмическую функцию для аппроксимации
def log_func(x, a, b):
    return a * np.log(x) + b
 
# Данные точки
x_data = np.array([1, 2, 4, 6, 7])
y_data = np.array([1.234, 1.407, 1.581, 1.682, 1.721])
 
# Выполняем подбор кривой
popt, pcov = curve_fit(log_func, x_data, y_data)
 
# Извлекаем параметры
a, b = popt
print(f"Параметры аппроксимирующей функции: a = {a}, b = {b}")
 
# Создаем набор значений y для построения графика
x_fit = np.linspace(min(x_data), max(x_data), 100)
y_fit = log_func(x_fit, *popt)
 
# Построение графика
plt.figure(figsize=(10, 6))
plt.plot(x_data, y_data, 'bo', label='Данные')
plt.plot(x_fit, y_fit, 'r-', label=f'Аппроксимация: a*log(x) + b\na={a:.4f}, b={b:.4f}')
plt.title('Метод наименьших квадратов')
plt.xlabel('x')
plt.ylabel('F(x)')
plt.legend()
plt.grid(True)
plt.show()
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.01.2024, 16:28
Ответы с готовыми решениями:

Задание по численным методам
Добрый вечер, кто может помочь в заданиях по численным методам? 1. Локализация уравнения. 2. Приведения к виду, пригодному для...

задание по числовым методам
может кто помочь с таким заданием: Найти решение нелинейного уравнения методом дихотомии с допустимой погрешностью Е=0.0001. Решить...

Задание по методам одномерной оптимизации
Если кому не сложно, помогите с заданием, пожалуйста Нужно: Разработать алгоритм поиска унимодального участка заданной функции (с...

3
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
11.01.2024, 16:46
Цитата Сообщение от Valeria__2 Посмотреть сообщение
правильно ли я выполнила задание?
lg(x) - обычно обозначают десятичный логарифм. У вас - натуральный.
Всю работу за вас сделал curve_fit, неизвестно как к этому отнесется преподаватель.
В остальном замечаний нет.
0
0 / 0 / 0
Регистрация: 11.12.2022
Сообщений: 19
11.01.2024, 17:37  [ТС]
попробовала без "curve_fit", вроде работает, если не сложно, оцените)

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import matplotlib.pyplot as plt
import numpy as np
 
# Исходные данные
x_data = np.array([1, 2, 4, 6, 7])
y_data = np.array([1.234, 1.407, 1.581, 1.682, 1.721])
 
# Функция для вычисления десятичного логарифма
def log10_func(x, a, b):
    return a * np.log10(x) + b
 
# Реализация метода наименьших квадратов для нахождения оптимальных параметров a и b
def least_squares_fit(x_data, y_data):
    # Количество точек
    n = len(x_data)
 
    # Средние значения
    x_mean = np.mean(x_data)
    y_mean = np.mean(y_data)
 
    # Расчет коэффициентов a и b для линии тренда y = a * log10(x) + b
    # Расчет a
    numer = np.sum((x_data - x_mean) * (y_data - y_mean))
    denom = np.sum((x_data - x_mean)**2)
    a = numer / denom
 
    # Расчет b
    b = y_mean - a * x_mean
 
    return a, b
 
# Находим параметры a и b
a, b = least_squares_fit(np.log10(x_data), y_data)
print(f"Найденные параметры: a = {a}, b = {b}")
 
# Вычисление аппроксимированных значений
y_approx = log10_func(x_data, a, b)
 
# Построение графиков
plt.figure(figsize=(10, 6))
plt.scatter(x_data, y_data, color='blue', label='Исходные данные')
plt.plot(x_data, y_approx, color='red', label=f'Аппроксимация: a*lg(x) + b\na={a:.4f}, b={b:.4f}')
plt.title('Аппроксимация методом наименьших квадратов')
plt.xlabel('x')
plt.ylabel('F(x)')
plt.legend()
plt.grid(True)
plt.show()
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
11.01.2024, 21:13
Лучший ответ Сообщение было отмечено Valeria__2 как решение

Решение

Valeria__2, у меня нет сейчас возможности запустить код, но у вас то она есть. Вы видите, что получается? Сравните с первой версией. Параметры совпадают?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.01.2024, 21:13
Помогаю со студенческими работами здесь

задание по методам кластерного анализа
Помогите пожалуйста разобраться с заданием,не получается понять как его решить.Задание такое: Для классификации 5 предприятий на 2 класса...

Динамичное задание имён методам
Добрый день! Подскажите как реализовать System.EventHandler(PictureBoxes_Click); отдельно для каждого элемента? т.е. field_0 -->...

Задание по численным методам, не могу разобраться
F = 3x12 + 2x22 + 4x32 + 5x1x2 – x3 +exp( 8* x2 – x1 );

Задание по методам анализа данных (Statgraphics или Statistica Statsoft)
Тема. Представление и преобразование числовых последовательностей. Сглаживание. Параллельные и блуждающие схематические диаграммы....

Задание по методам поиска (игра в "угадай число" наоборот)
Нужно составить программу определения задуманного ЧЕЛОВЕКОМ числа от 1 до 1000 с помощью 10 вопросов. Каждый вопрос имеет вид "верно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru