Está en la página 1de 12

PRIMER EXAMEN PARCIAL

MÉTODOS NUMÉRICOS

Nombre: Rafael Márquez Tirso


Grupo: 404

SERIE DE TAYLOR
*******************************************
*******************************************
MÉTODO ITERATIVO

CÓDIGO FUENTE
% PROGRAMA MÉTODO ITERATIVO
% UNIVERSIDAD DEL ISTMO CAMPUS TEHUANTEPEC
% INGENIERÍA EN DISEÑO
% CUARTO SEMESTRE
% MÉTODOS NUMÉRICOS
%
%
% FECHA PROGRAMADOR SITUACIÓN DEL CÓDIGO
% 23/MAR/2022 I'RMT CÓDIGO ORIGINAL
% =========== ====== ===============
%
clear all
clc
% PRESENTACIÓN DEL PROGRAMA
disp('Este es el Método Iterativo para calcular las raíces de una función')
disp('f(x)=0, para ello el usuario debe ingresar la función, el intervalo')
disp('de evaluación [a,b] y el número de particiones n, con esto se
determina')
disp('una matriz de puntos (x,y) y una gráfica de la función, para de ahí')
disp('seleccionar los puntos de cruce de la curva con el eje x y proceder')
disp('a realizar el cálculo iterativo para obtener la raíz buscada')
disp(' ')
% SOLICITUD DE DATOS
syms x
f = input('Ingrese la función f(x) = ');
a = input('Ingrese el límite inferior del intervalo a = ');
b = input('Ingrese el límite superior del intervalo b = ');
n = input('Ingrese el número de particiones n = ');
% P R O C E S O 1 Tabla y gráfica de la función
fx = inline(f);
h = (b-a)/n;
xx = a:h:b;
k = length(xx);
for i = 1:k
y(i) = fx(xx(i));
end
coordenadas = [xx' y'];
disp(' x f(x) ')
disp(coordenadas)
plot(xx,y,'k')
% P R O C E S O 2 Método iterativo
% Selección de punto de partida para el inicio del método iterativo
disp ('Con base en su gráfica y en su tabla, seleccione el valor inicial p0.')
p0 = input ('Ingrese el valor inicial p0 = ');
tol = input ('Ingrese el valor de la tolerancia tol = ');
delta = input ('Ingrese el valor del incremento de p, delta = ');
nmax = input ('Ingrese el número máximo de iteraciones nmax = ');

% Incia ciclo iterativo


for i = 1:nmax
r = p0 + (i-1)*delta;
p = fx(r);
ea = abs(p);
if ea <= tol
break
end
end

% SALIDA DE RESULTADOS
if nmax == 1
fprintf('El procedimiento falló después de nmax = %4.0f iteraciones\
n',nmax)
else
fprintf('La raiz de la funcion es r = %6.4f despues de %4.0f iteraciones\
n',r,i)
end

GRÁFICA DE LA FUNCIÓN y = f(x)


12

10

8
contradominio f(x)

-2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
dominio x

CORRIDA DEL PROGRAMA


Este es el Método Iterativo para calcular las raíces de una función
f(x)=0, para ello el usuario debe ingresar la función, el intervalo
de evaluación [a,b] y el número de particiones n, con esto se determina
una matriz de puntos (x,y) y una gráfica de la función, para de ahí
seleccionar los puntos de cruce de la curva con el eje x y proceder
a realizar el cálculo iterativo para obtener la raíz buscada

Ingrese la función f(x) = 3*x^2-exp(x)


Ingrese el límite inferior del intervalo a = -2
Ingrese el límite superior del intervalo b = 2
Ingrese el número de particiones n = 100
x f(x)
-2.0000 11.8647
-1.9600 11.3839
-1.9200 10.9126
-1.8800 10.4506
-1.8400 9.9980
-1.8000 9.5547
-1.7600 9.1208
-1.7200 8.6961
-1.6800 8.2808
-1.6400 7.8748
-1.6000 7.4781
-1.5600 7.0907
-1.5200 6.7125
-1.4800 6.3436
-1.4400 5.9839
-1.4000 5.6334
-1.3600 5.2921
-1.3200 4.9601
-1.2800 4.6372
-1.2400 4.3234
-1.2000 4.0188
-1.1600 3.7233
-1.1200 3.4369
-1.0800 3.1596
-1.0400 2.8913
-1.0000 2.6321
-0.9600 2.3819
-0.9200 2.1407
-0.8800 1.9084
-0.8400 1.6851
-0.8000 1.4707
-0.7600 1.2651
-0.7200 1.0684
-0.6800 0.8806
-0.6400 0.7015
-0.6000 0.5312
-0.5600 0.3696
-0.5200 0.2167
-0.4800 0.0724
-0.4400 -0.0632
-0.4000 -0.1903
-0.3600 -0.3089
-0.3200 -0.4189
-0.2800 -0.5206
-0.2400 -0.6138
-0.2000 -0.6987
-0.1600 -0.7753
-0.1200 -0.8437
-0.0800 -0.9039
-0.0400 -0.9560
0 -1.0000
0.0400 -1.0360
0.0800 -1.0641
0.1200 -1.0843
0.1600 -1.0967
0.2000 -1.1014
0.2400 -1.0984
0.2800 -1.0879
0.3200 -1.0699
0.3600 -1.0445
0.4000 -1.0118
0.4400 -0.9719
0.4800 -0.9249
0.5200 -0.8708
0.5600 -0.8099
0.6000 -0.7421
0.6400 -0.6677
0.6800 -0.5867
0.7200 -0.4992
0.7600 -0.4055
0.8000 -0.3055
0.8400 -0.1996
0.8800 -0.0877
0.9200 0.0299
0.9600 0.1531
1.0000 0.2817
1.0400 0.4156
1.0800 0.5545
1.1200 0.6983
1.1600 0.8469
1.2000 0.9999
1.2400 1.1572
1.2800 1.3186
1.3200 1.4838
1.3600 1.6526
1.4000 1.8248
1.4400 2.0001
1.4800 2.1783
1.5200 2.3590
1.5600 2.5420
1.6000 2.7270
1.6400 2.9136
1.6800 3.1016
1.7200 3.2907
1.7600 3.4804
1.8000 3.6704
1.8400 3.8603
1.8800 4.0497
1.9200 4.2382
1.9600 4.4255
2.0000 4.6109
Con base en su gráfica y en su tabla, seleccione el valor inicial p0.
Ingrese el valor inicial p0 = -1
Ingrese el valor de la tolerancia tol = 0.01
Ingrese el valor del incremento de p, delta = 0.001
Ingrese el número máximo de iteraciones nmax = 10000
La raiz de la funcion es r = -0.4610 despues de 540 iteraciones

MÉTODO DE PUNTO FIJO


*******************************************
*******************************************

MÉTODO DE BISECCIÓN
*******************************************
*******************************************

MÉTODO DE NEWTON-RAPHSON
*******************************************
*******************************************
MÉTODO DE LA SECANTE
*******************************************
*******************************************

MÉTODO DE LA REGLA FALSA


*******************************************
*******************************************

% Este programa grafica una estrella de 5 puntas, inscrita en una


% circunferencia, sólo proporcionándole la magnitud del radio.
clear all; clc;
r1 = input('Ingrese el radio => ');
% Determina el ángulo r2
Factor = pi/180;
altura = r1*sin(18*Factor);
r2 = altura/cos(Factor*36);
%
% Inicia el ciclo para el cálculo de la circunferencia
alfa=0:360;
k=length(alfa);
for j=1:k
xc(j)=r1*cos(alfa(j)*Factor);
yc(j)=r1*sin(alfa(j)*Factor);
end
axis ('equal')
plot(xc,yc,'-g')
hold on

% Inicia ciclo de cálculo de la estrella


for i=1:10
angulo(i)=Factor*(18+((i-1)*36));
if mod(i,2)==0
x(i)=r2*cos(angulo(i));
y(i)=r2*sin(angulo(i));
else
x(i)=r1*cos(angulo(i));
y(i)=r1*sin(angulo(i));
end
end
ang=(180/pi)*angulo;
X=[x x(1)];
Y=[y y(1)];
axis ('equal')
plot(X,Y,'-r')
fill(X,Y,'r')
% Inicia el ciclo para el cálculo de la circunferencia pequeña
alfa=0:360;
k=length(alfa);
for j=1:k
xr2(j)=r2*cos(alfa(j)*Factor);
yr2(j)=r2*sin(alfa(j)*Factor);
end
plot(xr2,yr2,'w')
hold on
%
% Extrae coordenadas para dibujar el pentágono intrínseco
for i=1:5
x3(i)=x(i*2);
y3(i)=y(i*2);
end
X3=[x3 x3(1)];
Y3=[y3 y3(1)];
fill(X3,Y3,'-w')
hold on
%
% Extrae las coordenadas para dibujar el pentágono exterior
for i=1:5
x4(i)=x(i*2-1);
y4(i)=y(i*2-1);
end
X4=[x4 x4(1)];
Y4=[y4 y4(1)];
plot(X4,Y4,'--k')
5

-1

-2

-3

-4

-5
-6 -4 -2 0 2 4 6

También podría gustarte