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

интерполяция по Лагранжу - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.93
Ink@
0 / 0 / 0
Регистрация: 13.03.2010
Сообщений: 4
13.05.2010, 21:37     интерполяция по Лагранжу #1
Помогите пожалуйста написать програмку на С++:
в которой пользователь вводит координаты N точек. Программа проводит через точки полином Лагранжа N-1 степени.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2010, 21:37     интерполяция по Лагранжу
Посмотрите здесь:

C++ Интерполяция Лагранжа
C++ Лагранжевая интерполяция
Интерполяция заданной функции второй формулой Ньютона (обратная интерполяция) C++
C++ линейная интерполяция
C++ Интерполяция изображения c++
C++ Интерполяция Лагранжа
C++ Линейная интерполяция
C++ Квадратичная интерполяция

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
EugEnE151291
0 / 0 / 0
Регистрация: 06.01.2010
Сообщений: 9
06.07.2010, 23:44     интерполяция по Лагранжу #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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# include <iostream.h>
# include <conio.h>
# include <fstream.h>
# include <iomanip.h>
 
 int main()
{
   int n;
   double delta=0.1;
//________________________________________________________
   
   ifstream infile ("coordinates.txt");
   ofstream outfile ("points.txt");
   infile>>n;
//________________________________________________________ 
   
   double*X=new double [n];
   double*Y=new double [n];
//_______________________________________________________
   
   for( int i=0; i<n; i++)
   { infile>>X[i]>>Y[i]; }
//_______________________________________________________
   
   double a=X[0], b=X[n-1];
   
   for(double x=a; x<=b; x+=delta)
   {  
      double y=0;
      
      for(int i=0;i<n;i++)
      {
         double P=1;
         
         for(int j=0;j<n;j++)
         { 
            if(i!=j)
               P*=(x-X[j])/(X[i]-X[j]);
         }
         y+=Y[i]*P;
      } 
            outfile<<x<<setw(20)<<y<<endl;
    }
    
    cout<<" Looking for the results of interpolation in file <<points.txt>> . "<<endl;
//_______________________________________________________
 
    delete X; 
    delete Y;
//________________________________________________________
 
  infile.close();
  outfile.close();
//_______________________________________________________
  
  getch ();  
  return 0;
}
Nick Alte
Эксперт С++
1590 / 982 / 115
Регистрация: 27.09.2009
Сообщений: 1,897
Завершенные тесты: 1
07.07.2010, 09:35     интерполяция по Лагранжу #3
Предыдущую реплику из зала мы с негодованием отметём как неорганизованную. Линейная интерполяция вместо полиномов Лагранжа, delete вместо delete []...

Ink@, а в чём, собственно, состоят твои затруднения?
Yandex
Объявления
07.07.2010, 09:35     интерполяция по Лагранжу
Ответ Создать тему
Опции темы

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