Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.85
a.n.o.n.i.m
137 / 137 / 15
Регистрация: 26.02.2011
Сообщений: 531
#1

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

27.11.2012, 16:33. Просмотров 2765. Ответов 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(x) в ряд Тейлора (C++):

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

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

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

Разложение sin(x) в ряд Тейлора - C++
Всем доброго время суток! Проверьте пожалуйста правильный ли следующий код : #include &lt;cmath&gt; #include &lt;iostream&gt; #include...

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

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

9
XRuZzz
Антикодер
681 / 583 / 29
Регистрация: 15.09.2012
Сообщений: 2,531
27.11.2012, 17:07 #2
ну так а чему равно x^3 * 1/3!
0
a.n.o.n.i.m
137 / 137 / 15
Регистрация: 26.02.2011
Сообщений: 531
27.11.2012, 17:23  [ТС] #3
дак x и n вводим в самом начале
2
XRuZzz
Антикодер
681 / 583 / 29
Регистрация: 15.09.2012
Сообщений: 2,531
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 / 15
Регистрация: 26.02.2011
Сообщений: 531
27.11.2012, 17:48  [ТС] #5
Вот в данный момент как работает, это верно вообще?и какие ограничение поставить на ввод икса?и нужны ли(если да,то какие) ограничения на n?
2
Миниатюры
Разложить sin(x) в ряд Тейлора  
XRuZzz
Антикодер
681 / 583 / 29
Регистрация: 15.09.2012
Сообщений: 2,531
27.11.2012, 18:02 #6
думаю, что обработку ряда Тейлора нужно делать не в перезагрузке оператора << а где нить в другом месте. (сами будете путаться)
результат обычно сравнивается с sin(x) из библиотеки math.h
или результат вычислений синуса вообще не надо выводить?

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

И скажите про ограничения x.Как ограничить x и n я хз,подскажите?Сравнивать в задание с синусом нету.
1
Миниатюры
Разложить sin(x) в ряд Тейлора  
XRuZzz
Антикодер
681 / 583 / 29
Регистрация: 15.09.2012
Сообщений: 2,531
27.11.2012, 18:22 #8
да всё правильно, при увеличении n точность вычислений ряда тейлора растёт. в вики написано x принадлежит C . C это комплексные числа
1
a.n.o.n.i.m
137 / 137 / 15
Регистрация: 26.02.2011
Сообщений: 531
27.11.2012, 18:37  [ТС] #9
а x от скольки до скольки может быть?
1
XRuZzz
Антикодер
681 / 583 / 29
Регистрация: 15.09.2012
Сообщений: 2,531
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
Привет! Вот еще темы с ответами:

Разложить функцию в ряд Тейлора и построить график - C++
Ряд tan разложил надеюсь правильно) А вот как нарисовать графики не знаю. Помогите пожалуйста. #include &lt;iostream&gt; #include &lt;stdio.h&gt; ...

Вычисление функции sin разложеием в ряд Тейлора - C++
Задача такая, вычислить с заданной точностью значение функции синуса, дана формула для описания синуса, sin(x) = x - x^3/3! + x^5/5! ... ...

Вычисление функции sin разложением в ряд Тейлора - C++
Добрые Люди! Помогите,пожалуйста! Задание: Определить, сколько слагаемых ряда Тейлора потребуется, чтобы вычислить значение функции sinx...

Разложить функцию f(x) в ряд Тейлора в окрестности указанной точки х0 - C++
Разложить функцию f(x) в ряд Тейлора в окрестности указанной точки х0. Найти область сходимости полученного ряда к этой функции.


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

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

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