0 / 0 / 0
Регистрация: 29.09.2018
Сообщений: 147

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

27.10.2018, 15:31. Показов 3648. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru