ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

MÉTODOS NUMÉRICOS.


Enviado por   •  22 de Marzo de 2017  •  Informe  •  717 Palabras (3 Páginas)  •  169 Visitas

Página 1 de 3

UNIVERSIDAD NACIONAL DE COLOMBIA

FACULTAD DE INGENIERÍA

MÉTODOS NUMÉRICOS

Inducción SCILAB

Laboratorio 0

Un procedimiento (de los varios que existen) para ejecutar un programa en SCILAB

1) Escoja la función a investigar, codifíquela, grábela en un archivo .sci usando el editor del SCILAB

2) Seleccione y programe el método numérico como una función y grábela en un archivo .sci usando el editor del SCILAB

3) Escriba el programa en SCILAB donde defina los valores de los parámetros que necesita el método numérico definido en 2). Grabe este último como un archivo .sce

4) Ejecute el programa definido en 3), cargando primero desde el editor las funciones dadas en 1) y 2) y luego cargue el programa definido en 3). En la consola de comandos aparecerá los resultados del programa.

Ejemplo: Encontrar la raíz de la ecuación f(x)=x3 + 4x2 -10 = 0, usando el método de la falsa posición, tomando como intervalo de búsqueda [a, b] = [1.3, 2.7]

Pasos:

1) Función a investigar: f(x)=x3 + 4x2 -10 = 0.

Codificación SCILAB:

// f(x)=x^3 + 4*x^2 – 10 = 0

function z=fun1(x)

z=x.^3 + 4*x.^2 - 10;

endfunction

Nombre del archivo: fun1.sci

2) Método numérico (falsa posición) codificado:

function [c,err,yc]=falsa1(a,b,delta,max1)

// Input - f is the function

// - a and b are the left and right endpoints

// - delta is the tolerance for the zero

// - max1 is the maximum number of iterations

// Output - c is the zero

// - yc=f(c)

// - err is the error estimate for c

// ya=f(a);

// yb=f(b);

ya=fun1(a);

yb=fun1(b);

if ya*yb>0

disp('Nota: f(a)*f(b) >0'),

return,

end

for k=1:max1

dx=yb*(b-a)/(yb-ya);

c=b-dx;

ac=c-a;

yc=fun1(c);

if yc==0,break;

elseif yb*yc>0

b=c;

yb=yc;

else

a=c;

ya=yc;

end

dx=min(abs(dx),ac);

if abs(dx)<delta,break,end

end

c;

err=abs(b-a)/2;

yc=fun1(c);

endfunction

Nombre del archivo: falsa1.sci

3) Programa que encuentra la solución usando la función a investigar con el método seleccionado:

clc;

a=1.3;

b=2.7;

ya=fun1(1.3);

yb=fun1(2.7);

if ya*yb>0

disp('Revise intervalo. No hay cambio de signo: f(a)*f(b) >0'),

return,

end

disp('Rango adecuado')

delta=0.0005;

max1=10;

[c,err,yc]=falsa1(a,b,delta,max1)

...

Descargar como (para miembros actualizados) txt (4 Kb) pdf (48 Kb) docx (14 Kb)
Leer 2 páginas más »
Disponible sólo en Clubensayos.com