Advertisement
NHumme

Untitled

Dec 18th, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.43 KB | None | 0 0
  1.  
  2. #include <stdio.h>
  3. #include <conio.h>
  4. #include < math.h >
  5. using namespace std;
  6. int P1, P2, k0, E;//îáúÿâëåíèå öåëî÷èñëåííûõ ïåðåìåííûõ
  7. float b, I, c1, c2, L, x, Y, Mx, Qx, fi, A11, A12, A21, A22, yy, fi0, beta, B1, B2;//îáúÿâëåíèå âåùåñòâåííûõ ïåðåìåííûõ
  8. double Cosh(float x)//ðàñ÷åò øèíóñà
  9. {
  10.     double Cos;
  11.     Cos = (exp(x*beta) + exp(-x*beta)) / 2;
  12.     return Cos;
  13. }
  14. double Sinh(float x)//ðàñ÷åò ÷îñèíóñà
  15. {
  16.     double Sin;
  17.     Sin = (exp(x*beta) - exp(-x*beta)) / 2;
  18.     return Sin;
  19. }
  20. double Y1(float x)//ïåðâàÿ ôóíêöèÿ Êðûëîâà
  21. {
  22.     double one;
  23.     one = Cosh(beta * x) * cos(beta * x);
  24.     return one;
  25. }
  26. double Y2(float x)//âòîðàÿ ôóíêöèÿ Êðûëîâà
  27. {
  28.     double two;
  29.     two = 0.5 * (Cosh(x) * sin(beta * x) + Sinh(x) * cos(beta * x));
  30.     return two;
  31. }
  32. double Y3(float x)//òðåòüÿ ôóíêöèÿ Êðûëîâà
  33. {
  34.     double three;
  35.     three = 0.5 * Sinh(x) * sin(beta * x);
  36.     return three;
  37. }
  38. double Y4(float x)//÷åòâåðòàÿ ôóíêöèÿ Êðûëîâà
  39. {
  40.     double four;
  41.     four = 0.25 * (Cosh(x) * sin(beta * x) - Sinh(x) * cos(beta * x));
  42.     return four;
  43. }
  44. int main()
  45. {
  46.     L = 1.3;//Çàäàíèå çíà÷åíèÿ ïåðåìåííîé L
  47.     P1 = 3800000; //Çàäàíèå çíà÷åíèÿ ïåðåìåííîé P1
  48.     P2 = 7400000; //Çàäàíèå çíà÷åíèÿ ïåðåìåííîé P2
  49.     b = 0.11; //Çàäàíèå çíà÷åíèÿ ïåðåìåííîé b
  50.     k0 = 500000000; //Çàäàíèå çíà÷åíèÿ ïåðåìåííîé K0
  51.     E = 20000000; //Çàäàíèå çíà÷åíèÿ ïåðåìåííîé E
  52.     I = 0.346; //Çàäàíèå çíà÷åíèÿ ïåðåìåííîé I
  53.     c1 = 0.7; //Çàäàíèå çíà÷åíèÿ ïåðåìåííîé c1
  54.     c2 = 0.9; //Çàäàíèå çíà÷åíèÿ ïåðåìåííîé c2;
  55.     x = 0;
  56.     beta = pow((k0 * b / (4 * E * I)), 0.25);
  57.     A11 = Y1(L); //Ýëåìåíò ìàòðèöû A11
  58.     A12 = Y2(L) / beta; //beta 'Ýëåìåíò ìàòðèöû A12
  59.     A21 = -4 * beta * Y4(L); //Ýëåìåíò ìàòðèöû A21
  60.     A22 = Y1(L); //Ýëåìåíò ìàòðèöû A22
  61.     B1 = -(P1 * Y4(L - c1) + P2 * Y4(L - c2)) / E / I / pow(beta, 3); //Ýëåìåíò ìàòðèöû B11
  62.     B2 = -(P1 * Y3(L - c1) + P2 * Y3(L - c2)) / E / I / pow(beta, 2); //Ýëåìåíò ìàòðèöû B21
  63.     yy = (B1 * A22 - B2 * A12) / (A11 * A22 - A21 * A12); //Âû÷èñëåíèå ïàðàìåòðà y0
  64.     fi0 = (A11 * B2 - A21 * B1) / (A11 * A22 - A21 * A12); //Âû÷èñëåíèå ïàðàìåòðà fi0
  65.     printf("|  x   |    y    |    fi    |        Q       |        M       |\n");
  66.     while (x <= L)
  67.     {
  68.         Y = yy* Y1(x) + fi0 * Y2(x) / beta; //Íà÷àëüíîå çíà÷åíèå Y
  69.         fi = fi0 * Y1(x) - 4 * yy * beta * Y4(x); //Íà÷àëüíîå çíà÷åíèå fi
  70.         Mx = 4 * E * I * beta * (beta * yy * Y3(x) + fi0 * Y4(x)); //Íà÷àëüíîå çíà÷åíèå M
  71.         Qx = 4 * E * I * pow(beta, 2) * (beta * yy * Y2(x) + fi0 * Y3(x)); //Íà÷àëüíîå çíà÷åíèå Q
  72.         if (x<c1 && x<c2)//Óñëîâèå 1
  73.         {
  74.             Y = Y; //Çíà÷åíèå Y ïðè âûïîëíåíèè óñëîâèÿ 1
  75.             fi = fi; //Çíà÷åíèå fi ïðè âûïîëíåíèè óñëîâèÿ 1
  76.             Mx = Mx; //Çíà÷åíèå M ïðè âûïîëíåíèè óñëîâèÿ 1
  77.             Qx = Qx; //Çíà÷åíèå Q ïðè âûïîëíåíèè óñëîâèÿ 1
  78.         }
  79.         if (x >= c1) //Óñëîâèå 2
  80.         {
  81.             Y = Y + P1 * Y4(x - c1) / E / I / pow(beta, 3); //Çíà÷åíèå Y ïðè âûïîëíåíèè óñëîâèÿ 2
  82.             fi = fi + P1 * Y3(x - c1) / E / I / pow(beta, 2); //Çíà÷åíèå fi ïðè âûïîëíåíèè óñëîâèÿ 2
  83.             Mx = Mx - P1 * Y2(x - c1) / beta; //Çíà÷åíèå M ïðè âûïîëíåíèè óñëîâèÿ 2
  84.             Qx = Qx - P1 * Y1(x - c1); //Çíà÷åíèå Q ïðè âûïîëíåíèè óñëîâèÿ 2
  85.         }
  86.         if (x >= c2) //Óñëîâèå 3
  87.         {
  88.             Y = Y + P2 * Y4(x - c2) / E / I / pow(beta, 3); //Çíà÷åíèå Y ïðè âûïîëíåíèè óñëîâèÿ 3
  89.             fi = fi + P2 * Y3(x - c2) / E / I / beta / beta; //Çíà÷åíèå fi ïðè âûïîëíåíèè óñëîâèÿ 3
  90.             Mx = Mx - P2 * Y2(x - c2) / beta; //Çíà÷åíèå M ïðè âûïîëíåíèè óñëîâèÿ 2
  91.             Qx = Qx - P2 * Y1(x - c2); //Çíà÷åíèå Q ïðè âûïîëíåíèè óñëîâèÿ 3
  92.         }
  93.         printf("| %-5.2f| %-8.5f| %-9.5f| %-15.5f| %-15.5f|\n", x, Y, fi, Mx, Qx);//Âûâîä
  94.         x = x + 0.05;
  95.     }
  96.     getch();
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement