GVA SUPPORT

Відповідь на запитання № 1326803637
Text:
	ФІО = Горбаченко В.А.

 Запитання:#include <iostream>
#include <cstdlib>  // тут rand (), srand ()
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <string>

// КОНСТАНТИ
#define a -2.0
#define b 0.7
#define h 0.3
#define MAX_X 10
#define MAX_Y 2

// МАСИВ
double mas[MAX_X][MAX_Y]={ // 10 x 2
       {-2.11         ,0.0003},
       {-1.8          ,0.0096},
       {-1.5          ,0.0674},
       {-1.15         ,0.1700},
       {-0.95         ,0.1818},
       {-0.22         ,0.0763},
       {-0.1          ,0.0693},
       {0.34          ,0.1031},
       {0.7           ,0.5819},
       {1.0           ,1.00}};
using namespace std;

// =============================================================================


double func_a1(double x){// апроксимація поліном Лагранжа
       double sum=0; // сума. Волков. Стор 32 формула 5

       for (int i = 0 ; i < MAX_X ; i++){
              double z=1;
              for (int j = 0 ; j < MAX_X ; j++)
              {
                  if (i!=j) z*=(x-mas[j][0])/(mas[i][0]-mas[j][0]);
              }
              sum+=z*mas[i][1];
       }
       return sum;
}

// =============================================================================

double func_b(double x){ // похідна 1

        // Центральная разностная производная
        return (func_a1(x+h)-func_a1(x-h))/(h*2);
}

//==============================================================================

double func_c(double x){// похідна 2
// ФОРМУЛА | Друга похідна. Конспект лекцій 
    return (func_a1(x+h)+func_a1(x-h)-2*func_a1(x)  )/(h*h);

}


//==============================================================================
int main(int argc, char* argv[])
{
        for (double x = a ; x <= b+h ; x+=h){  //     i <= b+h тому що необхідно захопити значення 9, чомусь не захоплює
                printf(
                "%.2f  %9.6f %9.6f %9.6f \n\r",
// Завдання a : за формулою, Лагнанж 9 точок
                x,  func_a1(x), 

 // Завдання б: похідна 1
                func_b(x), 

 // Завдання в: друга похідна 2
                func_c(x)
                );
        }
        system("pause");
        return 0;
}
//---------------------------------------------------------------------------


====================================	
Ваша відповідь