public string Interpolacao() { // Quantida de pontos K = Pontos.Count - 1; var polinomial = new Polinomial(); for (var i = 0; i < K; i++) { polinomial.Somar(ProdutorioL(i)); } return(polinomial.ImprimirFormatado()); }
public string Interpolacao() { var escalares = CalculaD(); var polinomio = new Polinomial(escalares[0]); for (var i = 1; i < escalares.Count; i++) { var auxPoli = new Polinomial(-Pontos[0].x, 1); for (var j = 1; j < i; j++) { auxPoli.Multiplicar(new [] { -Pontos[j].x, 1 }); } auxPoli.Multiplicar(escalares[i]); polinomio.Somar(auxPoli); } return(polinomio.ImprimirFormatado()); }
public List <string> Interpolacao() { var response = new List <string>(); for (var i = 1; i < Pontos.Count; i++) { var anterior = new Polinomial(Pontos[i].x, -1); anterior.Multiplicar(1 / (Pontos[i].x - Pontos[i - 1].x)); anterior.Multiplicar(Pontos[i - 1].y); var proximo = new Polinomial(-Pontos[i - 1].x, 1); proximo.Multiplicar(1 / (Pontos[i].x - Pontos[i - 1].x)); proximo.Multiplicar(Pontos[i].y); anterior.Somar(proximo); response.Add(anterior.ImprimirFormatado()); } return(response); }