Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.76/17: Рейтинг темы: голосов - 17, средняя оценка - 4.76
a.n.o.n.i.m
137 / 137 / 39
Регистрация: 26.02.2011
Сообщений: 535
1

Разложить sin(x) в ряд Тейлора

27.11.2012, 16:33. Просмотров 3214. Ответов 9
Метки нет (Все метки)

Разложить sin(x) в ряд Тейлора.На экран должно выводиться n первых слагаемых разложения (x-0.16667x3+…). Значение n определяет пользователь.

Не могу сообразить,само задание.
Разложить в ряд из википедии это sin(x) = x - (x3/3!) + (x5/5!) - (x7/7!) + ..... это раз.
И зачем число в задание (x-0.16667x3+…) не понял.
Мож кто разъеснит?

И если n=1 что должно вывести и n=2 для примера.

Начал писать такую вещь.

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
25
26
27
28
29
30
31
32
33
34
35
ostream& operator << (ostream& out, const Teilor& t)
{
    double gh = 0.0;
    int i = 3,k = 1,ss = 0;
 
    for(int st=1;st<=t.n;st++)
    {
        for(int i=3; i>=1; i--)
        {
            k*=i;
        }
        if(st>1)
        {
            gh = ((pow(t.x,i))/k);
            i+=2;//Степень и факториал
            k=1;//сброс на дефолт,для факториала
            ss++;
        }
        else
        {
            gh = t.x;
            ss++;
        }
        out<<"("<<gh<<")";
        if(st<t.n && ss%2==0)
        {
            out<<"+";
        }
        else if(st<t.n && ss%2!=0)
        {
            out<<"-";
        }
    }
    return out;
}
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2012, 16:33
Ответы с готовыми решениями:

Разложить функцию sin(nx) в ряд Тейлора
разложить функцию sin(nx) по ряду Тейлора

Разложить в ряд Тейлора
Добрый вечер. Дано задание: написать программу для вычисления приближенного...

Разложить в ряд Тейлора
Помогите,срочно пожалуйста!:cry: ex=1+x+x2/2!+x3/3!+...

Разложить функцию f (x) в ряд Тейлора
Добрый вечер,прошу помочь с двумя задачами... Для заданных n и m ...

Разложение sin(x) в ряд Тейлора
Всем доброго время суток! Проверьте пожалуйста правильный ли следующий код : ...

9
XRuZzz
Антикодер
1496 / 667 / 37
Регистрация: 15.09.2012
Сообщений: 2,680
27.11.2012, 17:07 2
ну так а чему равно x^3 * 1/3!
0
a.n.o.n.i.m
137 / 137 / 39
Регистрация: 26.02.2011
Сообщений: 535
27.11.2012, 17:23  [ТС] 3
дак x и n вводим в самом начале
2
XRuZzz
Антикодер
1496 / 667 / 37
Регистрация: 15.09.2012
Сообщений: 2,680
27.11.2012, 17:44 4
просто может вы в курсе, но я на всякий случай скажу
x^3 * 1/3! = x^3 * 0.16667

поэтому эта одна и та же формула, в этом случае не стоит отвлекаться на формулировку задания. делайте по вики.

Добавлено через 2 минуты
думаю при n = 1 мы получим x
при n = 2 мы получим (x-0.16667x^3)
1
a.n.o.n.i.m
137 / 137 / 39
Регистрация: 26.02.2011
Сообщений: 535
27.11.2012, 17:48  [ТС] 5
Вот в данный момент как работает, это верно вообще?и какие ограничение поставить на ввод икса?и нужны ли(если да,то какие) ограничения на n?
2
Миниатюры
Разложить sin(x) в ряд Тейлора  
XRuZzz
Антикодер
1496 / 667 / 37
Регистрация: 15.09.2012
Сообщений: 2,680
27.11.2012, 18:02 6
думаю, что обработку ряда Тейлора нужно делать не в перезагрузке оператора << а где нить в другом месте. (сами будете путаться)
результат обычно сравнивается с sin(x) из библиотеки math.h
или результат вычислений синуса вообще не надо выводить?

Добавлено через 8 минут
n как бы > 0 и естественно, как то ограничено сверху, комп не будет считать до бесконечности.
1
a.n.o.n.i.m
137 / 137 / 39
Регистрация: 26.02.2011
Сообщений: 535
27.11.2012, 18:02  [ТС] 7
C++
1
        out<<"("<<gh<<")"<<"("<<sin(gh)<<")";
Для интереса сделал так. Результат таков (число по циклам моим)(синус числа)
Они различаются чуток,такого не должно быть так?

И скажите про ограничения x.Как ограничить x и n я хз,подскажите?Сравнивать в задание с синусом нету.
1
Миниатюры
Разложить sin(x) в ряд Тейлора  
XRuZzz
Антикодер
1496 / 667 / 37
Регистрация: 15.09.2012
Сообщений: 2,680
27.11.2012, 18:22 8
да всё правильно, при увеличении n точность вычислений ряда тейлора растёт. в вики написано x принадлежит C . C это комплексные числа
1
a.n.o.n.i.m
137 / 137 / 39
Регистрация: 26.02.2011
Сообщений: 535
27.11.2012, 18:37  [ТС] 9
а x от скольки до скольки может быть?
1
XRuZzz
Антикодер
1496 / 667 / 37
Регистрация: 15.09.2012
Сообщений: 2,680
27.11.2012, 19:23 10
вот как посмотрите как красиво сделано вычисление факториала
Вычисление функции через разложение в ряд (Ряд Тейлора)
это во первых
во вторых если мы вводим double x; то подумайте, что будет на выходе вычислений, когда x будет в максимумах в положит и отриц сторону. x ограничено возможностями компилятора и компьютера.
в третьих я не знаю как у вас по заданию, но n я бы ограничил размерами экрана, при этом n - целое
в четвертых в идеале ввод пользователя проверяется регулярными выражениями

Добавлено через 34 минуты
Типы данных
1
27.11.2012, 19:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2012, 19:23

Вычисление sin(x) разложением в ряд Тейлора
как решить это чудовище пробовал так: #include&lt;iostream&gt; #include&lt;math.h&gt;...

Разложения функции в ряд Тейлора sin^3(x)
Помогите написать программу на разложения этой функции в ряд Тейлора?

Разложить функцию в ряд Тейлора и построить график
Ряд tan разложил надеюсь правильно) А вот как нарисовать графики не знаю....


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru