С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 17.12.2024
Сообщений: 1

Рассчитать значения функции в целочисленном интервале

17.12.2024, 12:20. Показов 2026. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана функция, вычисляющая значение переменной y в зависимости от переменной x. Дан интервал целых чисел, которые может принимать переменная x. Необходимо написать программу на языке Python, которая выведет в текстовый файл result.txt значения переменной y для каждого из предложенных x. Точность значений у при распечатке установить в 3 знака после запятой. Кодировка в текстовом файле должна быть Unicode. Путь к входному и выходному файлу в коде программы нужно сделать относительным.
Исходные данные
Список значений x, подготавливается заранее в текстовом файле source_data.txt
Текстовый файл с исходными данными должен содержать исходную информацию следующего вида:

x=-3
x=-2
x=-1

…………..

Выходные данные
В текстовый файл result.txt должны быть выведены результаты в следующем формате:

При x = -3 значение y = 2.348
При x = -2 значение y = 7.928
При x = -1 значение y = -6.122
При x = 0 значение y = -4.115
При x = 1 значение y = -7.254
…………

Функция y(x)

рассчитать значения в целочисленном интервале [-10, 10]
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.12.2024, 12:20
Ответы с готовыми решениями:

Рассчитать значения в целочисленном интервале
Здравствуйте. Делаю работу import math # Путь к исходным данным SOU_DATA = "./source_data.txt" # Путь к выходным данным ...

Рассчитать значения в целочисленном интервале
Дана функция, вычисляющая значение переменной y в зависимости от переменной x. Дан интервал целых чисел, которые может принимать...

Рассчитать значения в целочисленном интервале
Дана функция, вычисляющая значение переменной y в зависимости от переменной x. Дан интервал целых чисел, которые может принимать...

15
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
17.12.2024, 12:27
функция-то где?
1
740 / 622 / 151
Регистрация: 04.03.2022
Сообщений: 1,272
17.12.2024, 12:50
iSmokeJC, ну очевидно же...
https://www.cyberforum.ru/cgi-bin/latex.cgi?y = -2.3704*{x}^{4} - 8.2747*{x}^{3} - 0.2026*{x}^{2} + 7.7087*x - 4.115
3
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
17.12.2024, 12:53
Parramon, жжошь как аццкий огнемет!
0
90 / 125 / 28
Регистрация: 17.10.2010
Сообщений: 1,321
18.12.2024, 15:39
Цитата Сообщение от Parramon Посмотреть сообщение
iSmokeJC, ну очевидно же...
Python
1
2
3
import math
x=float(input())
print(-2.3704*x**4-8.2747*x**3-0.2026*x**2+7.7087*x-4.115)
Добавлено через 2 минуты
либо:
Python
1
2
x=float(input())
print(-2.3704*x*x*x*x-8.2747*x*x*x-0.2026*x*x+7.7087*x-4.115)
Добавлено через 3 часа 32 минуты
Если нужно через функции, то вот:
Python
1
2
3
4
x=float(input())
def y(x):
   return -2.3704*x**4-8.2747*x**3-0.2026*x**2+7.7087*x-4.115
print(y(x))
Добавлено через 3 минуты
Только при x= -3 результат не много отличается от нужного.

Добавлено через 47 минут
Кажется я понял, что тебе нужно вычислить:
Python
1
2
3
4
for x in range(-10, 10):
 def y(x):
   return -2.3704*x**4-8.2747*x**3-0.2026*x**2+7.7087*x-4.115
 print(y(x))
Добавлено через 19 минут
Еще проше можно:
Python
1
2
for x in range(-10, 10):
 print(-2.3704*x*x*x*x-8.2747*x*x*x-0.2026*x*x+7.7087*x-4.115)
1
5515 / 2868 / 571
Регистрация: 07.11.2019
Сообщений: 4,758
18.12.2024, 18:13
Можно так записать функцию-полином:
Python
1
2
k=(-4.115, 7.7087, -0.2026, -8.2747, -2.3704)
f=lambda x: sum(k[i]*x**i for i in range(5))
Но лучше использовать схему Горнера для вычислений..
2
90 / 125 / 28
Регистрация: 17.10.2010
Сообщений: 1,321
19.12.2024, 13:50
Python
1
2
3
k=(-4.115, 7.7087, -0.2026, -8.2747, -2.3704)
f=lambda x: sum(k[i]*x**i for i in range(5))
print(f(x,k))
Как результат вывести на экран????
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
19.12.2024, 13:59
isaak, метод научного тыка не сработал? Печально.
сохраню интригу
2
740 / 622 / 151
Регистрация: 04.03.2022
Сообщений: 1,272
19.12.2024, 19:17
Цитата Сообщение от u235 Посмотреть сообщение
Но лучше использовать схему Горнера для вычислений..
Вначале я вообще хотел через кубический сплайн реализовать. Но стало лень.
1
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6156 / 2847 / 1042
Регистрация: 01.06.2021
Сообщений: 10,396
25.12.2024, 14:09
По условию, особо точных результатов и не нужно.

Цитата Сообщение от darxwix Посмотреть сообщение
Точность значений у при распечатке установить в 3 знака после запятой.
Если что-то не так с функцией из поста 3, то можно взять коэффициенты чуть поточнее.

Или вообще, перейти на символьные вычисления

https://www.cyberforum.ru/cgi-bin/latex.cgi?y(x)=-\frac{5689 x^4}{2400}-\frac{3103 x^3}{375}-\frac{2431 x^2}{12000}+\frac{11563 x}{1500}-\frac{823}{200}
2
90 / 125 / 28
Регистрация: 17.10.2010
Сообщений: 1,321
25.12.2024, 15:09
Мне не жалко в отличии от iSmokeJC вот собственно, решение не совсем идеальное:
Python
1
2
3
4
5
6
7
8
9
10
11
k = (-4.115, 7.7087, -0.2026, -8.2747, -2.3704)
f = lambda x: sum(k[i] * x ** i for i in range(5))
 
# Задаем интервал значений x
start = -10  # Начало интервала
end = 10     # Конец интервала
step = 1     # Шаг
 
# Выводим значения функции в заданном интервале
for x in range(start, end + 1, step):
    print(f"x = {x}, y(x) = {f(x)}")
Добавлено через 1 минуту
Может кто,то более идеальное решение предложит?
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6156 / 2847 / 1042
Регистрация: 01.06.2021
Сообщений: 10,396
25.12.2024, 15:57
isaak, по условию

Цитата Сообщение от darxwix Посмотреть сообщение
Точность значений у при распечатке установить в 3 знака после запятой.
а у тебя не так

можно попробовать

Python
1
print(f"x = {x}, y(x) = {f(x):.3f}")
В таком случае, твой код выведет данный список. При x = -3 не совпадает с условием. Нужно увеличить точность коэффициентов. Чтобы долго не париться, смотри на точную формулу, которую я написал выше. По ней рассчитай более точные коэффициенты.

x = -10, y(x) = -15530.762
x = -9, y(x) = -9609.842
x = -8, y(x) = -5551.263
x = -7, y(x) = -2921.112
x = -6, y(x) = -1342.364
x = -5, y(x) = -494.886
x = -4, y(x) = -115.433
x = -3, y(x) = 2.350
x = -2, y(x) = 7.928
x = -1, y(x) = -6.122
x = 0, y(x) = -4.115
x = 1, y(x) = -7.254
x = 2, y(x) = -93.632
x = 3, y(x) = -398.232
x = 4, y(x) = -1112.925
x = 5, y(x) = -2486.474
x = 6, y(x) = -4824.530
x = 7, y(x) = -8489.634
x = 8, y(x) = -13901.217
x = 9, y(x) = -21535.598
x = 10, y(x) = -31925.988
1
90 / 125 / 28
Регистрация: 17.10.2010
Сообщений: 1,321
25.12.2024, 16:27
Royal_X, согласен
Python
1
2
3
4
5
6
7
8
9
10
f = lambda x: (-5689/2400*x**4-3103/375*x**3-2431/12000*x*x+11563/1500*x-823/200)
 
# Задаем интервал значений x
start = -10  # Начало интервала
end = 10  # Конец интервала
step = 1  # Шаг
 
# Выводим значения функции в заданном интервале
for x in range(start, end + 1, step):
    print(f"x = {x}, y(x) = {f(x)}")
Добавлено через 1 минуту
Python
1
2
3
4
5
6
7
8
9
10
f = lambda x: (-5689/2400*x**4-3103/375*x**3-2431/12000*x*x+11563/1500*x-823/200)
 
# Задаем интервал значений x
start = -10  # Начало интервала
end = 10  # Конец интервала
step = 1  # Шаг
 
# Выводим значения функции в заданном интервале
for x in range(start, end + 1, step):
    print(f"x = {x}, y(x) = {f(x):.3f}")
0
 Аватар для Aviz__
2736 / 2046 / 506
Регистрация: 17.02.2014
Сообщений: 9,462
25.12.2024, 21:05
Python
1
2
3
4
5
6
7
8
9
10
11
def some_foo():
    p = yield
    while True:
        p = yield (-28445 * p ** 4 - 99296 * p ** 3 - 2431 * p * p + 92504 * p - 49380) / 12000
 
 
f = some_foo()
next(f)
for x in range(-10, 11):
    print(f"x = {x}, y(x) = {f.send(x):.3f}")
f.close()
2
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6156 / 2847 / 1042
Регистрация: 01.06.2021
Сообщений: 10,396
25.12.2024, 21:41
Код isaak в 1,19 раз быстрее кода Aviz__. Нет смысла усложнять читаемость, приводить к сомнительному общему знаменателю и т.д.
1
 Аватар для Aviz__
2736 / 2046 / 506
Регистрация: 17.02.2014
Сообщений: 9,462
26.12.2024, 07:02
Цитата Сообщение от Royal_X Посмотреть сообщение
Нет смысла
смысл взглянуть на задачу с другого ракурса есть всегда! не помогло тебе, хорошо, другим людям поможет. спор ради спора, так себе занятие...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.12.2024, 07:02
Помогаю со студенческими работами здесь

Рассчитать значения функции на заданном интервале
функция y=sin x^2 рассчитать функцию при x=от 0 до P по палам с шагом 1 результат должен быть оформлен с помощью HTML CSS

Рассчитать значения на интервале
Помогите с кодом Для заданных функций рассчитать их значения на интервале xn,xk с шагом xh . Изменение аргумента и результаты расчета...

Рассчитать значение функции в заданном интервале и с точностью
Доброго времени суток, столкнулся тут с задачкой на Delphi, не понимаю как решить, подскажите как решать ее. Вроде бы промежуток от...

Рассчитать значение функции на заданном интервале в n точках
Рассчитать значение функции на данном интервале в n точках. Границы интервала задаются переменными х min x и max, a и b-именованные...

Вычислить значения функции F на интервале от начального значения х= Хнач до конечного значения х=Хкон с шагом X шаг
Написал программу для решения задачи, нужно использовать цикл. Программа вроде работает. Но не уверен. Посмотрите, пожалуйста, и...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru