Advertisement
Guest User

FirstTypeBasisFunction

a guest
Dec 15th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.56 KB | None | 0 0
  1. sing 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. /// <summary>
  10. /// Базисная функция для граничного условия первого рода.
  11. /// </summary>
  12. public class FirstTypeBasisFunction : IBasisFunction
  13. {
  14. /// <summary>
  15. /// Базисная функция для граничного условия первого рода.
  16. /// </summary>
  17. /// <param name="a">Левый конец отрезка.</param>
  18. /// <param name="b">Правый конец отрезка.</param>
  19. /// <param name="ya">Значение функции в точке a.</param>
  20. /// <param name="yb">Значение функции в точке b.</param>
  21. public FirstTypeBasisFunction(double a, double b, double ya, double yb)
  22. {
  23. this.a = a;
  24. this.b = b;
  25. this.ya = ya;
  26. this.yb = yb;
  27. }
  28. /// <summary>
  29. /// Возвращает значение базисной функции.
  30. /// </summary>
  31. /// <param name="x">Значение аргумента.</param>
  32. /// <returns>Значение базисной функции.</returns>
  33. public double Function(double x)
  34. {
  35. return this.ya + (this.yb - this.ya) * ((x - this.a) / (this.b - this.a));
  36. }
  37.  
  38. /// <summary>
  39. /// Возвращает значение первой производной базисной функции.
  40. /// </summary>
  41. /// <param name="x">Значение аргумента.</param>
  42. /// <returns>Значение первой производной базисной функции.</returns>
  43. public double FirstDerivative(double x)
  44. {
  45. return (this.yb - this.ya) * x / (this.b - this.a);//(this.yb - this.ya)/ (this.b - this.a);
  46. }
  47. /// <summary>
  48. /// Возвращает значение второй производной базисной функции.
  49. /// </summary>
  50. /// <param name="x">Значение аргумента.</param>
  51. /// <returns>Значение второй производной базисной функции.</returns>
  52. public double SecondDerivative(double x)
  53. {
  54. return (this.yb - this.ya) / (this.b - this.a);
  55. }
  56. double a;
  57. double b;
  58. double ya;
  59. double yb;
  60. }
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement