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

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

Войти
Регистрация
Восстановить пароль
 
Uefa
0 / 0 / 0
Регистрация: 24.05.2014
Сообщений: 5
#1

Вычисление функции - C++

24.05.2014, 17:25. Просмотров 270. Ответов 2
Метки нет (Все метки)

Здравствуйте! Помогите найти ошибку! Необходимо вычислить функцию 2 способами:
1) для заданной точности
2) для заданного n
Не совпадают результаты:
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
36
37
38
39
40
41
42
43
44
45
46
47
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <math.h>
using namespace std;
 
void main ()
{
    double x=0.1, m=3, y,
        c,                            //шаг изменения x
        t=1,                          //для расчета факториала
        k=1,                            //очередной член последовательности
        sum=1,                          //сумма ряда
        n=1,
        sum2=1,
        t2=1,
        e=0.0001;
    int j=1, i=1;
    c=(1-0.1)/10;
    while (x<=1)
    {
        while (n>e)
        {
            n = pow (log(m),j) * pow (x, j) / t2;
            t2 = t2 * (j+1); 
            sum2+=n;
            j++;
        }
 
        for (int i=1; i<=10; i++)
        {
            k = pow (log(m),i) * pow (x, i) / t;
            t = t * (i+1); 
            sum+=k;
        }
        y = pow (3, x);
        cout << "x=" << x << "  " << sum << " " << y << "       " << sum2 << "\n";
        t=1;
        t2=1;
        sum=1;
        sum2=1;
        n=1;
        x+=c;
    }
    
    system("pause");
};
Добавлено через 6 минут


Добавлено через 11 минут
Скорее всего ошибка в части, где высчитываю сумму для заданной точности. При первом расчете результаты обоих способов совпадают, а дальше большое расхождение
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2014, 17:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычисление функции (C++):

Вычислить m значений функции f(x) на отрезке [a, b]. Вычисление величины f(x) оформить в виде функции - C++
Составить программу решения поставленной задачи: Вычислить m значений функции f(x) на отрезке . Вычисление величины f(x) оформить в виде...

Вычисление функции на заданном промежутке, и построение графика этой функции - C++
Написать блок-схему и программу вычисления функции на за- данном промежутке с шагом 0.2 и построить график этой функции. Если x&gt;1 ...

Перевести с Pascal вычисление функции на заданном промежутке и построить график этой функции - C++
uses crt,graphABC; function y(x:real):real; begin if x&lt;0 then y:=x*x else if x&lt;=2.5 then y:=1+3*ln(abs(1-x*x*x)) else...

Вычисление функции y=F(x) - C++
Вычислить значение функции y=y(x) при заданном действительном значении аргумента х: Y=\begin{cases} tg\left(\sqrt{x^2+6x-1} \right)...

Вычисление функции у - C++
Доброе время суток дорогие форумщики помогите пожалуйста с задачей по С++ Вычеслить значение функции н. Значение а и b вводяться...

Вычисление функции - C++
Всем доброго вечера!!!! Тут задачка не из простых, не как не могу понять как ее решить)Уже 2 день ее долблю)) Может вы поможете, в ее...

2
zss
Модератор
Эксперт С++
6709 / 6271 / 2091
Регистрация: 18.12.2011
Сообщений: 16,357
Завершенные тесты: 1
24.05.2014, 17:35 #2
Вычисление функций разложением в ряд
Большая коллекция решенных задач
0
Uefa
0 / 0 / 0
Регистрация: 24.05.2014
Сообщений: 5
25.05.2014, 13:43  [ТС] #3
Результаты не те!
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
36
37
38
39
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <math.h>
using namespace std;
 
void main ()
{
    double x=0.1, m=3, y,
        c,                            //шаг изменения x
        t=1,                          //для расчета факториала
        k=1,                            //очередной член последовательности
        sum=1,                          //сумма ряда
        n=1,
        sum2=1,
        t2=1,
        e=0.0001;
    int j=1, i=1;
    c=(1-0.1)/10;
    while (x<=1)
    {
        while (fabs(n)>e)
        {
            n = pow (log(m),j) * pow (x, j) / t;
            t = t * (j+1); 
            sum+=n;
            j++;
        }
 
        cout << "x=" << x << "  " << sum << "\n";
        t=1;
        sum=1;
        n=1;
                            j=1;
        x+=c;
    }
    
    system("pause");
};
Добавлено через 6 минут
Пока писал, сам нашел ошибку! Нужно индексу j возвращать значение 1.
Исправил, теперь работает.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2014, 13:43
Привет! Вот еще темы с ответами:

вычисление функции - C++
Составить программу вычисления функции y= (x*x)/(a+b) ; x от 1 до 10; шаг x=2 #include &lt;iostream&gt; #include &lt;conio.h&gt; #include...

Вычисление функции - C++
Задача1.Линейные вычислительные процессы. Задание. Разработать алгоритм и составить по нему программу для вычисления значений функции z =...

Вычисление функции y=f(x) - C++
Составить программу для вычисления функции y=f(x), графическое представление которой приведено на рисунке. Аргумент функции и ее значение -...

Вычисление функции - C++
Здравствуйте. Помогите, пожалуйста, решить пример: Составить программу для вычисления в произвольной точке x значение функции y=f(x),...


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

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

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