Sei sulla pagina 1di 15

CODIFICACIN EN MATLAB

MTODOS NUMRICOS PARA HALLAR LA RAZ DE UNA FUNCIN


MTODOS NUMRICOS PARA SOLUCIONAR SISTEMAS DE
ECUACIONES
MTODOS NUMRICOS PARA SOLUCIONAR DERIVADAS
MTODOS NUMRICOS PARA SOLCIONAR INTEGRALES
MTODOS NUMRICOS PARA SOLUICONAR ECUACIONES
DIFERENCIALES ORDINARIAS

Algoritmo mtodo de
Biseccin
Definir intervalos x1 y x2
mediante el mtodo grafico

Determinar la raz
aproximada
X1/2=(x1+x2)/2

NO

X1/2=X1

Evaluar las funciones


F(x1/2)*f(x1) 0

Evaluar el error
E= abs(Xnew
Xant)/Xnew*100
NO

E 1x10-4
SI
Imprimir
X1/2
como la
raz

Final

X1/2=X2

Mtodo de Biseccin

'METODO DE BISECCION'
x1 =12;
x2 =16;
error=0.00001;
iteracion=0;
fxr=1;
while abs(fxr)>error
xr = (x1+x2)/2;
fx1 = (667.38/x1)*(1-exp(-0.14*x1))-40;
fxr = (667.38/xr)*(1-exp(-0.14*xr))-40;
if (fxr*fx1) > 0;
x1=xr;
else
x2=xr;
end
iteracion=iteracion+1;
end
syms x
ezplot((667.38/x)*(1-exp(-0.14*x))-40,[10,20])
grid
disp('la raz es'), disp(xr)
disp('el nmero de iteraciones es'), disp(iteracion)

Mtodo Falsa Posicin


Definir intervalos x1 y x2
mediante el mtodo grafico

Evaluar f(x1) y f(x2)


Determinar la raz
aproximada

Evaluar el error
E= abs(Xnew Xant)/Xnew*100

Xr = X2

E 1x10-4
SI
NO

Imprimir
Xr
como la
raz

Final

Mtodo de Falsa
'METODO DE FALSA POSICION'
Posicin
x1=12;
x2=16;
error=0.00001;
iteracion=0;
fxr=1;
while abs(fxr)>error
fx1=(667.38/x1)*(1-exp(-0.14*x1))-40;
fx2=(667.38/x2)*(1-exp(-0.14*x2))-40;
xr=x2-(fx2*(x1-x2)/(fx1-fx2));
fxr=(667.38/xr)*(1-exp(-0.14*xr))-40;
x1=xr;
x2=x2;
iteracion=iteracion+1;
end
syms x
ezplot((667.38/x)*(1-exp(-0.14*x))-40,[10,20])
grid
disp('la raz es'), disp(xr)
disp('el nmero de iteraciones es'), disp(iteracion)

Mtodo de la secante
'METODO DE LA SECANTE'
x1=16;
x2= x1-1;
error=0.00001;
iteracion=0;
fxr=1;
while abs(fxr)>error
fx1=(667.38/x1)*(1-exp(-0.14*x1))-40;
fx2=(667.38/x2)*(1-exp(-0.14*x2))-40;
xr=x1-(fx1*(x2-x1)/(fx2-fx1));
fxr=(667.38/xr)*(1-exp(-0.14*xr))-40;
x2=x1;
x1=xr;
iteracion=iteracion+1;
end
syms x
ezplot((667.38/x)*(1-exp(-0.14*x))-40,[10,20])
grid
disp('la raz es'), disp(xr)
disp('el nmero de iteraciones es'), disp(iteracion)

Mtodo de Gauss Simple


'METODO DE GAUSS-SIMPLE'
A=[-1.5,8,5,65;1,0.40,-3,-55;-8/3,5,-4,22];
B=A(1,:);
C=A(2,:)-((A(2,1)/A(1,1))*B);
D=A(3,:)-((A(3,1)/A(1,1))*B);
A=[B;C;D]
B=A(1,:);
C=A(2,:);
D=A(3,:)-((A(3,2)/A(2,2))*C);
A=[B;C;D]
Z=A(3,4)/A(3,3);
Y=(A(2,4)-(A(2,3)*Z))/A(2,2);
X=(A(1,4)-(A(1,3)*Z)-(A(1,2)*Y))/A(1,1);
disp('la solucion del problema es:'),X,Y,Z

Mtodo de Gauss Simple


'METODO DE GAUSS-JORDAN'
A=[-1.5,8,5,65;1,0.40,-3,-55;-8/3,5,-4,22];
B=A(1,:)*1/A(1,1);
C=A(2,:)-(A(2,1)*B);
D=A(3,:)-(A(3,1)*B);
A=[B;C;D];
C=A(2,:)*1/A(2,2);
B=A(1,:)-(A(1,2)*C);
D=A(3,:)-(A(3,2)*C);
A=[B;C;D];
D=A(3,:)*1/A(3,3);
B=A(1,:)-(A(1,3)*D);
C=A(2,:)-(A(2,3)*D);
A=[B;C;D];
X=A(1,4);
Y=A(2,4);
Z= A(3,4);
disp('la solucion del problema es:'),X,Y,Z

Derivadas e Integrales Analticas


DERIVADAS

diff('3*(x*y)^3')

calcula la 1ra derivada analtica con respecto a x

diff('3*(x*y)^3',y)

calcula la 1ra derivada analtica con respecto a y

diff('3*(x*y)^3',y,2)

calcula la 2da derivada analtica con respecto a y

pretty(diff('3*(x*y)^3',x)) escribe la derivada analtica en forma de caligrafa

INTEGRALES

int('3*(x*y)^3')

calcula la integral analtica

pretty(int('3*(x*y)^3'))

escribe la integral analtica en forma de caligrafa

Integral Definidas
int('3*(x)^3',2,5)
Derivadas en un punto
x=2
eval(diff('3*(x)^3'))

Graficar derivadas e integrales


ezplot(diff('sin(y)'),[pi,2*pi])
ezplot(int('sin(y)'),[pi,2*pi])
ezplot(diff('3*x^3'),[2,22])
ezplot(int('3*x^3'),[2,22])

Ajuste de Datos e Interpolacin


Graficar los datos originales y fijar los coeficientes del
polinomio
x=[0,1,2,3,4,5,6]
valores de x
y=[0,1,3.3,2.2,5.6,4.4,5.6] valores de y
plot(x,y,'*')
grafica los datos originales
a=polyfit(x,y,3)
fija los coef. del polinomios de 3orden
Graficar el polinomio junto a los datos originales
x1=linspace(0,7,100);
p1=polyval(a,x1);
plot(x,y,-,x1,p1)

distribuye nuevos x1
evala el polinomio de grado 3
grafica el polinomio junto a los datos originales

SOLUCION RAPIDA DE UN SISTEMA DE ECUACIONES


1. Introducir la matriz solo de coeficientes de las variable
A=[1,2,3,4,5,6;7,8,9,12,2,3;4,5,6,7,8,9;0,15,3,4,5,6;7,8,9,1,3,23;2,4,5,7,8,9]
A=
3. Calcular la matriz inverza
de A con el producto del
1 2 3 4 5 6
vector C
7 8 9 12 2 3
4 5 6 7 8 9
d=inv(A)*(C)
0 15 3 4 5 6
7 8 9 1 3 23
4. Obtencin del vector
2 4 5 7 8 9
resultante con x,y,z,w
2. Introducir la matriz de los terminos dependientes
d=
C=[34;23;45;35;26;89]
C=
34
23
45
35
26
89

131.4239
10.1865
-317.0342
143.5286
-45.8198
81.3817

Solucin analitica de ecuaciones diferenciales ordinarias ECDO

dsolve('D2y + y =4,x)
Respuesta/

calcula la solucin analtica de la ECDO

4+C1*sin(x)+C2*cos(x)

solve('D2y + y =4','y(0)=1','Dy(0)=0,x) solucin de ECDO con valores iniciales


Respuesta/

4-3*cos(x)

Solucin numrica de ECDO

1. Archivo.m en donde se introduce la ecuacion


ECDO
% archivo dy.m para solucionar una ECDO
function yderivada = dy(t,y)
yderivada = -2*y*t;
2. En la plataforma de inicio de matlab
yinicial=2;
[t,y]=ode45('dy',[0,2],yinicial);
plot(t,y)
grid

Potrebbero piacerti anche