CellPrint[TextCell[Quiet[Manipulate[If[ToString[Criterio]≠ToString[Null],If[!StringContainsQ[ToString[g[x]],"If"]&&!StringContainsQ[ToString[g[x]],"I"],If[NumericQ[g[Quiet[w/.Quiet[FindInstance[Quiet[FunctionDomain[g[w],w]],{w},Reals][[1]]]]]],If[VectorQ[VectorPreim,NumericQ],If[NumericQ[Valorz],If[Length[DeleteDuplicates[VectorPreim]]>=2,Style[Column[{Neville[DeleteDuplicates[VectorPreim],Valorz][[1]],Style[Row[{"f(",Valorz,")≈",Neville[DeleteDuplicates[VectorPreim],Valorz][[2]]}],Bold,12]},Center],10],Text[Style["Error en los datos",12]]],Text[Style["Error en los datos",12]]],Text[Style["Error en los datos",12]]],Text[Style["Error en los datos",12]]],Text[Style["Error en los datos",12]]],Text[Style["Error en los datos",12]]],Style["Propósito: implementa el método de Neville para aproximar f(z).",Bold,10],Spacer[{400,2}],{{Criterio,(Sqrt[x+1]),"f(x)="}},{{VectorPreim,{0,1,2,3,4,5},"Abscisas"}},{{Valorz,1.5,"z="}},Delimiter,Button["Cambiar función",CrearFuncion[{Criterio}]],Alignment->Center,Deployed->False,AppearanceElements->"ResetButton",LocalizeVariables->True,ContinuousAction->True,ControlPlacement->Top,FrameLabel->{{None,None},{Column[{,Row[{Style["Autores: Juan Félix Ávila Herrera y Enrique Vílchez Quesada",Bold,10,RGBColor[0,0,0.5]]}],Row[{Style["Escuela de Informática | Universidad Nacional de Costa Rica",Bold,10,RGBColor[0.5,0.1,0]]}]},Center],Style["Método de Neville", Bold,14, RGBColor[0,0.33,0.33]]}},Initialization:>(Clear[VariableFuncioni,f,CrearFuncion,w,Neville];CrearFuncion[f_List]:=Module[{FuncionVariable},FuncionVariable[FuncionVariable_List]:=Module[{FuncionVariableAuxiliar,Simbolos,VariableAuxiliarSimbolos,VariableAuxiliarVariables={}},FuncionVariableAuxiliar[]:=FuncionVariable[[1]];Simbolos[VariableFuncion_]:=DeleteDuplicates[Cases[DownValues[VariableFuncion],_Symbol,Infinity]];VariableAuxiliarSimbolos=Sort[Simbolos[FuncionVariableAuxiliar]];For[VariableFuncioni=1,VariableFuncioni≤Length[VariableAuxiliarSimbolos],If[NumericQ[VariableAuxiliarSimbolos[[VariableFuncioni]]]==False,VariableAuxiliarVariables=Append[VariableAuxiliarVariables,VariableAuxiliarSimbolos[[VariableFuncioni]]]];VariableFuncioni++];VariableAuxiliarVariables];Clear[g,x,Ra];g[Ra_]:= Quiet[Evaluate[First[f]]/.Select[FuncionVariable[f],ToString[#]==ToString[x]&][[1]]->Ra]];CrearFuncion[{Criterio}];Neville[VectorPreim_,Valorz_]:=Module[{iNeville,jNeville,MQ,n=Length[VectorPreim],Valorfz},MQ=Join[Transpose[{N[g/@VectorPreim]}],ConstantArray[0,{n,n-1}],2];For[jNeville=2,jNeville<=n,For[iNeville=1,iNeville<=n,If[iNeville>=jNeville,MQ[[iNeville,jNeville]]=((Valorz-VectorPreim[[iNeville-jNeville+1]])MQ[[iNeville,jNeville-1]]-(Valorz-VectorPreim[[iNeville]])MQ[[iNeville-1,jNeville-1]])/(VectorPreim[[iNeville]]-VectorPreim[[iNeville-jNeville+1]])];iNeville++];jNeville++];Valorfz=MQ[[iNeville-1,jNeville-1]];MQ[[iNeville-1,jNeville-1]]=Style[MQ[[iNeville-1,jNeville-1]],Bold,Red];{TableForm[Join[Transpose[{VectorPreim,Valorz-VectorPreim}],MQ,2],TableHeadings->{Range[0,n-1],Join[{"(Subscript[x, i])","z-(Subscript[x, i])"},Table[StringTemplate["Q[i,<*kNeville*>]"][],{kNeville,0,n-1}]]}],Valorfz}];)]],"Text"]]