public void ObterPesosEAbascissasCheb() { const int numeroDePontos = 4; double[] momentosAnaliticos = CalcularMomentosAnaliticos(2 * numeroDePontos); var chebyChev = new ChebyshevModificado(numeroDePontos, momentosAnaliticos, ChebyshevModificado.TipoDeDominio.SemiInfinito); double[] pesos, abscissas; chebyChev.CalcularPesosEAbscissas(out pesos, out abscissas); AlgoritmoPD algoritmoPd = new AlgoritmoPD(numeroDePontos, momentosAnaliticos); double[] pesosEsperados; double[] abscissasEsperadas; algoritmoPd.CalcularPesosEAbscissas(out pesosEsperados, out abscissasEsperadas); Wheeler wheeler = new Wheeler(numeroDePontos,momentosAnaliticos); double[] pesosWheeler; double[] abscissasWheeler; wheeler.CalcularPesosEAbscissas(out pesosWheeler, out abscissasWheeler); }
public void CalcularPesosEAbscissasWheelerTeste() { int numeroDePontos = 4; double[] momentos = new double[] { 1, 5, 26, 140, 778, 4450, 26140, 157400 }; double[] pesosEsperados = new[] { 0.045875854768069, 0.454124145231932, 0.454124145231932, 0.045875854768068 }; double[] abscissasEsperadas = new[] { 2.665585781661023, 4.258036215697274, 5.741963784302726, 7.334414218338978 }; Wheeler algoritmo = new Wheeler(numeroDePontos, momentos); double[] pesos; double[] abscissas; algoritmo.CalcularPesosEAbscissas(out pesos,out abscissas); for (int i = 0; i < numeroDePontos; i++) { Assert.AreEqual(pesosEsperados[i], pesos[i], 0.0001); Assert.AreEqual(abscissasEsperadas[i], abscissas[i], 0.0001); } }