Advertisement
Guest User

FirstTypePeriodicBasisFunction

a guest
Dec 15th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.33 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace NepokrytovAI.NMCore
  8. {
  9. public class FirstTypePeriodicBasisFunction : IBasisFunction
  10. {
  11. double a;
  12. double b;
  13. int j;
  14. /// <summary>
  15. /// Базисная функция для граничного условия первого рода.
  16. /// </summary>
  17. /// <param name="a">Левый конец отрезка.</param>
  18. /// <param name="b">Правый конец отрезка.</param>
  19. public FirstTypePeriodicBasisFunction(double a, double b, int j)
  20. {
  21. this.a = a;
  22. this.b = b;
  23. this.j = j;
  24. }
  25. /// <summary>
  26. /// Возвращает значение базисной функции.
  27. /// </summary>
  28. /// <param name="x">Значение аргумента.</param>
  29. /// <returns>Значение базисной функции.</returns>
  30. public double Function(double x)
  31. {
  32. return (Math.Sin((Math.PI*this.j*(x-this.a))/(this.b-this.a)));
  33. }
  34. /// <summary>
  35. /// Возвращает значение первой производной базисной функции.
  36. /// </summary>
  37. /// <param name="x">Значение аргумента.</param>
  38. /// <returns>Значение первой производной базисной функции.</returns>
  39. public double FirstDerivative(double x)
  40. {
  41. return (Math.Cos((Math.PI * this.j * (x - this.a)) / (this.b - this.a))*(Math.PI*this.j*(this.b-this.a))/Math.Pow((this.b - this.a),2));
  42. }
  43. /// <summary>
  44. /// Возвращает значение второй производной базисной функции.
  45. /// </summary>
  46. /// <param name="x">Значение аргумента.</param>
  47. /// <returns>Значение второй производной базисной функции.</returns>
  48. public double SecondDerivative(double x)
  49. {
  50. return (-Math.Sin((Math.PI * this.j * (x - this.a)) / (this.b - this.a))*Math.Pow((Math.PI * this.j * (this.b - this.a)) / Math.Pow((this.b - this.a), 2),2));
  51. }
  52. }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement