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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.65
dederkay
34 / 34 / 0
Регистрация: 08.12.2010
Сообщений: 161
#1

Численное дифференцирование - C++

11.06.2011, 13:11. Просмотров 2687. Ответов 0
Метки нет (Все метки)

господа программисты помогите мне плз написать Численное дифференцирование на основе полинома Нютона, я вас очень прошу, я сделал просто интерполяцию а задание оказалось не таким) плз помогите нужно до завтра написать!

Численное дифференцирование функций на основе интерполяционной формулы Ньютона а звучит оно то так!!! при заданной функцией f(x) = sin(x)-x·cos(x)

интервал задавать с клавиатуры и погрешность тоже памагите буду очень благодарен

Добавлено через 21 минуту
может это шота типа :

C++
1
2
3
4
5
6
7
8
9
10
11
12
double newton (double *x, double *y, int n)
{
    double y1 = 0;
    for(int i = 0; i < n; i++)
    {
         double t = y[i];
         for(int j = 0; j < i; j++)
             t = x - x[j];
         y1 += t
    }
return y1;
}
Добавлено через 11 часов 54 минуты
уже в который раз сделал без помощи жителей форума овт код в студию найдете ошибки скажете мне))

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#pragma once
 
class Inter
{
private:
    double mx[100],mf[100],ma[1000];
    double a,b,x;
    int n,m;
public:
    void SetVal(double v1,double v2,double v3,int v4,int v5 )
    {
        a=v1; b=v2; x=v3; n=v4; m=v5;
    }
    double funcp(double x )
    {
        x = sin(x);
        return ((x) - (3 * x));
    }
    void table(double a,double b ,int n)
    {
      double x,h=(b-a)/n;
      int i=0;
      x=a;
      while (x<=b-0.001)
      {
        mx[i]=x; 
        mf[i]=funcp(x);
        x=x+h; i++;
      }
    }
    void  R(int n)
    {
      int i,j;
      double a,b;
      for( j=0 ;j< n+1 ;j++ ) ma[j]=mf[j];
      for( j=1 ;j< n+1 ;j++ )
       {
         a=ma[j-1];b=mx[j-1];
         for( i=j ;i< n+1 ;i++ ) ma[i]=(a-ma[i])/(b-mx[i]);
       }
    }
    double pnew( double xt ,int n)
    {
        int i;
        double r,p;
        p=ma[n];
        i=n-1 ;
        while(i>=0)
        {
            r=xt-mx[i];
            p=ma[i]+r*p;
            i--;
        }
        return p;
    }
    Inter(void)
    {
    }
    ~Inter(void)
    {
    }
    
};
и в мейне
переменная n просто уже использована ранее поэтому она тут назыв l
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
double y = 0;
    double a;
    double b;
    double x;
    int l, m;
        cout<<" Interpol Newton  f(x)=sin(x) - 3x  "<<endl;
 
                   cout<<" a = "; cin>>a; cout<<endl;
                   cout<<" b = "; cin>>b; cout<<endl;
                   cout<<"  Input M (1..10) = ";
                   cin>>m;
                   cout<<" x(a..b) = "; cin>>x; cout<<endl;
                   cout<<"  Input n (1..10) = ";
                   cin>>l;
 
                    Inter pol;
                    pol.SetVal(a,b,x,l,m);
                    pol.table(a,b,l);
                    pol.R( m);
                    y=pol.pnew( x, m);  
                    cout<<"rezyl'tat:"<<y<<endl;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.06.2011, 13:11     Численное дифференцирование
Посмотрите здесь:

Численное дифференцирование - C++
Помогите пожалуйста написать программу на C++Builder 6. вот задание: Разработать программу «Численное дифференцирование» различными...

Численное дифференцирование основанное на методе Лагранжа - C++
Подскажите, пожалуйста, как реализовать программу которая осуществляет численное дифференцирование методом Лагранж. На вход программе...

Дифференцирование - C++
помогите продифференцировать где z=z(t), вот это уравнение : х= z*e^-Bt (B -это бета) - х'=? х''=? т.е 2 раза продифференцировать

Дифференцирование многочлена - C++
Не знаю как написать программу. Очень надо. Голову всю сломал.

Символьное дифференцирование - C++
Требуется реализовать класс Expression с чисто виртуальными методами Expression *diff(); и void print(); и отнаследовать классы Number,...

класс Символьное дифференцирование. - C++
Помогите пожалуйста с созданием такого класса. НОВЫЕ ПОНЯТИЯ: наследование, виртуальные методы. Реализовать абстрактный класс...

Символьное дифференцирование cos и sin - C++
Здравствуйте. Хочу написать символьное дифференцирование cos и sin. Производную sin определяю через cos, cos через sin. Ошибка понятна:...

Численное интегрирование - C++
Разработать программу «Численное интегрирование» различными методами: 1) по формуле трапеций; 2) по формуле Гаусса; 3) по формуле...

Численное интегрирование - C++
Помогите пожалуйста. Нужно написать программу для вычисления интегральных функций ctgx пятью методам: 1. Метод Симпсона 2. Средних ,...

численное решение - C++
есть задача о решении системы степенных уравнений вида: http://img17.imageshack.us/img17/4156/84716757.th.jpg не подскажите какой...

Численное интегрирование функции - C++
Составить программу...

Численное решение задачи Коши - C++
Не могу разобрать фрагменты программы: Имеются Класс gridfun: class gridfun { private: double *x;


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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