SlideShare una empresa de Scribd logo
GRADO INGENIERÍA CIVIL MÉTODOS NUMÉRICOS
MÉTODO DE LA BISECCIÓN - MATLAB (TEMA 2)
function [raiz]=biseccion(def,x0,x1,tol)
f=inline(def); % para poder declarar f(x0), f(x1)...
if f(x0)*f(x1)<0 % para asegurarnos que existe raíz en mi intervalo
x=x0; % el punto medio empieza siendo x0
while abs(f(x)) > tol % comienza el bucle, mientras el valor de la
función supere a la tolerancia
x=(x0+x1)/2; % fórmula bisección(punto medio del intervalo es
"x")
if f(x0)*f(x)<0 % si cambia de signo entre el punto medio y x0
x1=x; % x1 ahora es el punto medio calculado
else % de lo contrario
x0=x; % x0 es el punto medio calculado
end
end
raiz=x; % la raíz es el último punto medio
elseif f(x0)*f(x1) > 0
raiz ='no hay cambio de signo'; % la funcion no corta al eje x
elseif f(x0)*f(x1) == 0
raiz = 'la raiz es uno de los extremos';
end
end
EJECUCIÓN DEL PROGRAMA EN COMMAND WINDOW
Ejemplos:
>> [raiz]=biseccion('x^2',0,2,0.001)
raiz =
'la funcion es uno de los extremos'
>> [raiz]=biseccion('x^2',1,2,0.001)
raiz =
'no hay cambio de signo'
>> [raiz]=biseccion('x^2-2',0,2,0.001)
raiz =
1.4141
GRADO INGENIERÍA CIVIL MÉTODOS NUMÉRICOS
MÉTODO DE LA RÉGULA FALSI
function [y]=falsap(h,a,b,tol)
f = inline(h); % declaro la función
c = (a*f(b)-b*f(a))/(f(b)-f(a)); % declaro el punto intermedio
error = abs(f(c)); % declaro el error
while (error > tol)
c = (a*f(b)-b*f(a))/(f(b)-f(a)); % calculo el punto intermedio
entre a y b
if f(a)*f(c) < 0 % si cambia de signo en el intervalo [a,c]
b = c; % sustituye el punto b por el c
else % si no ocurre lo anterior
a = c; % sustituye el punto a por el c
end
error = f(c); % el error que indica el "while" es f(c)
end
y = c; % la raiz, que he llamado y, es el último punto c
end
EJECUCIÓN DEL PROGRAMA EN COMMAND WINDOW
Ejemplos:
>> [y]=falsap('x^3-2*x+3',1,1.5,0.01)
y =
-3.1014
>> [y]=falsap('x^3-2',1,1.5,0.01)
y =
1.2105
>> [y]=falsap('asin(x)',0,1,0.01)
y =
0
GRADO INGENIERÍA CIVIL MÉTODOS NUMÉRICOS
MÉTODO DE NEWTON
function[raiz]=newton(def,x0,c,tol)
syms x
f = str2sym(def);
df = diff(f);
fx = inline (char(f));
dfx = inline (char(df));
k = 1;
while abs (fx(x0)) > tol || k > c
x0 = x0 - fx (x0)/dfx(x0);
k = k + 1;
end
if k > c
raiz = 'no converge';
else
raiz = x0;
end
Ejemplos:
>> [raiz]=newton('x^3-2',1.2,5,0.01)
raiz =
1.2599
>> [raiz]=newton('exp(x-5)+sin(x)',3,5,0.01)
raiz =
3.3235
>> [raiz]=newton('(2*sin(x)+2*x-5)/(2*cos(x)-4)',1,5,0.01)
raiz =
1.5019

Más contenido relacionado

DOC
Líneas+de+código
PPT
DOCX
Programa suma y multiplicacion alexander freites
PPT
7.0 metodo simplex
PPT
7.0 metodo simplex
PPTX
Derivación
PPTX
Presentación programacion
PDF
Líneas+de+código
Programa suma y multiplicacion alexander freites
7.0 metodo simplex
7.0 metodo simplex
Derivación
Presentación programacion

La actualidad más candente (20)

DOCX
Diferencias numericas
PDF
Funcion bar3 d
DOCX
Robin riberoprograma2
PPT
Fpr Tema 5 www.fresymetal.com
ODT
Function secante
PPT
Estructura de instrucciones de control
PPT
Tema III Estructuras de control
PDF
Programa en lenguaje C
PPTX
Programa 16
PPTX
Presentacion 2 5
PDF
Bucles anidados 2012
PPS
Teorema de Ruffini con Blancafort
PDF
Semana 12
DOCX
INTEGRALES..docx
RTF
Repaso c
DOCX
Michael
DOCX
Andres quintal.doc
DOCX
Derivada
PDF
Aplicaciones derivadas
Diferencias numericas
Funcion bar3 d
Robin riberoprograma2
Fpr Tema 5 www.fresymetal.com
Function secante
Estructura de instrucciones de control
Tema III Estructuras de control
Programa en lenguaje C
Programa 16
Presentacion 2 5
Bucles anidados 2012
Teorema de Ruffini con Blancafort
Semana 12
INTEGRALES..docx
Repaso c
Michael
Andres quintal.doc
Derivada
Aplicaciones derivadas
Publicidad

Similar a Código MatLab (20)

PPT
03 clase3.ppt
DOCX
Métodos numéricos
PDF
Integracion numérica
PDF
4.metodo de la biseccion
PDF
Método de la bisección
PDF
Método de la bisección
PDF
DERIVADA DE UNA FUNCIÓN Y SUS APLICACIONES.pdf
PPT
aplicaciones de la derivada.ppt
PDF
18. Extremos de funciones.pdf
PPT
Matlab2009b -clase2
PPTX
Introducción alicaciones de la derivada ppt
DOCX
codigos metodosnumericosingenieriaelectrica.docx
PPTX
Introducción alicaciones de la derivada
DOCX
Derivadas- Universidad de la Guajira, Calculo Diferencial
PDF
Revista horacio
PPTX
RAÍCES DE ECUACIONES
PDF
Aplicaciones del Cálculo Diferencial
DOC
Derivadas. aplicaciones
PPTX
Análisis Matemático-1.pptx.analitic.com.pe
03 clase3.ppt
Métodos numéricos
Integracion numérica
4.metodo de la biseccion
Método de la bisección
Método de la bisección
DERIVADA DE UNA FUNCIÓN Y SUS APLICACIONES.pdf
aplicaciones de la derivada.ppt
18. Extremos de funciones.pdf
Matlab2009b -clase2
Introducción alicaciones de la derivada ppt
codigos metodosnumericosingenieriaelectrica.docx
Introducción alicaciones de la derivada
Derivadas- Universidad de la Guajira, Calculo Diferencial
Revista horacio
RAÍCES DE ECUACIONES
Aplicaciones del Cálculo Diferencial
Derivadas. aplicaciones
Análisis Matemático-1.pptx.analitic.com.pe
Publicidad

Último (20)

PDF
LIBRO UNIVERSITARIO DESARROLLO ORGANIZACIONAL BN.pdf
PPTX
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
PDF
Copia de Presentación Propuesta de Marketing Corporativo Blanco y Negro.pdf
PDF
HISTORIA DE LA GRÚAA LO LARGO DE LOS TIEMPOSpdf
PDF
Primera formulación de cargos de la SEC en contra del CEN
PPTX
OPERACION DE MONTACARGAS maneji seguro de
PDF
fulguracion-medicina-legal-418035-downloable-2634665.pdf lesiones por descarg...
PDF
presentacion sobre los polimeros, como se conforman
PDF
Durabilidad del concreto en zonas costeras
DOC
informacion acerca de la crianza tecnificada de cerdos
PDF
FIJA NUEVO TEXTO DE LA ORDENANZA GENERAL DE LA LEY GENERAL DE URBANISMO Y CON...
PPTX
GEOLOGIA, principios , fundamentos y conceptos
PPTX
1 CONTAMINACION AMBIENTAL EN EL PLANETA.pptx
PDF
S15 Protección de redes electricas 2025-1_removed.pdf
PDF
GUÍA PARA LA IMPLEMENTACIÓN DEL PLAN PARA LA REDUCCIÓN DEL RIESGO DE DESASTRES
PPTX
MODULO 2. METODOLOGIAS PARA ANALISIS DE RIESGOS 2da Parte.pptx
PDF
LIBRO UNIVERSITARIO SOFTWARE PARA INGENIERIA BN.pdf
PPTX
Manual ISO9001_2015_IATF_16949_2016.pptx
PDF
Módulo-de Alcance-proyectos - Definición.pdf
PDF
Matriz_Seguimiento_Estu_Consult_2024_ACT.pdf
LIBRO UNIVERSITARIO DESARROLLO ORGANIZACIONAL BN.pdf
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
Copia de Presentación Propuesta de Marketing Corporativo Blanco y Negro.pdf
HISTORIA DE LA GRÚAA LO LARGO DE LOS TIEMPOSpdf
Primera formulación de cargos de la SEC en contra del CEN
OPERACION DE MONTACARGAS maneji seguro de
fulguracion-medicina-legal-418035-downloable-2634665.pdf lesiones por descarg...
presentacion sobre los polimeros, como se conforman
Durabilidad del concreto en zonas costeras
informacion acerca de la crianza tecnificada de cerdos
FIJA NUEVO TEXTO DE LA ORDENANZA GENERAL DE LA LEY GENERAL DE URBANISMO Y CON...
GEOLOGIA, principios , fundamentos y conceptos
1 CONTAMINACION AMBIENTAL EN EL PLANETA.pptx
S15 Protección de redes electricas 2025-1_removed.pdf
GUÍA PARA LA IMPLEMENTACIÓN DEL PLAN PARA LA REDUCCIÓN DEL RIESGO DE DESASTRES
MODULO 2. METODOLOGIAS PARA ANALISIS DE RIESGOS 2da Parte.pptx
LIBRO UNIVERSITARIO SOFTWARE PARA INGENIERIA BN.pdf
Manual ISO9001_2015_IATF_16949_2016.pptx
Módulo-de Alcance-proyectos - Definición.pdf
Matriz_Seguimiento_Estu_Consult_2024_ACT.pdf

Código MatLab

  • 1. GRADO INGENIERÍA CIVIL MÉTODOS NUMÉRICOS MÉTODO DE LA BISECCIÓN - MATLAB (TEMA 2) function [raiz]=biseccion(def,x0,x1,tol) f=inline(def); % para poder declarar f(x0), f(x1)... if f(x0)*f(x1)<0 % para asegurarnos que existe raíz en mi intervalo x=x0; % el punto medio empieza siendo x0 while abs(f(x)) > tol % comienza el bucle, mientras el valor de la función supere a la tolerancia x=(x0+x1)/2; % fórmula bisección(punto medio del intervalo es "x") if f(x0)*f(x)<0 % si cambia de signo entre el punto medio y x0 x1=x; % x1 ahora es el punto medio calculado else % de lo contrario x0=x; % x0 es el punto medio calculado end end raiz=x; % la raíz es el último punto medio elseif f(x0)*f(x1) > 0 raiz ='no hay cambio de signo'; % la funcion no corta al eje x elseif f(x0)*f(x1) == 0 raiz = 'la raiz es uno de los extremos'; end end EJECUCIÓN DEL PROGRAMA EN COMMAND WINDOW Ejemplos: >> [raiz]=biseccion('x^2',0,2,0.001) raiz = 'la funcion es uno de los extremos' >> [raiz]=biseccion('x^2',1,2,0.001) raiz = 'no hay cambio de signo' >> [raiz]=biseccion('x^2-2',0,2,0.001) raiz = 1.4141
  • 2. GRADO INGENIERÍA CIVIL MÉTODOS NUMÉRICOS MÉTODO DE LA RÉGULA FALSI function [y]=falsap(h,a,b,tol) f = inline(h); % declaro la función c = (a*f(b)-b*f(a))/(f(b)-f(a)); % declaro el punto intermedio error = abs(f(c)); % declaro el error while (error > tol) c = (a*f(b)-b*f(a))/(f(b)-f(a)); % calculo el punto intermedio entre a y b if f(a)*f(c) < 0 % si cambia de signo en el intervalo [a,c] b = c; % sustituye el punto b por el c else % si no ocurre lo anterior a = c; % sustituye el punto a por el c end error = f(c); % el error que indica el "while" es f(c) end y = c; % la raiz, que he llamado y, es el último punto c end EJECUCIÓN DEL PROGRAMA EN COMMAND WINDOW Ejemplos: >> [y]=falsap('x^3-2*x+3',1,1.5,0.01) y = -3.1014 >> [y]=falsap('x^3-2',1,1.5,0.01) y = 1.2105 >> [y]=falsap('asin(x)',0,1,0.01) y = 0
  • 3. GRADO INGENIERÍA CIVIL MÉTODOS NUMÉRICOS MÉTODO DE NEWTON function[raiz]=newton(def,x0,c,tol) syms x f = str2sym(def); df = diff(f); fx = inline (char(f)); dfx = inline (char(df)); k = 1; while abs (fx(x0)) > tol || k > c x0 = x0 - fx (x0)/dfx(x0); k = k + 1; end if k > c raiz = 'no converge'; else raiz = x0; end Ejemplos: >> [raiz]=newton('x^3-2',1.2,5,0.01) raiz = 1.2599 >> [raiz]=newton('exp(x-5)+sin(x)',3,5,0.01) raiz = 3.3235 >> [raiz]=newton('(2*sin(x)+2*x-5)/(2*cos(x)-4)',1,5,0.01) raiz = 1.5019