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

ряд Тейлора - C++

Восстановить пароль Регистрация
 
Анета
0 / 0 / 0
Регистрация: 02.06.2012
Сообщений: 67
25.10.2013, 23:48     ряд Тейлора #1
Прошу помочь, миллион раз делала по-разному а y и F не сходится(
Миниатюры
ряд Тейлора   ряд Тейлора  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2013, 23:48     ряд Тейлора
Посмотрите здесь:

Ряд Тейлора C++
Ряд Тейлора C++
ряд Тейлора C++
C++ Ряд Тейлора
C++ Ряд Тейлора
C++ Ряд Тейлора
C++ Ряд Тейлора
Ряд Тейлора C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Hunter13ua
46 / 46 / 5
Регистрация: 25.10.2011
Сообщений: 183
26.10.2013, 00:40     ряд Тейлора #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
36
37
38
39
40
#include <iostream>
 
using namespace std;
//------------------------------------------
float ln(float x, float accuracy);
float pow(float value, unsigned int grade);
//------------------------------------------
int main()
{
    cout << "Input start point: ";
    float start; cin >> start;
    cout << "Input ending point: ";
    float end; cin >> end;
    cout << "Input step size: ";
    float step; cin >> step;
 
    for(;start < end; start += step)
        cout << start << " : "
            << ln(start,0.1) << endl;
 
    cin.get();
    return 0;
}
//------------------------------------------
float ln(float x, float accuracy)
{
    float result = 0.0;
    float temp = accuracy + 1;
    for(int i=0; temp > accuracy; i++){
        temp = pow(x-1,i+1)/((i+1)*pow(x+1,i+1));
        result += temp;
    }
    return result;
}
//------------------------------------------
float pow(float value, unsigned int grade)
{
    return (!grade) ? 1 :
        value*pow(value,grade-1);
}
P.S. По-желанию, можно оптимизировать.
Анета
0 / 0 / 0
Регистрация: 02.06.2012
Сообщений: 67
26.10.2013, 00:54  [ТС]     ряд Тейлора #3
#include<math.h>
#include<stdio.h>
double cosh (double x, double eps);

int main ()
{
double Xn,Xk,dX, eps;
printf("\nVvedite Xn,Xk,dX,eps \n");
scanf("%lf%lf%lf%lf",&Xn,&Xk,&dX,&eps);
printf("------------------------------------\n");
printf("| x | y | F |\n");
printf("------------------------------------\n");
for (double x=Xn;x<=Xk+dX;x+=dX)
printf("|%9.2lf |%9.6lf| %9.6lf |\n",x,cosh(x,eps),log10(x));
printf("------------------------------------\n");
return 0;
}

double cosh (double x, double eps)
{
const int MaxIter=500;
double ch=1, y=ch;
for (int n=0; fabs(ch)>eps;n++)
{
ch*=pow(x-1,n+1)/((n+1)*pow(x+1,n+1));
y+=ch;
if (n>MaxIter)
{
printf("Ryad rashoditsya!\n");
return 0;
}
}
return y;
}


вот это мой код, но он не работает, должно быть похоже на это) по возможности

Добавлено через 2 минуты
в таблице y и f должны быть равны, но не получается этого
Yandex
Объявления
26.10.2013, 00:54     ряд Тейлора
Ответ Создать тему
Опции темы

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