Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
8 / 5 / 1
Регистрация: 15.12.2020
Сообщений: 349

Составить таблицу значений функции

14.09.2022, 23:01. Показов 1423. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Составить таблицу значений функции sin x с точностью до 10**(-15),
x = 0.345 +0.005k (k = 0,1,2,...,15), пользуясь ее расписанием в степенном ряду;

Добавлено через 15 минут
Пока что накинул такой код Ряд Маклорена
Python
1
2
3
4
5
6
7
8
9
def sin_rec(x, i=0, err=10**9, eps=1e-15):
    if i < 0:
        return 1
    res = x**(2*i+1) / math.factorial(2*i+1)
    if res <= eps:
        return (-1)**i * res
    return (-1)**i * res + sin_rec(x, i+1, err=err, eps=eps)
 
print(sin_rec(0.345))
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.09.2022, 23:01
Ответы с готовыми решениями:

Составить таблицу значений функции используя метод итерации
Нужна помощь, пожалуйста! Составить таблицу значений функции y с точностью до 10**(-15), пользуясь методом итераций, если

Постройте таблицу значений функции
Здравствуйте. Помогите пожалуйста решить задачу с использованием функций. Заранее спасибо! Постройте таблицу значений функции y=f(x)...

Вывести таблицу значений функции
Разработать блок-схему и программу табулирования (вычисления таблицы значений) функции для произвольного диапазона измен Посмотрите,...

8
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 14
15.09.2022, 07:02
Цитата Сообщение от VictorVAlduin Посмотреть сообщение
Пока что накинул такой код Ряд Маклорена
- код плохой (сразу виден студент!), но ладно (он работает). Так что мешает тебе, болезный, дописать вот это:

Python
1
2
3
for k in range(16):
    x=0.345+0.005*k
    print(x, sin_rec(x))
Ведь ты сам "накинул" довольно заколупистый код (да еще с рекурсией!) Или не сам?
2
78 / 73 / 19
Регистрация: 18.05.2021
Сообщений: 287
15.09.2022, 08:17
Я бы код функции так написал. Мне кажется, читабельней. Рекурсия здесь вообще не нужна. Она всё равно медленней работать будет.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import math
PI = math.pi
 
def sin_rec(x, depth=5):
    a = 1 # степень
    b = 1 # факториал
    c = 1 # знак
    rezult = 0
    for _ in range(depth):
        rezult = rezult + c * (x**a)/math.factorial(b)
        c *= -1
        a += 2
        b += 2
        
    return rezult
 
print(sin_rec(PI/6))
# >>> 0.5000000000202799
1
8 / 5 / 1
Регистрация: 15.12.2020
Сообщений: 349
15.09.2022, 12:25  [ТС]
Я не совсем понял почему вы именно PI/6 можете обьяснить ?А еще depth - глубина - это есть заданная точность?
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 14
15.09.2022, 14:21
Лучший ответ Сообщение было отмечено VictorVAlduin как решение

Решение

О, господи!... Вот простой код

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def my_sin(x,eps=1.0e-14):
    n=1
    a=x
    s=0
    while abs(a) > eps:
        s+=a
        a=-a*x*x/((n+1)*(n+2))
        n+=2
    return s
 
mytable = PrettyTable()
mytable.field_names = ["x", "my_sin", "sin", "diff"]
 
for k in range(16):
    x=0.345+0.005*k
    a=my_sin(x)
    b=sin(x)
    #print(x,a , b, abs(a-b))
    mytable.add_row([x,a,b,abs(a-b)])
 
print(mytable)

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
+---------------------+---------------------+---------------------+------------------------+
|          x          |        my_sin       |         sin         |          diff          |
+---------------------+---------------------+---------------------+------------------------+
|        0.345        |  0.3381966772477911 | 0.33819667724779123 | 1.1102230246251565e-16 |
|         0.35        |  0.3428978074554511 | 0.34289780745545134 | 2.220446049250313e-16  |
|        0.355        | 0.34759036523578407 |  0.3475903652357843 | 2.220446049250313e-16  |
|         0.36        | 0.35227423327508967 | 0.35227423327508994 | 2.7755575615628914e-16 |
|        0.365        | 0.35694929447691104 | 0.35694929447691137 | 3.3306690738754696e-16 |
|         0.37        | 0.36161543196496165 |  0.361615431964962  | 3.3306690738754696e-16 |
|        0.375        | 0.36627252908604707 | 0.36627252908604757 | 4.996003610813204e-16  |
|         0.38        |  0.3709204694129821 |  0.3709204694129827 | 5.551115123125783e-16  |
| 0.38499999999999995 | 0.37555913674750047 |  0.3755591367475012 | 7.216449660063518e-16  |
| 0.38999999999999996 |  0.3801884151231606 | 0.38018841512316137 | 7.771561172376096e-16  |
| 0.39499999999999996 |  0.3848081888082441 | 0.38480818880824497 | 8.881784197001252e-16  |
| 0.39999999999999997 | 0.38941834230864936 | 0.38941834230865047 | 1.1102230246251565e-15 |
| 0.40499999999999997 |  0.3940187603707792 | 0.39401876037078043 | 1.2212453270876722e-15 |
|         0.41        |  0.3986093279844214 |  0.3986093279844229 | 1.4988010832439613e-15 |
|        0.415        | 0.40318993038562484 |  0.4031899303856266 | 1.7763568394002505e-15 |
|         0.42        |  0.4077604530595682 | 0.40776045305957015 | 1.942890293094024e-15  |
+---------------------+---------------------+---------------------+------------------------+
1
8 / 5 / 1
Регистрация: 15.12.2020
Сообщений: 349
15.09.2022, 14:45  [ТС]
Спасибо конечно Вам! Но я пытаюсь также и разобраться в коде, поэтому и задаю возможно дурные вопросы

Добавлено через 22 минуты
Catstail, можете рассказать более подробно про работу этой чатси кода:
Python
1
2
3
4
5
    while abs(a) > eps:
        s+=a
        a=-a*x*x/((n+1)*(n+2))
        n+=2
    return s
s - suma я понял это
Цикл работает пока модуль числа а больше заданной точности это я понял.
Но вот дальше что внутри тела цикла я не понимаю почему именно такие формулы мы используем в частности
Python
1
2
        a=-a*x*x/((n+1)*(n+2))
        n+=2
Если я правильно понял n - отыгрывает роль факториала если правильно опять же понял
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 14
15.09.2022, 15:08
VictorVAlduin, смотри:

https://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{n}=({-1}^{n})*{x}^{2n+1}/(2n+1)! при n=0,1... Но тогда:

https://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{n+1}=({-1}^{n+1})*{x}^{2n+3}/(2n+3)!

Теперь получим формулу (рекуррентную), которая связывает an+1 с an

https://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{n+1}/{a}_{n}=(-1)*{x}^{2}/((2n+2)(2n+3))

Но тогда: https://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{n+1}=-{a}_{n}*{x}^{2}/((2n+2)(2n+3))

В коде работает эта формула. Только n в коде меняется через 2.
2
8 / 5 / 1
Регистрация: 15.12.2020
Сообщений: 349
15.09.2022, 15:19  [ТС]
СПАСИБО! Понял вот так бы все формулы подробно расписывали в учебниках по проги вообще было бы супер
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 14
15.09.2022, 16:10
VictorVAlduin, программист должен дружить с математикой. Иначе, это не программист, а тупой кодер! Удачи!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.09.2022, 16:10
Помогаю со студенческими работами здесь

Вывести таблицу значений функции
Нужно в задании 1 для его реализации следует применить разветвления и циклы. Помогите не могу решить. Вот задание: \large...

Постройте таблицу значений функции для y=f(x)
Постройте таблицу значений функции y=f(x) для х принадлежащий с шагом h. Замечание. В программе должна быть создана функция для...

Постройте таблицу значений функции y=f(x) для x ∈[a, b] с шагом h
y= x, если x&gt;0; 0, если -1 ≤ x ≤ -1; x², если x &lt; -1; Помогите решить пожалуйста

Напечатать таблицу значений функции на отрезке [a,b] с шагом h
Напечатать таблицу значений функции на отрезке с шагом h. Имя функции (sin, tan, log, cos, sqrt и т.п.) передается в командной строке....

Вывести таблицу значений функции в заданном интервале
\\\ П.5.18.Правил Запрещено размещать задания и решения в виде картинок и других файлов с их текстом. П.5.4. Правил Запрещено...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru