Académique Documents
Professionnel Documents
Culture Documents
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:
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:
RESULTADOS:
ejercicio3pg7
Ingrese a= 2
Ingrese b= 8
Ingrese c= -3
raiz1 = 0.3452
raiz2 = -4.3452
ingrese a= 15
ingrese b= 10
ingrese c= 5
ingrese a= 18
ingrese b= 12
ingrese c= 2
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.
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 =
st =
13.0302
ans =
76.8182
EJERCICIO 02
RESULTADOS:
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:
RESULTADOS:
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:
EJERCICIO 03:
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:
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
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:
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
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
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:
>>
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:
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:
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
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