Você está na página 1de 11

INSTITUTO TECNOLOGICO DE AGUASCALIENTES

Carrera: Ing. Electrnica

Materia: Anlisis Numrico

Tema: Ajuste de funciones


Nombre del profesor: Judith Mauricio de Anda

Nombre de los alumnos: Jos de Jess Padilla Gmez


Jonny Garca

Aguascalientes, Aguascalientes a 12/05/2015

Ejercicio 1. Disea un circuito resistivo fsicamente o mediante software, en el que


debers emplear las variables voltaje (independiente) y corriente (dependiente).
Realiza 5 lecturas, modificando el voltaje y leyendo la corriente como salida.

R1

+0.02
Amps

220

BAT1
5V

Calcula con un polinomio de LaGrange de primer grado mediante MatLab la


corriente generada por una diferencia de potencial de 60V
Tabla con las 5 lecturas

V
I

5
0.02

20
0.09

40
0.18

70
0.32

100
0.45

Se utilizara un polinomio de primer grado porque la tabla declara ser una


recta.

%Descripcin: Mtodo de Lagrange


%fecha:31/03/2014
%autor: JMA
clc
clear
X=[40 70];
FX=[0.18 0.32];
N=size(X,2)-1;
p=polyfit(X,FX,N)
x=min(X):0.2:max(X);
y=polyval(p,x);
plot(x,y)
hold on
grid
XINT=input(' Dame el valor que deseas interpolar: ');
FXINT=0;
I=1;
%fx=0;
%syms x;
while I<=N+1
L=1;
J=1; %Contador
% l=1;
while J<=N+1
if I~=J
L=L*(XINT-X(J))/(X(I)-X(J));
% l=l*(x-X(J))/(X(I)-X(J));
end
J=J+1;
end
FXINT=FXINT+L*FX(I); %Sumatoria
% fx=fx+l*FX(I);
I=I+1;
end
fprintf('El resultado de la interpolacin es %.6f\n',FXINT)
plot(XINT,FXINT,'rx')
hold off
%collect(fx)

p=
0.0047 -0.0067

Dame el valor que deseas interpolar: 60


El resultado de la interpolacin es 0.273333

Polinomio de Interpolacin
P(x) = 0.0047x 0.0067

Grafica

Comparacin

Aunque el software (Proteus) no se presta para dar ms cifras significativas


se comprueba la efectividad del polinomio de LaGrange para aproximaciones.

P. LaGrange (MatLab) 0.273333 (A)


Software (Proteus)

0.27 (A)

R1
220

BAT1
60V

+0.27
Amps

Ejercicio 2. Consulta el libro de Mtodos numricos aplicados a la ingeniera


segunda edicin de Nieves y Domnguez Ed. CECSA; busca el tema de
Aproximacin multilineal con mnimos cuadrados y captura el cdigo de este
mtodo. Debers hacer las siguientes modificaciones para que el programa realice
lo siguiente:
1. Graficacin de los puntos tabulados (emplea el comando plot3).
2. Resolucin del SEL mediante la funcin Gauss_pivoteo empleada
anteriormente.
3. Graficacin de la ecuacin de aproximacin (emplea los comandos meshgrid y
surf para graficar el plano).

%Descripcin:Aproximacin Multilineal
%Fecha: 04/05/2015
%Autor: Jonny Garcia
clc
clear
u=[0.02;0.02;0.02;0.02;0.10;0.10;0.10;0.10;0.18;0.18;0.18;0.18];
v=[1000;1100;1200;1300;1000;1100;1200;1300;1000;1100;1200;1300];
y=[78.9;65.1;55.2;56.4;80.9;69.7;57.4;55.4;85.3;71.8;60.7;58.9];
A=[size(u,1) sum(u) sum(v);sum(u) sum(u.^2) sum(u.*v);sum(v)
sum(v.*u) sum(v.^2)];
b=[sum(y);sum(u.*y);sum(v.*y)]
x=funcion_gauss_pivoteo(A,b);
x
a=x(1);
b=x(2);
c=x(3);
plot3(u,v,y,'or');
hold on;
[X,Y]=meshgrid(0.02:0.05:0.18,1000:50:1300);
h=surf(X,Y,a+b*X+c*Y);
set(h,'facecolor','blue');
grid;
xlabel('u');
ylabel('v');
zlabel('y');

Corrida
b =
1.0e+005 *
0.0080
0.0008
9.0223
x =
161.3365
32.9688
-0.0855

Grficas

Ejercicio 3: Elije un dibujo que muestre un objeto con contorno de curvas suaves.
Toma los puntos (x,y) que consideres necesarios para el trazo del contorno de la
figura. Recuerda tomar ms puntos en los sitios donde la curva cambia.
Teclea los datos en los vectores x y a en el programa del trazador cbico natural.
Realiza la corrida y observa el resultado.

%Descripccion: Trazador Cubico Natural


%Autor: Jos de Jess Padilla Gmez
%Materia: Analisis Numerico
clc
clear
x=[0 1 1.5 2 2.5 2.8 3.9 4.2 4.45 4.75 5.1 5.2 5.5 6.6 6.65 6.7 6.8 7.4
7.8 8 9 10 11 12 12.5 13 13.5 14 14.3 14.6 14.7 15.4 16 17 18 18.5 20 22
22.5 23 23.5 24 24.5 25.5 26 27];
a=[1.6 2 2.3 2.6 2.4 2.55 3.4 3.45 3.5 3.51 3.45 3.4 3.42 3.6 3.55 3.4
3.35 3.35 3.2 3 2.8 2.75 3 3.2 3.5 3.3 3.5 3.3 3.55 3.3 3.4 3.2 3 3.2 3
2.7 2.3 2.15 2.5 2.75 2.6 2.6 2.55 1.9 1.4 1.1];
n=size(x,2);
for i=1:n-1
h(i)=x(i+1)-x(i);
end
for i=2:n-1
alfa(i)=(3*(a(i+1)*h(i-1)-a(i)*(x(i+1)-x(i-1))+a(i-1)*h(i)))/(h(i1)*h(i));
end
l(1)=1;
miu(1)=0;
z(1)=0;
for i=2:n-1
l(i)=2*(x(i+1)-x(i-1))-h(i-1)*miu(i-1);
miu(i)=h(i)/l(i);

z(i)=(alfa(i)-h(i-1)*z(i-1))/l(i);
end
l(n)=1;
z(n)=0;
c(n)=0;
for j=n-1:-1:1
c(j)=z(j)-miu(j)*c(j+1);
b(j)=(a(j+1)-a(j))/h(j)-h(j)*(c(j+1)+2*c(j))/3;
d(j)=(c(j+1)-c(j))/(3*h(j));
end
a;
b;
c;
d;
axis([0 27 -7 7]);
hold on
for i=1:n-1
X=x(i):0.1:x(i+1);
s=d(i).*((X-x(i)).^3)+(c(i).*((X-x(i)).^2))+(b(i).*(X-x(i)))+a(i);
plot(X,s)
end
grid