Interpola
1
n Li(x) = (x−xj) / (xi−xj) j=0 j"i ! POLINOMIO DE LAGRANGE Para el cálculo de dicho polinomio utilizaremos el siguiente programa:program int_lagrange; type lista=array [1..10] of real; var lista1,lista2,lista3:lista; punto,i:integer; valor:real; procedure introducir_datos (var lista1,lista2:lista;punto:integer); varpunto1,punto2:real; i:integer; begin for i:=1 to punto do begin writeln ('Introduce el valor de X',i−1,':'); readln (punto1); lista1 [i]:=punto1; writeln ('Introduce el valor de Y',i−1,':'); readln (punto2);
2lista2 [i]:=punto2; end; end; procedure calcular (var lista3:lista;lista1,lista2:lista;punto:integer;valor:real); var i,j:integer; cal,cal1,resultado:real; begin for i:=1 to punto do begin cal:=1;cal1:=1; for j:=1 to punto do if (ji) then begin cal:=cal*(valor−(lista1 [j])); cal1:=cal1*(lista1 [i]−lista1 [j]); end; lista3 [i]:=cal/cal1; end; resultado:=0.0; for i:=1 to punto doresultado:=resultado+(lista3 [i]*lista2 [i]); writeln ('EL RESULTADO ES: ',resultado); end; begin
3
writeln ('Introduce la cantidad de puntos:'); readln (punto); writeln ('Introduce el valor donde quieres...
Regístrate para leer el documento completo.