Advertisement
kikosiak

Untitled

Dec 16th, 2019
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. import scala.math._
  2.  
  3. class Rungegokutty {
  4. var x:Array[Double] = new Array[Double](11)
  5. var y:Array[Double] = new Array[Double](11)
  6. var k:Array[Array[Double]] = Array.ofDim(11,4)
  7. var mk:Array[Array[Double]] = Array.ofDim(11,4)
  8. var suma:Array[Double] = new Array[Double](11)
  9. var h:Double = 0
  10.  
  11. def func(x:Double,y:Double):Double = {
  12. h*(y+cos(x/Pi))
  13. }
  14.  
  15. def rK():Unit = {
  16. for(i<-0 until 11){
  17. suma(i) = 0
  18. k(i)(0) = func(x(i),y(i))
  19. mk(i)(0) = k(i)(0)
  20. k(i)(1) = func(x(i) + 0.5 * h, y(i) + 0.5 * k(i)(0))
  21. mk(i)(1) = 2*k(i)(1)
  22. k(i)(2) = func(x(i)+0.5*h,y(i)+0.5*k(i)(1))
  23. mk(i)(2) = 2*k(i)(2)
  24. k(i)(3) = func(x(i)+h,y(i)+0.5*k(i)(2))
  25. mk(i)(3) = k(i)(3)
  26. suma(i) = (mk(i)(0)+mk(i)(1)+mk(i)(2)+mk(i)(3))/6
  27. if(i<10){
  28. x(i+1) = x(i)+h
  29. y(i+1) = y(i)+suma(i)
  30. }
  31. println("y = "+y(i)+" x = "+f"${x.apply(i)}%1.1f")
  32. }
  33. }
  34. }
  35.  
  36. object Rungegokutty extends App {
  37. val r = new Rungegokutty()
  38. r.h = 0.1
  39. r.x(0) = 1
  40. r.y(0)= 5.9
  41. r.rK()
  42. }
  43.  
  44.  
  45. ------------wynik---------------
  46. y = 5.9 x = 1,0
  47. y = 6.613860698158842 x = 1,1
  48. y = 7.401034753539003 x = 1,2
  49. y = 8.269069623003322 x = 1,3
  50. y = 9.2263011687448 x = 1,4
  51. y = 10.281935982729046 x = 1,5
  52. y = 11.446142295692338 x = 1,6
  53. y = 12.730150365912246 x = 1,7
  54. y = 14.14636333633467 x = 1,8
  55. y = 15.70847965174595 x = 1,9
  56. y = 17.431628241536647 x = 2,0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement