/
shmachilin
/
MathCore
Обзор
Документация
Войти
/
shmachilin
/
MathCore
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
dev
Tests/MathCore.Tests/Interpolation/LagrangeTests.cs
44 строки
1 KB
Infarh
Рефакторинг
18 сен 2022, 15:27
18 сен 2022, 15:27
8a852d3
Код
Авторство
О чём код?
using System.Diagnostics; using MathCore.Interpolation; using static System.Math; // ReSharper disable InconsistentNaming namespace MathCore.Tests.Interpolation; [TestClass] public class LagrangeTests { private static double Sinc(double x) => x == 0 ? 1 : Sin(x) / x; [TestMethod] public void GetPolynomCoefficients() { var X = Interval.Range(0, 2, 0.1).ToArray(); //var X = Interval.RangeN(0, 2, 5).ToArray(); var Y = X.ToArray(Sinc); var polynom = Lagrange.GetPolynom(X, Y); var yy = X.ToArray(polynom.Value); var delta = Y.Zip(yy, (y0, y1) => y0 - y1); var error = delta.Sum(v => v.Pow2()) / (Y.Length + 1); Assert.That.Value(error).LessThan(2.00e-4, 6.36e-007); } [TestMethod] public void Integral() { static double f(double x) => Cos(x) * Sqrt(x); var x = Interval.Range(0, 10, 1).ToArray(); var y = x.ToArray(f); var p = Lagrange.Integral(x, y, 2, 6); Debug.WriteLine(p); } }