Advertisement
MatsGranvik

Sawtooth wave recursion

Jan 13th, 2013
556
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.01 KB | None | 0 0
  1. (*Mathematica*)
  2. (*program start*)
  3. Clear[x, y, n, a, xmin, xmax, ymin, ymax, c]
  4. xmin = -1*Pi;
  5. xmax = +3*Pi;
  6. x = N[Range[xmin, xmax, 1/(50*Pi)], 90];
  7. y1 = x;
  8. y2 = Sin[y1];
  9. y3 = Sin[y1 + y2];
  10. y4 = Sin[y1 + y2 + y3];
  11. y5 = Sin[y1 + y2 + y3 + y4];
  12. y6 = Sin[y1 + y2 + y3 + y4 + y5];
  13. y7 = Sin[y1 + y2 + y3 + y4 + y5 + y6];
  14. y8 = Sin[y1 + y2 + y3 + y4 + y5 + y6 + y7];
  15. y9 = Sin[y1 + y2 + y3 + y4 + y5 + y6 + y7 + y8];
  16. y10 = Sin[y1 + y2 + y3 + y4 + y5 + y6 + y7 + y8 + y9];
  17. y11 = Sin[y1 + y2 + y3 + y4 + y5 + y6 + y7 + y8 + y9 + y10];
  18. y12 = Sin[y1 + y2 + y3 + y4 + y5 + y6 + y7 + y8 + y9 + y10 + y11];
  19. y = 0*y1 + y2 + y3 + y4 + y5 + y6 + y7 + y8 + y9 + y10 + y11 + y12;
  20. Max[y]
  21. a = Table[{x[[n]], y[[n]]}, {n, 1, Length[x]}];
  22. a1 = Table[{x[[n]], 0*y1[[n]]}, {n, 1, Length[x]}];
  23. a2 = Table[{x[[n]], y2[[n]] + 0*y1[[n]]}, {n, 1, Length[x]}];
  24. a3 = Table[{x[[n]], y3[[n]] + y2[[n]] + 0*y1[[n]]}, {n, 1, Length[x]}];
  25. a4 = Table[{x[[n]], y4[[n]] + y3[[n]] + y2[[n]] + 0*y1[[n]]}, {n, 1,
  26. Length[x]}];
  27. a5 = Table[{x[[n]],
  28. y5[[n]] + y4[[n]] + y3[[n]] + y2[[n]] + 0*y1[[n]]}, {n, 1,
  29. Length[x]}];
  30. a6 = Table[{x[[n]],
  31. y6[[n]] + y5[[n]] + y4[[n]] + y3[[n]] + y2[[n]] + 0*y1[[n]]}, {n,
  32. 1, Length[x]}];
  33. a7 = Table[{x[[n]],
  34. y7[[n]] + y6[[n]] + y5[[n]] + y4[[n]] + y3[[n]] + y2[[n]] +
  35. 0*y1[[n]]}, {n, 1, Length[x]}];
  36. a8 = Table[{x[[n]],
  37. y8[[n]] + y7[[n]] + y6[[n]] + y5[[n]] + y4[[n]] + y3[[n]] +
  38. y2[[n]] + 0*y1[[n]]}, {n, 1, Length[x]}];
  39. a9 = Table[{x[[n]],
  40. y9[[n]] + y8[[n]] + y7[[n]] + y6[[n]] + y5[[n]] + y4[[n]] +
  41. y3[[n]] + y2[[n]] + 0*y1[[n]]}, {n, 1, Length[x]}];
  42. a10 = Table[{x[[n]],
  43. y10[[n]] + y9[[n]] + y8[[n]] + y7[[n]] + y6[[n]] + y5[[n]] +
  44. y4[[n]] + y3[[n]] + y2[[n]] + 0*y1[[n]]}, {n, 1, Length[x]}];
  45. a11 = Table[{x[[n]],
  46. y11[[n]] + y10[[n]] + y9[[n]] + y8[[n]] + y7[[n]] + y6[[n]] +
  47. y5[[n]] + y4[[n]] + y3[[n]] + y2[[n]] + 0*y1[[n]]}, {n, 1,
  48. Length[x]}];
  49. a12 = Table[{x[[n]],
  50. y12[[n]] + y11[[n]] + y10[[n]] + y9[[n]] + y8[[n]] + y7[[n]] +
  51. y6[[n]] + y5[[n]] + y4[[n]] + y3[[n]] + y2[[n]] + 0*y1[[n]]}, {n,
  52. 1, Length[x]}];
  53. ymin = Min[y]/Pi;
  54. ymax = Max[y]/Pi;
  55. ymin = -10/2*Pi;
  56. ymax = 10/2*Pi;
  57. g = ListLinePlot[a,
  58. Ticks -> {Flatten[{xmin, xmax, Table[n, {n, xmin, xmax, Pi}]}],
  59. Flatten[{ymin, ymax, Table[k, {k, ymin, ymax, Pi}]}]},
  60. ImageSize -> Full, PlotRange -> {-Pi - 1/2, Pi + 1/2},
  61. PlotStyle -> RGBColor[1, 0, 1]];
  62. g1 = ListLinePlot[a1,
  63. Ticks -> {Flatten[{xmin, xmax, Table[n, {n, xmin, xmax, Pi}]}],
  64. Flatten[{ymin, ymax, Table[k, {k, ymin, ymax, Pi}]}]},
  65. ImageSize -> Full, PlotRange -> {-Pi - 1/2, Pi + 1/2}];
  66. g2 = ListLinePlot[a2,
  67. Ticks -> {Flatten[{xmin, xmax, Table[n, {n, xmin, xmax, Pi}]}],
  68. Flatten[{ymin, ymax, Table[k, {k, ymin, ymax, Pi}]}]},
  69. ImageSize -> Full, PlotRange -> {-Pi - 1/2, Pi + 1/2}];
  70. g3 = ListLinePlot[a3,
  71. Ticks -> {Flatten[{xmin, xmax, Table[n, {n, xmin, xmax, Pi}]}],
  72. Flatten[{ymin, ymax, Table[k, {k, ymin, ymax, Pi}]}]},
  73. ImageSize -> Full, PlotRange -> {-Pi - 1/2, Pi + 1/2}];
  74. g4 = ListLinePlot[a4,
  75. Ticks -> {Flatten[{xmin, xmax, Table[n, {n, xmin, xmax, Pi}]}],
  76. Flatten[{ymin, ymax, Table[k, {k, ymin, ymax, Pi}]}]},
  77. ImageSize -> Full, PlotRange -> {-Pi - 1/2, Pi + 1/2}];
  78. g5 = ListLinePlot[a5,
  79. Ticks -> {Flatten[{xmin, xmax, Table[n, {n, xmin, xmax, Pi}]}],
  80. Flatten[{ymin, ymax, Table[k, {k, ymin, ymax, Pi}]}]},
  81. ImageSize -> Full, PlotRange -> {-Pi - 1/2, Pi + 1/2}];
  82. g6 = ListLinePlot[a6,
  83. Ticks -> {Flatten[{xmin, xmax, Table[n, {n, xmin, xmax, Pi}]}],
  84. Flatten[{ymin, ymax, Table[k, {k, ymin, ymax, Pi}]}]},
  85. ImageSize -> Full, PlotRange -> {-Pi - 1/2, Pi + 1/2}];
  86. g7 = ListLinePlot[a7,
  87. Ticks -> {Flatten[{xmin, xmax, Table[n, {n, xmin, xmax, Pi}]}],
  88. Flatten[{ymin, ymax, Table[k, {k, ymin, ymax, Pi}]}]},
  89. ImageSize -> Full, PlotRange -> {-Pi - 1/2, Pi + 1/2}];
  90. g8 = ListLinePlot[a8,
  91. Ticks -> {Flatten[{xmin, xmax, Table[n, {n, xmin, xmax, Pi}]}],
  92. Flatten[{ymin, ymax, Table[k, {k, ymin, ymax, Pi}]}]},
  93. ImageSize -> Full, PlotRange -> {-Pi - 1/2, Pi + 1/2}];
  94. g9 = ListLinePlot[a9,
  95. Ticks -> {Flatten[{xmin, xmax, Table[n, {n, xmin, xmax, Pi}]}],
  96. Flatten[{ymin, ymax, Table[k, {k, ymin, ymax, Pi}]}]},
  97. ImageSize -> Full, PlotRange -> {-Pi - 1/2, Pi + 1/2}];
  98. g10 = ListLinePlot[a10,
  99. Ticks -> {Flatten[{xmin, xmax, Table[n, {n, xmin, xmax, Pi}]}],
  100. Flatten[{ymin, ymax, Table[k, {k, ymin, ymax, Pi}]}]},
  101. ImageSize -> Full, PlotRange -> {-Pi - 1/2, Pi + 1/2}];
  102. g11 = ListLinePlot[a11,
  103. Ticks -> {Flatten[{xmin, xmax, Table[n, {n, xmin, xmax, Pi}]}],
  104. Flatten[{ymin, ymax, Table[k, {k, ymin, ymax, Pi}]}]},
  105. ImageSize -> Full, PlotRange -> {-Pi - 1/2, Pi + 1/2}];
  106. g12 = ListLinePlot[a12,
  107. Ticks -> {Flatten[{xmin, xmax, Table[n, {n, xmin, xmax, Pi}]}],
  108. Flatten[{ymin, ymax, Table[k, {k, ymin, ymax, Pi}]}]},
  109. ImageSize -> Full, PlotRange -> {-Pi - 1/2, Pi + 1/2}];
  110. Show[g, g1, g2, g3, g4, g5, g6, g7, g8, g9, g10, g11, g12]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement