Advertisement
Guest User

Untitled

a guest
Apr 26th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.39 KB | None | 0 0
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package kwadratura.gaussa.legendre.a;
  7.  
  8. import java.util.Scanner;
  9.  
  10. /**
  11. *
  12. * @author Student
  13. */
  14. public class KwadraturaGaussaLegendreA {
  15.  
  16. public static double caleczka (double x)
  17. {
  18. return Math.sin(1.1*x -0.3)/(2.5+Math.pow(x, 2));
  19. }
  20. /**
  21. * @param args the command line arguments
  22. */
  23. public static void main(String[] args) {
  24. // TODO code application logic here
  25. double a=0.4;
  26. double b=2.2;
  27. double wynik,s=0;
  28. int n;
  29.  
  30. Scanner el_wejsciowy =new Scanner(System.in);
  31. System.out.println("Podaj n");
  32. n=el_wejsciowy.nextInt();
  33.  
  34. switch (n)
  35. {
  36. case 2:
  37. {
  38.  
  39. double tab2[][]={{1,-0.57735027},
  40. {1,0.57735027}};
  41.  
  42. for (int i=0;i<tab2.length;i++)
  43. {
  44. s += (tab2[i][0]* caleczka((((b-a)/2)*tab2[i][1])+((b+a)/2)));
  45. }
  46. wynik =((b-a)/2)*s;
  47. System.out.println("Wynik dla zadanego n wynoszacego 2 wynosi: "+ wynik);
  48.  
  49.  
  50. break;
  51. }
  52. case 3:
  53. {
  54. double tab3[][]={
  55. {0.88888889,0.0},
  56. {0.55555555,-0.77459667},
  57. {0.55555555,0.77459667}};
  58.  
  59.  
  60. for (int i=0;i<tab3.length;i++)
  61. {
  62. s += (tab3[i][0]* caleczka((((b-a)/2)*tab3[i][1])+((b+a)/2)));
  63. }
  64. wynik =((b-a)/2)*s;
  65. System.out.println("Wynik dla zadanego n wynoszacego 3 wynosi: "+ wynik);
  66.  
  67. break;
  68. }
  69. case 4:
  70. {
  71. double tab4[][]={{0.65214515,0.33998104},
  72. {0.65214515,-0.33998104},
  73. {0.34785485,0.86113631},
  74. {0.34785485,-0.86113631}};
  75.  
  76. for (int i=0;i<tab4.length;i++)
  77. {
  78. s += (tab4[i][0]* caleczka((((b-a)/2)*tab4[i][1])+((b+a)/2)));
  79. }
  80. wynik=((b-a)/2)*s;
  81. System.out.println("Wynik dla zadanego n wynoszacego 4 wynosi: "+ wynik);
  82. break;
  83. }
  84. case 5:
  85. {
  86. double tab5[][]={{0.56888889,0.0},
  87. {0.47862867,-0.53846931},
  88. {0.47862867,0.53846931},
  89. {0.23692689,-0.90617985},
  90. {0.23692689,0.90617985}};
  91.  
  92. /*double tab5[][]={{0.0,0.0,0.53846931,-0.53846931,0.90617985,-0.90617985},
  93. {0.56888889,-0.56888889,0.47862867,-0.47862867,0.23692689,-0.23692689 }};*/
  94.  
  95. for (int i=0;i<tab5.length;i++)
  96. {
  97. s += (tab5[i][0]* caleczka((((b-a)/2)*tab5[i][1])+((b+a)/2)));
  98. }
  99. wynik =((b-a)/2)*s;
  100. System.out.println("Wynik dla zadanego n wynoszacego 5 wynosi: "+ wynik);
  101. break;
  102. }
  103. case 6:
  104. {
  105. double tab6[][]={{0.46791393,-0.23861918},
  106. {0.46791393,0.23861918},
  107. {0.36076157,-0.66120939},
  108. {0.36076157,0.66120939},
  109. {0.17132449,-0.93246951},
  110. {0.17132449,0.93246951 }};
  111.  
  112. /* double tab6[][]={{0.23861918,-0.23861918,0.66120939,-0.66120939,0.93246951,-0.93246951},
  113. {0.46791393,-0.46791393,0.36076157,-0.36076157,0.17132449,-0.17132449 }};*/
  114.  
  115.  
  116. for (int i=0;i<tab6.length;i++)
  117. {
  118. s += (tab6[i][0]* caleczka((((b-a)/2)*tab6[i][1])+((b+a)/2)));
  119. }
  120. wynik =((b-a)/2)*s;
  121. System.out.println("Wynik dla zadanego n wynoszacego 6 wynosi: "+ wynik);
  122. break;
  123. }
  124. case 7:
  125. {
  126. double tab7[][]={{0.41795918,0.0},
  127. {0.38183005,-0.40584515},
  128. {0.38183005,0.40584515},
  129. {0.27970539,-0.74153119},
  130. {0.27970539,0.74153119},
  131. {0.12948497,-0.94910791},
  132. {0.12948497,0.94910791}};
  133.  
  134. /* double tab7[][]={{0.0,0.0,0.40584515,-0.40584515,0.74153119,-0.74153119,0.94910791,-0.94910791},
  135. {0.41795918,-0.41795918,0.38183005,-0.38183005,0.27970539,-0.27970539,0.12948497,-0.12948497}};*/
  136.  
  137.  
  138. for (int i=0;i<tab7.length;i++)
  139. {
  140. s += (tab7[i][0]* caleczka((((b-a)/2)*tab7[i][1])+((b+a)/2)));
  141. }
  142. wynik =((b-a)/2)*s;
  143. System.out.println("Wynik dla zadanego n wynoszacego 7 wynosi: "+ wynik);
  144. break;
  145. }
  146. case 8:
  147. {
  148. double tab8[][]={{0.36268378,-0.18343464},
  149. {0.36268378,0.18343464},
  150. {0.31370665,-0.52553241},
  151. {0.31370665,0.52553241},
  152. {0.22238103,-0.79666648},
  153. {0.22238103,0.79666648},
  154. {0.10122854,-0.96028986},
  155. {0.10122854,0.96028986}};
  156.  
  157. /* double tab8[][]={{0.18343464,-0.18343464,0.52553241,-0.52553241,0.79666648,-0.79666648,0.96028986,-0.96028986},
  158. {0.36268378,-0.36268378,0.31370665,-0.31370665,0.22238103,-0.22238103,0.10122854,-0.10122854}};*/
  159.  
  160. for (int i=0;i<tab8.length;i++)
  161. {
  162. s += (tab8[i][0]* caleczka((((b-a)/2)*tab8[i][1])+((b+a)/2)));
  163. }
  164. wynik =((b-a)/2)*s;
  165. System.out.println("Wynik dla zadanego n wynoszacego 8 wynosi: "+ wynik);
  166. break;
  167.  
  168. }
  169. case 9:
  170. {
  171. double tab9[][]={{0.33023936,0.0},
  172. {0.31234708,-0.32425342},
  173. {0.31234708,0.32425342},
  174. {0.26061070,-0.61337143},
  175. {0.26061070,0.61337143},
  176. {0.18064816,-0.83603111},
  177. {0.18064816,0.83603111},
  178. {0.08127439,-0.96816024},
  179. {0.08127439,0.96816024}};
  180.  
  181. /* double tab9[][]={{0.0,0.0,0.32425342,-0.32425342,0.61337143,-0.61337143,0.83603111,-0.83603111,0.96816024,-0.96816024},
  182. {0.33023936,-0.33023936,0.31234708,-0.31234708,0.26061070,-0.26061070,0.18064816,-0.18064816,0.08127439,-0.08127439}};*/
  183.  
  184.  
  185. for (int i=0;i<tab9.length;i++)
  186. {
  187. s += (tab9[i][0]* caleczka((((b-a)/2)*tab9[i][1])+((b+a)/2)));
  188. }
  189. wynik =((b-a)/2)*s;
  190. System.out.println("Wynik dla zadanego n wynoszacego 9 wynosi: "+ wynik);
  191. break;
  192. }
  193. case 10:
  194. {
  195. double tab10[][]={{0.29552422,-0.14887434},
  196. {0.29552422,0.14887434},
  197. {0.26926672,-0.43339539},
  198. {0.26926672,0.43339539},
  199. {0.21908636,-0.67940957},
  200. {0.21908636,0.67940957},
  201. {0.14945135,-0.86506337},
  202. {0.14945135,0.86506337},
  203. {0.06667134,-0.97390653},
  204. {0.06667134,0.97390653}};
  205.  
  206. /*double tab10[][]={{0.14887434,-0.14887434,0.43339539,-0.43339539,0.67940957,-0.67940957,0.86506337,-0.86506337,0.97390653,-0.97390653},
  207. {0.29552422,-0.29552422,0.26926672,-0.26926672,0.21908636,-0.21908636,0.14945135,-0.14945135,0.06667134,-0.06667134}};*/
  208.  
  209.  
  210. for (int i=0;i<tab10.length;i++)
  211. {
  212. s += (tab10[i][0]* caleczka((((b-a)/2)*tab10[i][1])+((b+a)/2)));
  213. }
  214. wynik =((b-a)/2)*s;
  215. System.out.println("Wynik dla zadanego n wynoszacego 10 wynosi: "+ wynik);
  216. break;
  217. }
  218.  
  219. }
  220.  
  221. }
  222.  
  223. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement