Vous êtes sur la page 1sur 31

APLICACIN DEL WHILE-END

EJERCICIO 01:

Utiliza bucles para crear una matriz de 3x5 en el que el valor de cada elemento es ndice de su fila
elevado al ndice de su columna dividido por la suma del ndice de su fila y el ndice de su columna.
23
Por ejemplo, el valor del elemento es 2+3 = 2.6.

RESOLUCION:

EJERCICIO 02:

La precipitacin mensual promedio (pulg.) de Boston y Seattle durante 2015 se dan


UNIVERSIDAD PERUANA UNIN
en los vectores a continuacin (datos de la US National Oceanic and Atmospheric
Administration)
BOS = 2.67 1.00 1.21 3.09 3.43 4.71 3.88 3.08 4.10 2.62 1.01 5.93
SEA = 6.83 3.63 7.20 2.68 2.05 2.96 1.04 0.00 0.03 6.71 8.28 6.85

Donde los elementos de los vectores estn en el orden de los meses (enero, febrero,
etctera.) Escribir un programa para responder a las siguientes:
(a) calcular la precipitacin total, la precipitacin promedio, en cada ciudad.
(b) cuantos meses fue la precipitacin por encima de la media en cada ciudad?
(c) cuantos meses y en qu meses, fue la precipitacin en Boston ms baja que la
Precipitacin en Seattle?
INFORME 01: PRESENTACION DE EJERCICIOS DE LA
RESOLUCION: PRIMERA UNIDAD EN MATLAB.
BOS=[2.67 1.00 1.21 3.09 3.43 4.71 3.88 3.08 4.10 2.62 1.01 5.93]
PRESENTADO POR:
SEA=[6.83 3.63 7.20 2.68 2.05 2.96 1.04 0.00 0.03 6.71 8.28 6.85]
disp('parte a');
PTB=sum(BOS);
LIPA SONCCO LUZ DELIA
PTS=sum(SEA);
PPB=mean(BOS);
PPS=mean(SEA);
fprintf('la precipitacion total de Boston %2f',PTB) DOCENTE:
fprintf('la precipitacion total de Seattle %2f', PTS)
Lic. Elizabeth
fprintf('la preipitacion promedio de Boston %2f', PPB) Milagros Gordillo
fprintf('la precipitacion promedio de Saettle %2f', PPS)
disp('parte b');
MEMB=sum(BOS>PPB);
MEMS=sum(SEA>PPS);
fprintf('Boston tiene %i meses por encima de su media', MEMB)
fprintf('Seattle tiene %i meses porJULIACA,
encima de su21 DE MEMS)
media', ABRIL DEL 2017
disp('parte c');
MMBQS=sum(BOS<SEA);
fprintf ('la precpitacion es %i menor en Boston que en Seattle', MMBQS)
m=1:12
fprintf('los meses son %i', m(BOS<SEA))

RESULTADOS:

PRECIPITACION

BOS =

2.6700 1.0000 1.2100 3.0900 3.4300 4.7100 3.8800 3.0800 4.1000 2.6200
1.0100 5.9300

SEA =

6.8300 3.6300 7.2000 2.6800 2.0500 2.9600 1.0400 0 0.0300 6.7100 8.2800
6.8500

Parte a
la precipitacin total de Boston 36.730000la precipitacin total de Seattle 48.260000la
precipitacin promedio de Boston 3.060833la precipitacin promedio de Seattle 4.021667parte b
Boston tiene 7 meses por encima de su media Seattle tiene 5 meses por encima de su media

Parte c
la precipitacin es 6 menor en Boston que en Seattle

m=

1 2 3 4 5 6 7 8 9 10 11 12

Los meses son 1 los meses son 2 los meses son 3 los meses son 10 los meses son 11 los meses son
12 >>

EJERCICIO 03:

3. Escriba un programa que calcule las races reales de un funcin cuadrtica ax2 +
bx + c = 0, cuando se ejecute, este debe pedir al usuario que introduzca valores
de las contantes a, b, c. Para calcula las races de la ecuacin el programa calcula el
discriminante D, el programa debe visualiza los tres casos de la discriminante D,
calcule las soluciones de las ecuaciones:
a) 2x2 + 8x - 3 = 0
b) 15x2 + 10x + 5 = 0
c) 18x2 + 12x + 2 = 0

RESOLUCION:

disp('ingrese la ecuacion ax^2+bx+c=0')


a=input('ingrese a= ');
b=input('ingrese b= ');
c=input('ingrese c= ');
D=b^2-4*a*c;
if D<0
fprintf('no existe una solucion real')
else if D==0
raiz=-b/2*a;
fprintf('los discriminantes son iguales %2',raiz);
else
raiz1=(-b+sqrt(D))/(2*a)
raiz2=(-b-sqrt(D))/(2*a)
end
end

RESULTADOS:

Para ecuacin 2x^2+8x-3=0

ejercicio3pg7

Ingrese la ecuacin ax^2+bx+c=0

Ingrese a= 2

Ingrese b= 8

Ingrese c= -3

raiz1 = 0.3452

raiz2 = -4.3452

Para la ecuacin 15x^2+10x+5=0:

Ingrese la ecuacin ax^2+bx+c=0

ingrese a= 15

ingrese b= 10

ingrese c= 5

no existe una solucion real>>


Para la ecuacin 18x^2+12x+2=0:

ingrese la ecuacin ax^2+bx+c=0

ingrese a= 18

ingrese b= 12

ingrese c= 2

los discriminantes son iguales >>

raiz1=-1/3; raiz2=-1/3

EJERCICIO 04:

La lista de resultados de un examen es: 31; 70; 92; 5; 47; 88; 81; 73; 51; 76; 80; 90; 55;
23; 43; 98; 36; 87; 22; 61; 19; 69; 26; 82; 89; 99; 71; 59; 49; 64 escriba un programa que
determine
Cuantos estn entre 0 y 19; entre 20 y 39, entre 40 y 59, entre 60 y 79 y entre
80 y 100. Los resultados se deben mostrar de la forma siguiente:
Calificaciones entre 0 y 19 2 estudiantes,
entre 20 y 39 4 estudiantes
entre 40 y 59 6 estudiantes y as sucesivamente.
(Sugerencia: Utilice el comando fprintf para mostrar los resultados.

FUNCIONES DEFINIDAS POR EL USUARIO Y LOS ARCHIVOS DE FUNCION

PROBLEMA 1:

Escribir una funcin definida por el usuario que calcula la media y la desviacin
estndar de una lista de nmeros. Utilice la funcin para calcular la media y la
desviacin estndar de la siguiente lista de grados:
80 75 91 60 79 89 65 80 95 50 81
function [me st]=problema(v)
v=[80 75 91 60 79 89 65 80 95 50 81]
n=length(v);
me=sum(v)/n;
dif=v-me;
dif2=dif.^2
st=sqrt(sum(dif2)/n)
end

RESULTADOS:

v=

80 75 91 60 79 89 65 80 95 50 81

dif2 =

10.1240 3.3058 201.1240 282.8512 4.7603 148.3967 139.6694 10.1240 330.5785


719.2149 17.4876

st =

13.0302

ans =

76.8182

EJERCICIO 02

Crear un archivo de funcin que calcula la trayectoria de un proyectil. Las entradas


para la funcin es la velocidad inicial y el _ngulo en que se dispara el proyectil. Las
salidas de la funcin son la altura mxima y distancia. Adems, la funcin genera
un trazado de la trayectoria. Utilice la funcin para calcular la trayectoria de un
proyectil que es disparado a una velocidad de 230m=s y un ngulo de of 39 grados.
function [hmax dmax]=problem2(v,ang)
g=9.81;
ang2=ang*pi/180;
hmax=v^2*(sin(ang2))^2/2*g;
dmax=2*v^2*sin(ang2)*cos(ang2)/g;
%para graficar
t=2*v*sin(ang2)/g;
tplot=linspace(0,t,2000);
x=v*cos(ang2)*tplot;
y=v*sin(ang2)*tplot-0.5*g*tplot.^2;
plot(x,y)
xlabel('distancia')
ylabel('altura')
title('trayectoria de un proyectil')
end

RESULTADOS:

>> [hmax dmax]=problem2(230,39)

hmax =

1.0276e+05

dmax =

5.2746e+03

EJERCICIO 03:

Escribir una funcin definida por el usuario en MATLAB para la siguiente funcin
matemtica:
() = (0.2 3 + 7 2 )0.3
La entrada a la funcin es x y la salida es y. Escribir la funcin tal que x sea un
vector.
a) Use la funcin pata calcular y(-1.5) y y(5)
b) Use la funcin y realice una grfica para -2=< x >= 6

RESOLUCION:
RESULTADOS:

EJERCICIOS CON METODO DE BISECCION:


EJERCICIO 01:
F=@(x)5*x^3-5*x^2+6*x-2;
a=0;b=1;imax=20;tol=0.1;
Fa=F(a);Fb=F(b);
if Fa*Fb>0
disp('ERror: la funcion tiene el mismo signo')
else
disp('iteracion a b (xN)solucion f(xN) error
')
for i=1:imax
xN=(a+b)/2;
error=abs(a-xN)/xN;
FxN=F(xN);
fprintf('%3i %11.6f %11.6f %11.6f %11.6f %11.6f\n',
i,a,b,xN,FxN,error)
if FxN==0
fprintf('tiene una solucion exacta x=%11.6f fue
encontrada',xN)
break
end
if error<tol
break
end
if i==imax
fprintf('la solucion no se obtuvo en la %i iteracion',imax)
break
end
if F(a)*FxN<0
b=xN;
else
a=xN;
end
end
end
%grafica de funciones
%f(x)=5x^3-5x^2+6x-2
f=@(x)5*x.^3-5*x.^2+6*x-2
fplot(f,[-1 0.80])
grid on

RESULTADOS:

iteracion a b (xN)solucion f(xN) error

1 0.000000 1.000000 0.500000 0.375000 1.000000

2 0.000000 0.500000 0.250000 -0.734375 1.000000

3 0.250000 0.500000 0.375000 -0.189453 0.333333

4 0.375000 0.500000 0.437500 0.086670 0.142857

5 0.375000 0.437500 0.406250 -0.052460 0.076923

f = @(x)5*x.^3-5*x.^2+6*x-2

EJERCICIO 02:

F=@(x)5*x-2*exp(x)^-x;
a=0;b=1;imax=3;tol=0.4;
Fa=F(a);Fb=F(b);
if Fa*Fb>0
disp('ERror: la funcion tiene el mismo signo')
else
disp('iteracion a b (xN)solucion f(xN) error
')
for i=1:imax
xN=(a+b)/2;
error=abs(a-xN)/xN;
FxN=F(xN);
fprintf('%3i %11.6f %11.6f %11.6f %11.6f %11.6f\n',
i,a,b,xN,FxN,error)
if FxN==0
fprintf('tiene una solucion exacta x=%11.6f fue
encontrada',xN)
break
end
if error<tol
break
end
if i==imax
fprintf('la solucion no se obtuvo en la %i iteracion',imax)
break
end
if F(a)*FxN<0
b=xN;
else
a=xN;
end
end
end

RESULTADOS:

Iteracin a b (xN)solucion f(xN) error

1 0.000000 1.000000 0.500000 0.942398 1.000000

2 0.000000 0.500000 0.250000 -0.628826 1.000000

3 0.250000 0.500000 0.375000 0.137370 0.333333

EJERCICIO 03:

PROBANDO CON GRAFICAS EN QUE PUNTO NO HAY MOMENT

1. grafica1 f = @(x)(100*x.^3)/18-265*x
Aqu vemos que esta funcin no cumple con lo que se pide.
2. grafica2 f = @(x)50*x.^2-415*x+150
aqu se observa que tampoco cumple con lo que pide

3. grafica3 f = @(x)185*x-570
Finalmente esta ecuacin cumple con lo que pide el problema por lo tanto se usara esta
ecuacin
%se tiene funciones como 100*x^3/18-265*x; 50*x.^2-415*x+150;185x-
570; luego se grafica pra interpretar en que funcion no hay momento en la
viga
F=@(x)185*x-570;
a=0;b=6;imax=20;tol=0.01;
Fa=F(a);Fb=F(b);
if Fa*Fb>0
disp('ERror: la funcion tiene el mismo signo')
else
disp('iteracion a b (xN)solucion f(xN) error
')
for i=1:imax
xN=(a+b)/2;
error=abs(a-xN)/xN;
FxN=F(xN);
fprintf('%3i %11.6f %11.6f %11.6f %11.6f %11.6f\n',
i,a,b,xN,FxN,error)
if FxN==0
fprintf('tiene una solucion exacta x=%11.6f fue
encontrada',xN)
break
end
if error<tol
break
end
if i==imax
fprintf('la solucion no se obtuvo en la %i iteracion',imax)
break
end
if F(a)*FxN<0
b=xN;
else
a=xN;
end
end
end

RESULTADOS:

Iteracin a b (xN)solucion f(xN) error

1 0.000000 6.000000 3.000000 -15.000000 1.000000

2 3.000000 6.000000 4.500000 262.500000 0.333333

3 3.000000 4.500000 3.750000 123.750000 0.200000

4 3.000000 3.750000 3.375000 54.375000 0.111111

5 3.000000 3.375000 3.187500 19.687500 0.058824

6 3.000000 3.187500 3.093750 2.343750 0.030303

7 3.000000 3.093750 3.046875 -6.328125 0.015385

8 3.046875 3.093750 3.070313 -1.992188 0.007634

EJERCICIO 04:
F=@(x)log(exp(x^2))-0.7;
a=0.5;b=2;imax=3;tol=0.4;
Fa=F(a);Fb=F(b);
if Fa*Fb>0
disp('ERror: la funcion tiene el mismo signo')
else
disp('iteracion a b (xN)solucion f(xN) error
')
for i=1:imax
xN=(a+b)/2;
error=abs(a-xN)/xN;
FxN=F(xN);
fprintf('%3i %11.6f %11.6f %11.6f %11.6f %11.6f\n',
i,a,b,xN,FxN,error)
if FxN==0
fprintf('tiene una solucion exacta x=%11.6f fue
encontrada',xN)
break
end
if error<tol
break
end
if i==imax
fprintf('la solucion no se obtuvo en la %i iteracion',imax)
break
end
if F(a)*FxN<0
b=xN;
else
a=xN;
end
end
end
%grafica de funciones
%f(x)=log(exp(x^2))-0.7
f=@(x)log(exp(x^2))-0.7
fplot(f,[-10 10])
grid on

RESULTADOS

iteracion a b (xN)solucion f(xN) error

1 0.500000 2.000000 1.250000 0.862500 0.600000

2 0.500000 1.250000 0.875000 0.065625 0.428571

3 0.500000 0.875000 0.687500 -0.227344 0.272727

EJERCICIO 05:
F=@(x)sqrt(x)-cos(x);
a=0;b=1;imax=3;tol=0.25;
Fa=F(a);Fb=F(b);
if Fa*Fb>0
disp('ERror: la funcion tiene el mismo signo')
else
disp('iteracion a b (xN)solucion f(xN) error
')
for i=1:imax
xN=(a+b)/2;
error=abs(a-xN)/xN;
FxN=F(xN);
fprintf('%3i %11.6f %11.6f %11.6f %11.6f %11.6f\n',
i,a,b,xN,FxN,error)
if FxN==0
fprintf('tiene una solucion exacta x=%11.6f fue
encontrada',xN)
break
end
if error<tol
break
end
if i==imax
fprintf('la solucion no se obtuvo en la %i iteracion',imax)
break
end
if F(a)*FxN<0
b=xN;
else
a=xN;
end
end
end

RESULTADOS:

iteracion a b (xN)solucion f(xN) error

1 0.000000 1.000000 0.500000 -0.170476 1.000000

2 0.500000 1.000000 0.750000 0.134337 0.333333

3 0.500000 0.750000 0.625000 -0.020394 0.200000


EJERCICIOS POR EL MTODO DE FALSA POSICIN:

EJERCICIO 01:
F=@(x)-12-21*x+18*x^2-2.75*x^3;
a=2;b=3;imax=20;tol=0.005;
Fa=F(a); Fb=F(b);
if Fa*Fb>0
disp('Error: La funcion tiene el mismo signo')
else
disp('iteracion a b (xN)solucion f(xN) Error')
for i=1:imax
xN = b-((F(b)*(b-a))/(F(b)-F(a)));
error = abs(a-xN)/xN;
FxN = F(xN);
fprintf('%3i %11.6f %11.6f %11.6f %11.6f %11.6f \n', i, a, b, xN, FxN,
error)
if FxN == 0
fprintf ('una solucion exacta x=%11.6f fue encontrada' ,xN)
break
end
if error < tol
break
end
if i==imax
fprintf ('la solucion no se obtuvo en la %i iteracion' ,imax)
break
end
if F(a)*F(xN)<0
b = xN;
else
a = xN;
end
end
end

RESULTADOS:
iteracion a b (xN)solucion f(xN) Error

1 2.000000 3.000000 2.238806 0.346598 0.106667

2 2.000000 2.238806 2.219764 -0.001000 0.099003

3 2.219764 2.238806 2.219818 0.000000 0.000025

EJERCICIO 02:
F=@(x)(0.8-0.3*x)/x;
a=1;b=3;imax=3;tol=0.64;
Fa=F(a); Fb=F(b);
if Fa*Fb>0
disp('Error: La funcion tiene el mismo signo')
else
disp('iteracion a b (xN)solucion f(xN) Error')
for i=1:imax
xN = b-((F(b)*(b-a))/(F(b)-F(a)));
error = abs(a-xN)/xN;
FxN = F(xN);
fprintf('%3i %11.6f %11.6f %11.6f %11.6f %11.6f \n', i, a, b, xN, FxN,
error)
if FxN == 0
fprintf ('una solucion exacta x=%11.6f fue encontrada' ,xN)
break
end
if error < tol
break
end
if i==imax
fprintf ('la solucion no se obtuvo en la %i iteracion' ,imax)
break
end
if F(a)*F(xN)<0
b = xN;
else
a = xN;
end
end
end
RESULTADOS:
iteracion a b (xN)solucion f(xN) Error
1 1.000000 3.000000 2.875000 -0.021739 0.652174

2 1.000000 2.875000 2.796875 -0.013966 0.642458

3 1.000000 2.796875 2.748047 -0.008884 0.636105

EJERCICIO 03:
F=@(x)x^4-8*x.^3-35*x.^2+450*x-1001;
a=5;b=6;imax=20;tol=0.005;
Fa=F(a); Fb=F(b);
if Fa*Fb>0
disp('Error: La funcion tiene el mismo signo')
else
disp('iteracion a b (xN)solucion f(xN) Error')
for i=1:imax
xN = b-((F(b)*(b-a))/(F(b)-F(a)));
error = abs(a-xN)/xN;
FxN = F(xN);
fprintf('%3i %11.6f %11.6f %11.6f %11.6f %11.6f \n', i, a, b, xN, FxN,
error)
if FxN == 0
fprintf ('una solucion exacta x=%11.6f fue encontrada' ,xN)
break
end
if error < tol
break
end
if i==imax
fprintf ('la solucion no se obtuvo en la %i iteracion' ,imax)
break
end
if F(a)*F(xN)<0
b = xN;
else
a = xN;
end
end
end

RESULTADOS:

iteracion a b (xN)solucion f(xN) Error

1 5.000000 6.000000 5.125000 -1.054443 0.024390

2 5.125000 6.000000 5.239550 -1.118671 0.021863

3 5.239550 6.000000 5.344333 -1.088858 0.019606


4 5.344333 6.000000 5.432593 -0.929214 0.016247

5 5.432593 6.000000 5.499087 -0.691597 0.012092

6 5.499087 6.000000 5.544127 -0.459488 0.008124

7 5.544127 6.000000 5.572208 -0.281665 0.005039

8 5.572208 6.000000 5.588755 -0.164027 0.002961

>>

EJERCICIO 04:

F=@(x)x^0.653*x-(exp(x)^(-135/x))/(15)-35;
a=53;b=54;imax=20;tol=0.005;
Fa=F(a); Fb=F(b);
if Fa*Fb<0
disp('Error: La funcion tiene el mismo signo')
else
disp('iteracion a b (xN)solucion f(xN) Error')
for i=1:imax
xN = b-((F(b)*(b-a))/(F(b)-F(a)));
error = abs(a-xN)/xN;
FxN = F(xN);
fprintf('%3i %11.6f %11.6f %11.6f %11.6f %11.6f \n', i, a, b, xN, FxN,
error)
if FxN == 0
fprintf ('una solucion exacta x=%11.6f fue encontrada' ,xN)
break
end
if error < tol
break
end
if i==imax
fprintf ('la solucion no se obtuvo en la %i iteracion' ,imax)
break
end
if F(a)*F(xN)<0
b = xN;
else
a = xN;
end
end
end

RESULTADOS:

iteracion a b (xN)solucion f(xN) Error


1 53.000000 54.000000 22.707612 139.482328 1.334019

2 22.707612 54.000000 14.858252 51.549119 0.528283

3 14.858252 54.000000 11.725122 23.512816 0.267215

4 11.725122 54.000000 10.246024 11.821788 0.144358

5 10.246024 54.000000 9.489503 6.246157 0.079722

6 9.489503 54.000000 9.086167 3.388690 0.044390

7 9.086167 54.000000 8.866275 1.865169 0.024801

8 8.866275 54.000000 8.744920 1.034822 0.013877

9 8.744920 54.000000 8.677489 0.576682 0.007771

10 8.677489 54.000000 8.639881 0.322166 0.004353

EJERCICIOS CON METODO DE NEWTON RAPSON


EJERCICIO 01:
function Xs = NewtonRoot1(Fun1,FunDer1,Xest,Err,imax)
disp('iteracion xi ')
for i=1:imax
Xi = Xest - Fun1(Xest)/FunDer1(Xest);
if abs((Xi -Xest)/Xest) <Err
Xs = Xi;
break
end
Xest = Xi;
fprintf('%3i %11.6f \n', i, Xi)
end
if i== imax
fprintf('la solucion no fue obtenida en %i iteracion. \n' ,imax)
Xs =( 'no hay respuesta' );
End

function y = Fun1(x)
y = x^3+2*x.^2+10*x-20;
end

function y = FunDer1(x)
y = 3*x.^2+4*x+10;
end

RESULTADOS:

Xs = NewtonRoot1(@Fun1,@FunDer1,1,0.001,20)

iteracion xi

1 1.411765

2 1.369336

Xs =

1.3688

EJERCICIO 02:

function Xs = NewtonRoot2(Fun2,FunDer2,Xest,Err,imax)
disp('iteracion xi ')
for i=1:imax
Xi = Xest - Fun2(Xest)/FunDer2(Xest);
if abs((Xi -Xest)/Xest) <Err
Xs = Xi;
break
end
Xest = Xi;
fprintf('%3i %11.6f \n', i, Xi)
end
if i== imax
fprintf('la solucion no fue obtenida en %i iteracion. \n' ,imax)
Xs =( 'no hay respuesta' );
end

function y = Fun2(x)
y = exp(x)^-x - x;
end

function y = FunDer2(x)
y = -exp(x)^-x -x;
end

RESULTADOS:

Xs = NewtonRoot2(@Fun2,@FunDer2,0,0.005,20)

iteracion xi

1 1.000000

2 0.537883

3 0.701789

4 0.632706

5 0.661414

6 0.649368

7 0.654406

Xs =

0.6523

EJERCICIO 03:
function Xs = NewtonRoot3(Fun3,FunDer3,Xest,Err,imax)
disp('iteracion xi ')
for i=1:imax
Xi = Xest - Fun3(Xest)/FunDer3(Xest);
if abs((Xi -Xest)/Xest) <Err
Xs = Xi;
break
end
Xest = Xi;
fprintf('%3i %11.6f \n', i, Xi)
end
if i== imax
fprintf('la solucion no fue obtenida en %i iteracion. \n' ,imax)
Xs =( 'no hay respuesta' );
end

function y = Fun3(x)
y = x*exp(x)^x - 2;
end

function y = FunDer3(x)
y = exp(x)^x + x*exp(x)^x;
end

RESULTADOS:

Xs = NewtonRoot3(@Fun3,@FunDer3,0,0.005,20)

iteracion xi
1 2.000000
2 1.345544
3 0.911361
4 0.890555
5 0.898138

Xs =

0.8953

EJERCICIO 04

function Xs = NewtonRoot4(Fun4,FunDer4,Xest,Err,imax)
disp('iteracion xi ')
for i=1:imax
Xi = Xest - Fun4(Xest)/FunDer4(Xest);
if abs((Xi -Xest)/Xest) <Err
Xs = Xi;
break
end
Xest = Xi;
fprintf('%3i %11.6f \n', i, Xi)
end
if i== imax
fprintf('la solucion no fue obtenida en %i iteracion. \n' ,imax)
Xs =( 'no hay respuesta' );
end

function y = Fun4(x)
y = 9.84*pi*x.^3-(pi*x.^3)/(3)-98.43;
end

function y = FunDer4(x)
y = 19.68*pi*x-pi*x.^2-98.43;
end

RESULTADO:

Xs = NewtonRoot4(@Fun4,@FunDer4,1,0.25,3)

iteracion xi
1 -0.725093
2 -1.482904
3 -2.476811
la solucion no fue obtenida en 3 iteracion.

Xs =

no hay respuesta

EJERCICIO 05:

function Xs = NewtonRoot5(Fun5,FunDer5,Xest,Err,imax)
disp('iteracion xi ')
for i=1:imax
Xi = Xest - Fun5(Xest)/FunDer5(Xest);
if abs((Xi -Xest)/Xest) <Err
Xs = Xi;
break
end
Xest = Xi;
fprintf('%3i %11.6f \n', i, Xi)
end
if i== imax
fprintf('la solucion no fue obtenida en %i iteracion. \n' ,imax)
Xs =( 'no hay respuesta' );
end

function y = Fun5(x)
y = x^3-2*x.^2-5;
end

function y = FunDer5(x)
y = 3*x.^2-4*x;
end

RESULTADOS:

Xs = NewtonRoot5(@Fun5,@FunDer5,2,0.001,20)
iteracion xi
1 3.250000
2 2.811037
3 2.697990
4 2.690677

Xs =

2.6906
EJERCICIO 06:

function Xs = NewtonRoot6(Fun6,FunDer6,Xest,Err,imax)
disp('iteracion xi ')
for i=1:imax
Xi = Xest - Fun6(Xest)/FunDer6(Xest);
if abs((Xi -Xest)/Xest) <Err
Xs = Xi;
break
end
Xest = Xi;
fprintf('%3i %11.6f \n', i, Xi)
end
if i== imax
fprintf('la solucion no fue obtenida en %i iteracion. \n' ,imax)
Xs =( 'no hay respuesta' );
end

function y = Fun6(x)
y = exp(x)^x-3*x.^2;
end

function y = FunDer6(x)
y = exp(x)^x-6*x;
end

RESULTADOS:

Xs = NewtonRoot6(@Fun6,@FunDer6,-1,0.001,20)
iteracion xi
1 -0.967687
2 -0.936763
3 -0.908399
4 -0.883407
5 -0.862177
6 -0.844711
7 -0.830728
8 -0.819781
9 -0.811362
10 -0.804979
11 -0.800191
12 -0.796630
13 -0.793996
14 -0.792059
15 -0.790637
16 -0.789597

Xs =

-0.7888

EJERCICIO 07

function Xs = NewtonRoot7(Fun7,FunDer7,Xest,Err,imax)
disp('iteracion xi ')
for i=1:imax
Xi = Xest - Fun7(Xest)/FunDer7(Xest);
if abs((Xi -Xest)/Xest) <Err
Xs = Xi;
break
end
Xest = Xi;
fprintf('%3i %11.6f \n', i, Xi)
end
if i== imax
fprintf('la solucion no fue obtenida en %i iteracion. \n' ,imax)
Xs =( 'no hay respuesta' );
end
function y = Fun6(x)
y = exp(x)^x-3*x.^2;
end
function y = FunDer6(x)
y = exp(x)^x-6*x;
end

function y = FunDer7(x)
y = 1/(x-1)+exp(x)^(x^2)*2*x*exp(x)^3;
end

function y = Fun7(x)
y = log(exp(x-1))+exp(x)^(x^2)*exp(x)^3;
end

RESULTADO:

Did you mean:


>> Xs = NewtonRoot6(@Fun7,@FunDer7,2,0.001,20)

iteracion xi

1 1.750000

2 1.464283

3 1.122868

4 0.690230

5 -0.203485

6 -0.836705

7 -3.725469

8 -26.055525

9 -758.056979

10 -Inf

11 NaN

12 NaN

13 NaN

14 NaN

15 NaN

16 NaN

17 NaN

18 NaN

19 NaN

20 NaN

la solucion no fue obtenida en 20 iteracion.

Xs =

no hay respuesta

EJERCICIO 08:
function Xs = NewtonRoot8(Fun8,FunDer8,Xest,Err,imax)
disp('iteracion xi ')
for i=1:imax
Xi = Xest - Fun8(Xest)/FunDer8(Xest);
if abs((Xi -Xest)/Xest) <Err
Xs = Xi;
break
end
Xest = Xi;
fprintf('%3i %11.6f \n', i, Xi)
end
if i== imax
fprintf('la solucion no fue obtenida en %i iteracion. \n' ,imax)
Xs =( 'no hay respuesta' );
end

function y =Fun8(x)
y = 4*(x-2).^(2/3);
end

function y =FunDer8(x)
y = (4*(x-2)^(-1/3))/3;
end

RESULTADOS

>> Xs = NewtonRoot8(@Fun8,@FunDer8,2,0.001,20)
iteracion xi

Xs =

EJERCICIO 09:

function Xs = NewtonRoot9(Fun9,FunDer9,Xest,Err,imax)
disp('iteracion xi ')
for i=1:imax
Xi = Xest - Fun9(Xest)/FunDer9(Xest);
if abs((Xi -Xest)/Xest) <Err
Xs = Xi;
break
end
Xest = Xi;
fprintf('%3i %11.6f \n', i, Xi)
end
if i== imax
fprintf('la solucion no fue obtenida en %i iteracion. \n' ,imax)
Xs =( 'no hay respuesta' );
End
function y = Fun9(x)
y = (32*x)/(4761)-(20*x.^3)/(33327)+x^5/88872;
end

function y = Fun9(x)
y = (32*x)/(4761)-(20*x.^3)/(33327)+x^5/88872;
end

RESULTADOS

Xs = NewtonRoot9(@Fun9,@FunDer9,3,0.001,20)
iteracion xi
1 4.359482
2 3.982845
3 4.000002

Xs =

4.0000

Vous aimerez peut-être aussi