Advertisement
Guest User

Untitled

a guest
Jun 19th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.38 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3. #include <fstream>
  4.  
  5. using namespace std;
  6.  
  7. const int number_of_points = 3000;
  8. const int point_of_start_internal_condition = number_of_points / 3;
  9. const int border_of_internal_condition = number_of_points / 10;
  10. double upper_diagonal[number_of_points];
  11. double lower_diagonal[number_of_points];
  12. double main_diagonal[number_of_points];
  13. double external_function[number_of_points];
  14. double intial_conditions[number_of_points];
  15.  
  16. void create_approximation () {
  17.     for (int i = 0; i < number_of_points; i++) {
  18.         ::upper_diagonal[i] = 1;
  19.         ::lower_diagonal[i] = 1;
  20.         ::main_diagonal[i] = -2;
  21.         ::external_function[i] = 0;
  22.         ::intial_conditions[i] = 0;
  23.     }
  24.     ::upper_diagonal[number_of_points - 1] = 0;
  25.     ::lower_diagonal[0] = 0;
  26.     ::main_diagonal[0] = -1;
  27.     ::main_diagonal[number_of_points - 1] -= (1 / 2 + 1 / number_of_points) / (1 / 2 - 1 / number_of_points);
  28.     ::external_function[0] = -1 / number_of_points;
  29.     for (int i = point_of_start_internal_condition - border_of_internal_condition; i < point_of_start_internal_condition + border_of_internal_condition + 1; i++) {
  30.         intial_conditions[i] = 1;
  31.     }
  32. }
  33.  
  34. void multiplication_3dig_matrix_on_vector (int dim, double *lower_diagonal, double *main_diagonal, double *upper_diagonal, double *result) {
  35.     for (int i = 0; i < dim; i++) {
  36.         result[i] = lower_diagonal[i] + main_diagonal[i] + upper_diagonal[i];
  37.     }
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement