CODIGOS METODOS NUMERICOS PARA MATLAB

Páginas: 10 (2414 palabras) Publicado: 24 de mayo de 2015
Bisección
disp('METODO DE BISECCION');
disp('-------------------');
f=input('INGREESE FUNCION: ','s');
xai=input('INGRESE LIMITE INFERIOR DEL INTERVALO:');
xbi=input('INGRESE LIMITE SUPERIOR DEL INTERVALO:');
tol=input('INGRESE PORCENTAJE DE ERROR:');
f=inline(f);
i=1;
ea(1)=100;
if f(xai)*f(xbi)<0
xa(1)=xai;
xb(1)=xbi;
xr(1)=(xa(1)+xb(1))/2;
fprintf('It. Xa Xr Xb Error aprox \n');
fprintf('%2d\t %11.7f \t %11.7f \t %11.7f \n',i,xa(i),xr(i),xb(i));
while abs(ea(i)) >= tol,
if f(xa(i))*f(xr(i))<0
xa(i+1)=xa(i);
xb(i+1)=xr(i);
end
if f(xa(i))*f(xr(i))>0
xa(i+1)=xr(i);
xb(i+1)=xb(i);
end
xr(i+1)=(xa(i+1)+xb(i+1))/2;
ea(i+1)=abs((xr(i+1)-xr(i))/(xr(i+1))*100);
fprintf('%2d \t %11.7f \t %11.7f \t %11.7f \t %7.3f \n',...
i+1,xa(i+1),xr(i+1),xb(i+1),ea(i+1));
i=i+1;
end
else
fprintf('NO EXISTEUNA RAIZ EN ESTE INTERVALO');
end
Algoritmo del metodo de Biseccion.

1- Iniciar programa.

2-Introducir la funcion (polinomio).

3-Introducir limite inferior.

4- Introducir limite Superior.

5- Introducir porcentaje de error.

6- El programa multiplica los limites y espera que sean menores a cero.

7- El programa calcula la primera aproximacion de la raiz.

8- Se determina en que sub-intervalose encuentra la raiz.

9- Si el producto de los limites es menor que cero volver al paso 7.

10- Si el producto de los limites es mayor que cero volver al paso 3.

11- Si el producto de los limites es igual a cero la raiz se a encontrado.

12- Imprimir resultados.

13-Fin.

newton-raphson
disp('Newton-Raphson');
disp('--------------');
a=input('Introduzca el valor de la funcion');%xd=input('Introduzca la derivada de la funcion','s');
xi=input('Introduzca el valor de xi:');
Es=input('Introduzca el valor del error limite:');
syms x
sd=diff(a);
derivada =inline(xd);
formula=inline(a);
Ea(1)=100;
i=1;
fxi=feval(formula,xi);
fds1=fedal(derivada,x1);
xi1-xi-(fxi/fdxi);
fprintd('it xi Funcion de xi Derivada de xi Error aproximado\n');
fprintf('%2d\t %11.7f\t %11.7f\t %11.7f\t%11.7f\n',i,xi,fxi,fdxi,Ea);
xi=xi1;
i=i+1;
while (Ea>Es)
fxi=feval(formula,xi);
fdx1=feval(derivada,x1);
xi1=xi-(fxi/fdxi);
Ea=abs(((xi1-xi)/xi1)*100);
fprintf('%2d\t %11.7f\t %11.7f\t %11.7f\t %11.7f\n',i,xi,fxi,fdxi,Ea);
xi=xi1;
i=i+1;
end
1- Iniciar.

2- Introducir la funcion, ecuacion o polinomio.

3- Introducir la derivada de la funcion.

4- Introducir el valor de X0.

5-introducir el error limite.

6-Analizar si el error aprox. es mayor que el error limite.

7- Calcular raiz mejorada.

8- Calcular error aprox.

9- Si el error aprox. es mayor regresar al paso 6, sino continuar.

10- Imprimir resultados.

11- Fin.

punto fijjo
%programa que calcula una raiz de una funcion mediante el metodo punto fijo
clear
disp('ingrese la funcion');
g=input('puede ser cualquier literal');
r=input('ingrese suposicioninicial del punto');
alto=0;
while alto==0
disp('selecciona 1 para el criterio de error relativo entre aproximaciones o 2 para seleccionar por un numero');
s=input('no. de iteraciones');
switch s
case 1
epsilon=input('ingresa maximo error relativo:');
alto=1;
case 2
maxit=input('ingresa maximo numero de iteraciones');
alto=1;
otherwise
disp('opcion no valida, selecciona 1 o 2');
end
end
it=1;alto=0;
while alto==0
gr=subs(g,r);
err=abs((gr-r)/(gr));
if s==1
if epsilon >=err
alto=1;
end
end
if s==2
if maxit<=it
alto=1;
end
end
disp(' iteracion no. num2str(it)');
disp('la aprocimacion es num2str(gr)');
disp('el error relativo es num2(err)');
r=gr;
it=it+1;
end

GAUSS.JORDAN
clear
a=input('INGRESE LA MATRIZ AUMENTADA a=');
%a=[1 -1 2 -1 -8; 2 -2 3 -3 -20; 1 1 1 0 -2; 1 -1 4 3 4];
%PASO 1[n,m]=size(a);
bol=0;
%PASO 2 Haga pasos 3-5
for i=1:n-1
for p=i:n
if a(p,i)~=0
break;
end
end
if p==n
disp('EL SISTEMA TIENE INFINITAS SOLUCIONES O NO EXISTE SOLUCION');
bol=1;
break;
end

%PASO 4 intercambio de filas
if p~=i
disp('pivoteando')
aux=a(i,:);
a(i,:)=a(p,:);
a(p,:)=aux;
end

%PASO 5 Haga los pasos 6-7
for j=i+1:n
%PASO 6
m(j,i)=a(j,i)/a(i,i);

%PASO 7...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Codigo de metodos numericos en matlab
  • METODOS NUMERICOS EN MATLAB
  • Metodos Numericos En Matlab.
  • métodos numéricos para ingenieria
  • Codigo Para La Transformada De Fourier Matlab
  • Métodos Numéricos Para Ingeniería
  • Metodos numericos para ingenieros
  • Métodos numéricos para integrar

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS