Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <vector>
- #include <stdlib.h>
- #include "iostream"
- using namespace std;
- int main (){
- setlocale(LC_ALL,"ru");
- int N;
- double x;
- cout<<"введите количество узлов:";
- cin>>N;
- double *X = new double[N]; //узлы
- double *Y = new double[N];//значения
- cout << "Ввод узлов Х:" << endl;
- for (int i = 0; i < N; i++){ cin >> X[i]; }
- cout << "Ввод значений Y :" << endl;
- for (int i = 0; i < N; i++){ cin >> Y[i]; }
- cout<<"в какой точке считем?";
- cin>>x;
- double up,down,Pn;
- up=1;
- Pn=0;
- for (int i = 0; i < N; i++){ //////почему не <=
- up*=(x-X[i]);
- }; //wn(x)
- for (int i = 0; i < N; i++){ //интерполяционный полином Лагранжа
- down=1;
- for (int j = 0; j < N; j++){
- if(j!=i) down*=(X[i]-X[j]);
- }
- Pn+=Y[i]*(up/((x-X[i])*down));
- }
- cout<<Pn<<endl;
- system("pause");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement