Advertisement
Guest User

Untitled

a guest
Mar 25th, 2019
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.66 KB | None | 0 0
  1.  
  2. #include "pch.h"
  3. #include <iostream>
  4.  
  5. void jacobian(double jacob[3][3], double x, double y, double z) {
  6.  
  7. //Macierz Jacobiego
  8. jacob[0][0] = 2 * x; jacob[0][1] = 2 * y; jacob[0][2] = 2 * z;
  9. jacob[1][0] = 2 * x; jacob[1][1] = 2 * y; jacob[1][2] = 0;
  10. jacob[2][0] = 2 * x; jacob[2][1] = -1; jacob[2][2] = 0;
  11. }
  12.  
  13. void macierzOdwrotna(double **jacob) {
  14. double det = jacob[0][0] * jacob[1][1] * jacob[2][2] + jacob[0][1] * jacob[1][2] * jacob[2][0] + jacob[0][2] * jacob[1][0] * jacob[2][1]; // jeszcze trzeba odjac
  15.  
  16. double jacobOdw[3][3];
  17.  
  18. //Macierz dopelnien
  19. jacobOdw[0][0] = jacob[1][1] * jacob[2][2] - jacob[1][2] * jacob[2][1];
  20. jacobOdw[0][1] = -(jacob[1][0] * jacob[2][2] - jacob[1][2] * jacob[2][0]);
  21. jacobOdw[0][2] = jacob[1][0] * jacob[2][1] - jacob[1][1] * jacob[2][0];
  22. jacobOdw[1][0] = -(jacob[0][1] * jacob[2][2] - jacob[0][2] * jacob[2][1]);
  23. jacobOdw[1][1] = jacob[0][0] * jacob[2][2] - jacob[0][2] * jacob[2][0];
  24. jacobOdw[1][2] = -(jacob[0][0] * jacob[2][1] - jacob[0][1] * jacob[2][0]);
  25. jacobOdw[2][0] = jacob[0][1] * jacob[1][2] - jacob[0][2] * jacob[1][1];
  26. jacobOdw[2][1] = -(jacob[0][0] * jacob[1][2] - jacob[0][2] * jacob[1][0]);
  27. jacobOdw[2][2] = jacob[0][0] * jacob[1][1] - jacob[0][1] * jacob[1][0];
  28.  
  29. //Transponowanie
  30. for (int i = 0; i < 3; i++) {
  31. for (int j = 0; j < 3; j++) {
  32. std::swap(jacobOdw[i][j], jacobOdw[j][i]);
  33. }
  34. }
  35.  
  36. //Ostateczna postac macierzy odwrotnej
  37. for (int i = 0; i < 3; i++) {
  38. for (int j = 0; j < 3; j++) {
  39. jacobOdw[i][j] /= det;
  40. }
  41. }
  42.  
  43. }
  44.  
  45. int main()
  46. {
  47. double x = 1, y = 1, z = 1;
  48. double jacob[3][3];
  49. jacobian(jacob, x, y, z);
  50. std::cout << jacob[0][0];
  51. system("PAUSE");
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement