Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 29.09.2018
Сообщений: 147

Степенной ряд синуса

27.10.2018, 15:31. Показов 3639. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
И так вот есть условие

Вот код с которым мне помогли на форуме

C#
1
2
3
4
5
6
7
8
9
10
11
12
 double x = 1;
            double step = x;
            double sum = step;
            int rate = 1;
            for (int i = 0; i <= 5; i++)
            {
                step *= -x * x / ++rate/++rate;
                sum += step;
            }
 
            Console.WriteLine(sum);
            Console.WriteLine(Math.Sin(x));
Я так понимаю это расписание в ряд Тейлора-Маклорена, и так вопроси:
1. Почему step у нас равен х то есть 1?
2. Почему sum у нас так же равна 1?
3. И что такое rate в формуле и почему он так же 1?
4. Что значит два знака деления и ++rate(именно 2 плюса спереди)
В формуле на тетрадке я разобрался что к чему но вот связать это с кодом не могу...очень сложно всё.
По формуле расписания синуса если взять і =0 то первый член будет равен 1 (1*х/(1)!) где это записано в коде?
Следующий шаг это (-1*х^3)/3! потом (+1*х^5)/5! и т.д сколько раз будет он работать в цикле мы задаем через n.
Я так понимаю именно эта часть кода отвечает за этот процес, но поясните более подробнее если можно что к чему

C#
1
2
step *= -x * x / ++rate/++rate;
                sum += step;
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.10.2018, 15:31
Ответы с готовыми решениями:

Вычисление функций с использованием их разложения в степенной ряд
double sn = 0; double se = 0; double y = 0; int i; for (double x = 0.1; x &lt; 1; x =...

Вычислить функцию f(x), используя ее разложение в степенной ряд
Помогите чайнику разобратся задания Для х изменяющегося от a до b с шагом (b-a)/k, где (k=10), вычислить функцию f(x), используя ее...

Вычисление функций с использованием их разложения в степенной ряд
Постановка задачи. Для х изменяющегося от a до b с шагом (b-a)/k, где (k=10), вычислить функцию f(x), используя ее разложение в степенной...

24
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2891
Регистрация: 21.04.2018
Сообщений: 33,174
Записей в блоге: 2
29.10.2018, 22:08
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Mirage2000 Посмотреть сообщение
на всяк случай...нам нельзя использовать Math
Для отладки можете запускать с такой строкой, чтобы выловить ошибки.

Добавлено через 1 минуту
Цитата Сообщение от Mirage2000 Посмотреть сообщение
оххх...кажется я понял в чем все проблемы были ... у меня i=0...
Конечно! Там же деление на ноль тогда получается.
0
0 / 0 / 0
Регистрация: 29.09.2018
Сообщений: 147
29.10.2018, 22:19  [ТС]
Элд Хасп, при i=0 знаменатель равен 0, step выдает -infinity это понятно потому что на ноль делить нельзя, но вот когда і = 1 знаменатель становится равной 6 и по идеи step должен быть -1/6=-0.166... но он всё же -infinity...что не так?
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2891
Регистрация: 21.04.2018
Сообщений: 33,174
Записей в блоге: 2
29.10.2018, 22:40
Цитата Сообщение от Mirage2000 Посмотреть сообщение
при i=0 знаменатель равен 0, step выдает -infinity это понятно потому что на ноль делить нельзя, но вот когда і = 1 знаменатель становится равной 6 и по идеи step должен быть -1/6=-0.166... но он всё же -infinity...что не так?
Но у Вас в step уже бесконечность и Вы умножаете бесконечность на что-то - всё равно будет бесконечность.
Чисто - математика.
0
0 / 0 / 0
Регистрация: 29.09.2018
Сообщений: 147
30.10.2018, 22:54  [ТС]
Элд Хасп, а что будет если х ввести с консоли? вот мой вариант
Но он не верный, я не нашёл инфо как записать степень через цикл, я то создал но не уверен что так как нужно ибо значения в консоли различные

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
     double x  ;
            Console.WriteLine("Введіть x");
            x = Convert.ToInt32(Console.ReadLine());
            double step = 1;
            double S = 1;           
            int n;
            double xPow;
            int t =1;
            Console.WriteLine("Введіть кількість разів повтору:");
            n = Convert.ToInt32(Console.ReadLine());
            for (int i = 1; i <= n; i++)
            {
                xPow = x;
                for (int o = 0; o < n; o++)
                {
                    xPow *= x;
                }
                step *= (-t * x) / ((2*i)*(2 * i + 1));
                S += step;
            }
 
            Console.WriteLine(S);
            Console.WriteLine(Math.Sin(x));
            Console.ReadKey();
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2891
Регистрация: 21.04.2018
Сообщений: 33,174
Записей в блоге: 2
31.10.2018, 00:21
Цитата Сообщение от Mirage2000 Посмотреть сообщение
а что будет если х ввести с консоли? вот мой вариант
Обратите внимание, при вводе с консоли надо использовать не методы Parse и Convert, а методы TryParse. Посмотрите пост #19 строки 1-6.
Цитата Сообщение от Mirage2000 Посмотреть сообщение
я не нашёл инфо как записать степень через цикл
У Вас правильно написано, токо чуток подправить надо, а то у Вас n+1 степень получается
C#
13
14
15
16
17
                xPow = 1;
                for (int o = 0; o < n; o++)
                {
                    xPow *= x;
                }
Добавлено через 6 минут
Цитата Сообщение от Mirage2000 Посмотреть сообщение
ибо значения в консоли различные
Вы используете в строке
C#
18
                step *= (-t * x) / ((2*i)*(2 * i + 1));
переменную t, но присвоили ей один раз значение 1 и больше не меняете.

И уточните, что Вы считаете и по какой формуле. А то я уже не пойму этого. В начале была одна, потом другая, здесь пять другая.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.10.2018, 00:21

Вычислить функцию f(x), используя ее разложение в степенной ряд в двух случаях
не выводит значение Summ_E, точнее всегда выводит 0. Пожалуйста, подскажите в чем, где ошибка, что сделано не так? От этого зависит...

Вычислить значение функции y=e^x для произвольного числа x, используя ее разложение в степенной ряд
Вычислить значение функции y=ex для произвольного числа x, используя ее разложение в степенной ряд. Учитывать те слагаемые, которые больше...

Через разложение синуса в степенной ряд доказать sin' x = cos x
Здравствуйте! Как с помощью разложения синуса в степенной ряд: \sin x = x - \frac{{x}^{3}}{3!} + \frac{{x}^{5}}{5!}- ... +...

Степенной ряд
Может кто выручить , пытаюсь решить этот пример , но всё сводится к бредовым записям. Степенной ряд по степеням (х + 2) сходится в...

Степенной ряд
Помогите решить...


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru