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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.95
Buiucliu
6 / 6 / 1
Регистрация: 06.05.2012
Сообщений: 18
#1

вычислить с заданной точностью значение функции - C++

24.08.2012, 12:02. Просмотров 2750. Ответов 21
Метки нет (Все метки)

вот такая задачка...
Миниатюры
вычислить с заданной точностью значение функции  
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.08.2012, 12:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос вычислить с заданной точностью значение функции (C++):

Вычислить с заданной точностью значение заданной комплексной функции - C++
Не могу составить алгоритм. Уже 2 дня мучаюсь и ищу материал. Вот, собственно, задачка: Даны комплексное число z (пара вещественных...

Вычислить с заданной точностью значение функции - C++
вот такая задачка..

Вычислить с заданной точностью значение функции - C++
помогите пожалуйста справиться с заданием..скоро надо сдавать Вычислить с заданной точностью значение функции , используя ее разложение в...

Вычислить с заданной точностью значение функции y=f(x) - C++
Вычислить с заданной точностью значение функции y=f(x), используя ее разложение в ряд: y=arth x=1/2ln1+x/1-x=x+x^3/3+x^3/5+..., для |x|<1...

Что значит вычислить значение функции с заданной точностью? - C++
Например, дана функция cosx/x и какая-либо точность. Как вычислить значение функции с заданной точностью? Нужен скорее не сам код (но для...

Вычислить с заданной точностью значение функции, используя ее разложение в ряд - C++
Здравствуйте! Помогите, пожалуйста, с двумя заданиями: 1. Вычислить по формуле: (первая картинка) 2. Вычислить с заданной...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
-=ЮрА=-
Заблокирован
Автор FAQ
25.08.2012, 17:09 #16
Thinker, ниже наглядная демонстрация, надеюсь вы поймёте о чём я говорю

PS:и не надо сбрасывать периоды косинуса(мы разговаривали о другом) я вам ещё раз повторюсь разложение имеет минимальную погрешность в области |x| < 1 BСЁ ЗАКОНЧИЛИ!
Миниатюры
вычислить с заданной точностью значение функции  
Вложения
Тип файла: rar TaylorCos.mcd.rar (1.8 Кб, 4 просмотров)
defer
秘密
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
25.08.2012, 17:11 #17
Цитата Сообщение от Thinker Посмотреть сообщение
Мой вариант решения задачи:
А где тут точность задается?
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
25.08.2012, 17:12 #18
Mathcad не критерий истинности, голова для этого имеется. Там явный косяк, так как вычисления в нем не по признаку Лейбница проводятся.

Добавлено через 35 секунд
Цитата Сообщение от defer Посмотреть сообщение
А где тут точность задается?
Второй параметр функции Cos
-=ЮрА=-
Заблокирован
Автор FAQ
25.08.2012, 17:21 #19
Thinker, только что написали что мол разложение работает для любых аргументов, а сами init-ом периоды убираете (У вас такое же разложение что и у меня только трудней записанное, дело в другом от того что написали вы разложение считать правельней для больших модулей аргумента НЕ СТАЛО!)
Короче вот оптимальный алгоритм со сбрасыванием периода без кучи всякой ненужной ерунды
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
#include <cmath>
#include <iomanip>
#include <iostream>
using namespace std;
 
double cosx(double x, double e)
{
    double sum = 0;
    double   n = 0;
    for(double  an = 1; e < fabs(an); n = n + 1)
    {
        sum += an;
        an  *= (-1)*pow(x,2.0)/((2*n + 1)*(2*n + 2));
    }
    return sum;
}
 
int main()
{
    double PI2 = 4*asin(1.0);
    double xn, xk, dx, e;
    cout<<"xn = ";cin>>xn;
    cout<<"xk = ";cin>>xk;
    cout<<"dx = ";cin>>dx;
    cout<<" e = ";cin>>e;
    cout<<"  x\t|  cosx  | cmath\n";
    for(double x = xn; x <= xk; x += dx)
    {
        cout<<setprecision(5)<<setw(7)<<setfill(' ')<<x<<"\t|"
            <<setprecision(5)<<setw(7)<<setfill(' ')<<cosx(x - PI2*floor(x / PI2), e)<<" |"
            <<setprecision(5)<<setw(7)<<setfill(' ')<<cos(x)<<endl;
    }
    return 0;
}
Миниатюры
вычислить с заданной точностью значение функции  
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
25.08.2012, 17:23 #20
-=ЮрА=-, для любого x теоретически работает, а практически переменные этого не позволяют.
-=ЮрА=-
Заблокирован
Автор FAQ
25.08.2012, 17:26 #21
Цитата Сообщение от Thinker Посмотреть сообщение
=ЮрА=-, для любого x теоретически работает, а практически переменные этого не позволяют.

Что не позволяет вместимость double не позволяет или что?!Вобщем отметание фактов это ни есть гуд!
Никаких толковых обоснований почему же одна и та же функция для малых модулей отрабатывает а для больших нет, из ваших уст я так и не услышал...
По сему вам просто остаётся принять тот факт, что разложения хорошо описывают функцию лишь при малых значений аргумента (ибо у нас всегда частичная сумма ряда) и перестать упираться фактам.
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
25.08.2012, 17:30 #22
Сообщение было отмечено автором темы, экспертом или модератором как ответ
посмотрите на первые слагаемые ряда, когда вместо x подставляете 1000 и сразу станет понятно. Например,
http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{1000^{10}}{10!}
тут и типа long double не хватит, а уж про точность вообще речи быть не может. Понятно, что
http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{1000^n}{n!}\rightarrow 0 при http://www.cyberforum.ru/cgi-bin/latex.cgi?n\rightarrow \infty, но вот первые слагаемые все портят для реализации на ЭВМ. Именно поэтому необходимо привести все к http://www.cyberforum.ru/cgi-bin/latex.cgi?[0,2\pi)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.08.2012, 17:30
Привет! Вот еще темы с ответами:

Вычислить с заданной точностью значение функции , используя ее разложение в ряд: - C++
Вычислить с заданной точностью значение функции , используя ее разложение в ряд: помогите пожалуста

Вычислить с заданной точностью значение функции представленной разложением в ряд Тейлора - C++
Здравствуйте товарищи программисты! Мне нужна ваша помощь! Вот задача: вычислить с заданной точностью значение функции,представленной в...

Вычислить с заданной точностью значение функции, представленной в виде суммы бесконечного ряда - C++
Всем привет. Я делаю лабу по программированию,но у меня не выходит,так как я только начинаю знакомиться с языком С++.Помогите...

Вычислить значение выражения с заданной точностью - C++
Помогите написать код Текст задания переписывайте на форум


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
25.08.2012, 17:30
Ответ Создать тему
Опции темы

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