Red de conocimiento informático - Conocimiento sistemático - Solicite ayuda a expertos y use LabVIEW para calcular el valor de e. Hay tres métodos, lenguaje c, lenguaje G y programación mixta, y luego vea qué cálculo es el más rápido.

Solicite ayuda a expertos y use LabVIEW para calcular el valor de e. Hay tres métodos, lenguaje c, lenguaje G y programación mixta, y luego vea qué cálculo es el más rápido.

(1) programa polinómico de interpolación de Lagrange de n nodos

función yy=lagrange(x1,y1,xx)

%Este programa es la interpolación de Lagrange1, donde x1, y1

% es el nodo de interpolación y el valor de la función en el nodo, y la salida es el valor de la función del punto de interpolación xx.

%xx puede ser un vector.

syms x

n=longitud(x1);

para i=1:n

t=x1;t(i )=[];L(i)=prod((x-t)./(x1(i)-t));% El vector L se utiliza para almacenar la función de base de interpolación

end

u=sum(L.*y1);

p=simplify(u) % p es la función de interpolación de Lagrange simplificada (cadena)

yy=subs(p , x,xx);

clf

plot(x1,y1,'ro',xx,yy,'*')

==== = ===

Comandos y resultados de la ventana de comandos

formato largo g

>> lagrange([11 12],[0.190809 0.207912],11.5)< / p>

p =

(616200515415341*x)/36028797018963968 + 96413060822745/36028797018963968

ans =

0.1993605

> > Lagrange ([11 12 13], [0.190809 0.207912 0.224951], 11.5)

- (1152921504607*x^2)/36028797018963968 + (321358855010651*** X ) // 18014398509481984 -5577257785379/36028797018963968

ANS =

0,1993685

> pi/180)

ANS = 0,19936793333 4417197

(2)

función f = Newton(x,y,x0)

%Este programa es la interpolación de Newton, donde x,y

% es el nodo de interpolación y el valor de la función en el nodo, y la salida es el valor de la función del punto de interpolación x0.

%x0 puede ser un vector.

syms t;

if(longitud(x) == longitud(y))

n = longitud(x);

c(1:n) = 0.0;

else

disp('¡Las dimensiones de x e y no son iguales!');

return;

fin

f = y(1);

y1 = 0;

l = 1;

para(i=1:n-1)

para(j=i+1:n)

y1(j) = (y(j)-y(i) ) /(x(j)-x(i));

fin

c(i) = y1(i+1); l *(t-x(i));

f = f + c(i)*l;

simplificar(f)

y = y1;

p>

if(i==n-1)

if(nargin == 3)

f = subs(f,'t',x0) ;

else

f = Collect(f); %Ampliar el polinomio de interpolación

f = vpa(f, 6);

fin

fin

fin

==========

fn=Newton([11 12] ,[0.190809 0.207912],11.5)

ans =

(616200515415341*t)/36028797018963968 + 96413060822745/36028797018963968

fn =

0.1993 605

>> fn=Newton([11 12 13],[0.190809 0.207912 0.224951],11.5)

ans =

(616200515415341*t )/36028797018963968 + 96413060822745/36028797018963968

ans =

- (1152921504607*t^2)/36028797018963968 + (321358855010651*t )/18014398509481984 - 55772577785379/36028797018963968

fn =

0.1993685