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

Используя разложение функции в ряд, вычислить точное значение - C++

Восстановить пароль Регистрация
 
CovCek
 Аватар для CovCek
6 / 6 / 4
Регистрация: 23.05.2014
Сообщений: 184
03.07.2014, 11:46     Используя разложение функции в ряд, вычислить точное значение #1
Используя разложение функции в ряд, вычислить точное значение (fа (x)), используя библиотечные математические функции

как такое сделать? что лучше использовать?
Миниатюры
Используя разложение функции в ряд, вычислить точное значение  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.07.2014, 11:46     Используя разложение функции в ряд, вычислить точное значение
Посмотрите здесь:

C++ Как вычислить значение функции используя разложение cos в ряд Тейлора???
Используя разложение e^x в ряд. Вычислить e^5 C++
C++ Вычислить функцию f(x), используя ее разложение в степенной ряд
Вычислить с заданной точностью значение функции, используя ее разложение в ряд C++
Вычислить с заданной точностью значение функции , используя ее разложение в ряд: C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zibertscrem
3 / 3 / 1
Регистрация: 03.07.2014
Сообщений: 19
03.07.2014, 11:59     Используя разложение функции в ряд, вычислить точное значение #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
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
long factorial(long n)
{
    if(n<=0)
        return 1;
    else
        return n*factorial(n-1);
}
int main()
{
    float x;
    scanf("%f",&x);
    int n = 1;
    float epsilon = 0.0001f;//степень точности
    float result = 0.0f;
    float current_member = 0.0f;
    do
    {
        current_member = (float)pow(-1.0f,(float)(n-1))*(float)pow(x,(float)(2*n-1))/(float)factorial(2*n-1);
        result+=current_member;
        n++;
    }while(current_member>epsilon || current_member<(-epsilon));
    printf("%f",result);
    return 0;
}
Ilot
Модератор
Эксперт С++
1765 / 1140 / 221
Регистрация: 16.05.2013
Сообщений: 3,017
Записей в блоге: 5
Завершенные тесты: 1
03.07.2014, 12:14     Используя разложение функции в ряд, вычислить точное значение #3
Цитата Сообщение от zibertscrem Посмотреть сообщение
Например, в этом коде я ввел ограничение по степени точности.
КоЩЬмар. Запакуйте слагаемое в переменную и домножайте ее на x2 / n(n - 1).
В данном случае имеем ряд Лейбница, а значит точность не превышает первого отброшенного члена. А дальше ТС как поется в одной песне: "Ты знаешь все в твоих руках, все в твоих руках..."
CovCek
 Аватар для CovCek
6 / 6 / 4
Регистрация: 23.05.2014
Сообщений: 184
03.07.2014, 13:43  [ТС]     Используя разложение функции в ряд, вычислить точное значение #4
а как думаете, вот так можно будет запилить:
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
#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    float x, E, U = x, Fa = sin(x), Fe = 1 + U;
    int i;
    do
    {
        printf("Введите X:");
        scanf("%f", &x);
 
        printf("Введите погрешность E:");
        scanf("%f", &E);
 
        if (abs(x) < 1){ printf("Введено неверное значение x."); }
 
    } while (abs(x) < 1 || E >= abs(Fa - Fe));
    {
        if (E >= abs(Fa - Fe)){}
 
 
    }
 
 
 
    system("pause");
    return 0;
}
Fa-аналитическое, Fe-погрешность, U-ког. формула.

Только вот в вайл что дальше использовать никак не пойму.
Yandex
Объявления
03.07.2014, 13:43     Используя разложение функции в ряд, вычислить точное значение
Ответ Создать тему
Опции темы

Текущее время: 12:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru