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 CalcularPesosEAbscissasAlgoritmoPDTeste() { int numeroDePontos = 4; double[] momentos = new double[] { 1, 5, 26, 140, 778, 4450, 26140, 157400 }; double[] pesosEsperados = new[] { 0.0459, 0.4541, 0.4541, 0.0459 }; double[] abscissasEsperadas = new[] { 2.6656, 4.2580, 5.7420, 7.3344 }; AlgoritmoPD algoritmo = new AlgoritmoPD(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); } }
public void ObterPesosEAbascissasMcCoyCheb() { const int numeroDePontos = 4; double[] momentosAnaliticos = CalcularMomentosIniciaisMcCoy(2 * numeroDePontos, FuncaoMcCoy); 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); }