Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace NepokrytovAI.NMCore
- {
- public class FirstTypePeriodicBasisFunction : IBasisFunction
- {
- double a;
- double b;
- int j;
- /// <summary>
- /// Базисная функция для граничного условия первого рода.
- /// </summary>
- /// <param name="a">Левый конец отрезка.</param>
- /// <param name="b">Правый конец отрезка.</param>
- public FirstTypePeriodicBasisFunction(double a, double b, int j)
- {
- this.a = a;
- this.b = b;
- this.j = j;
- }
- /// <summary>
- /// Возвращает значение базисной функции.
- /// </summary>
- /// <param name="x">Значение аргумента.</param>
- /// <returns>Значение базисной функции.</returns>
- public double Function(double x)
- {
- return (Math.Sin((Math.PI*this.j*(x-this.a))/(this.b-this.a)));
- }
- /// <summary>
- /// Возвращает значение первой производной базисной функции.
- /// </summary>
- /// <param name="x">Значение аргумента.</param>
- /// <returns>Значение первой производной базисной функции.</returns>
- public double FirstDerivative(double x)
- {
- 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));
- }
- /// <summary>
- /// Возвращает значение второй производной базисной функции.
- /// </summary>
- /// <param name="x">Значение аргумента.</param>
- /// <returns>Значение второй производной базисной функции.</returns>
- public double SecondDerivative(double x)
- {
- 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));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement