Mtodos Numricos
Jhosset Alvarado
15 de mayo de 2015
Mtodos Numricos
Deber No 1
EJERCICIO 1: Escribir una funcin en MATLAB para la resolucin de ecuaciones de segundo
grado ax2 +bx+c = 0. El usuario deber ingresar los coeficientes a travs del teclado y el programa
imprimir la respuesta.
a= input(Ingrese el valor de a: );
b= input(Ingrese el valor de b: );
c= input(Ingrese el valor de c: );
dis=b^2-4*a*c;
if(dis==0)
x1=-b/(2*a);
fprintf(El valor de las races es: %f \n, x1);
end
if(dis>0)
x1=(-b+sqrt(b^2-4*a*c))/2*a;
x2=(-b-sqrt(b^2-4*a*c))/2*a;
fprintf(El valor de la primera raz es: %f \n, x1);
fprintf(El valor de la segunda raz es: %f \n, x2);
end
if(dis<0)
r1=-b/(2*a);
i1=dis/(2*a);
i2=-dis/(2*a);
fprintf(El valor de la primera raz es: %f %fj\n, r1,i1);
fprintf(El valor de la segunda raz es: %f %fj\n, r1,i2);
end
Jhosset Alvarado
Mtodos Numricos
Jhosset Alvarado
Mtodos Numricos
EJERCICIO 3: Graficar la siguiente funcin y sus derivadas en un solo grfico, de manera superpuesta.
x
e
|x|
f (x) =
2
x +1
0
Las derivadas de la funcin f (x) son: f (x) =
si
x < 1
si 1 < x < 1
si
x>1
ex si
x < 1
x
|x|
si 1 < x < 1
2x
si
x>1
x1=-10:0.1:-1;
f1=exp(-x1);
x2=-1:0.1:1;
f2=abs(x2);
x3=1:0.1:10;
f3=x3.^2+1
f4=-exp(-x1);
f5=x2./abs(x2)
f6=2.*x3;
hold on
plot(x1,f1,r)
plot(x2,f2,c)
plot(x3,f3,g)
plot(x1,f4,m)
plot(x2,f5,b)
4
Jhosset Alvarado
Mtodos Numricos
plot(x3,f6,black)
grid on
axis([-5 5 -10 10])
title(Grafica de f(x) y su derivada)
line([-5 5],[0 0])
line([0 0],[-10 10])
text(-2.5,7.5,e^-x)
text(-1.5,1,|x|)
text(-0.5,1.5,x/|x|)
text(-2.4,-4,-e^-x)
text(1.5,6,x^2+1)
text(2.7,5,2x)
hold off
EJERCICIO 4: Tabla de conversin de temperatura. La relacin de diversas escalas de temperatura con la escala Celsius (C), es la siguiente.
9
F = C + 32
5
K = C + 273,15
8
R= C
10
5
Jhosset Alvarado
Mtodos Numricos
Construir un programa en Matlab que permita pasar de una escala a otra. El programa debe
solicitar al usuario el ingreso de la informacin necesaria para su funcionamiento. Adems, el programa siempre esperar informacin hasta que se pulse la tecla s.
%Programa de temperatura
disp(1.- Transformar de Celsius a Farenheit);
disp(2.- Transformar de Celsius a Kelvin);
disp(3.- Transformar de Celsius a Reaumur);
op=input(Ingrese la opcion: );
b=input(Para continuar presione la letra s: ,s);
while b==s
switch op
case 1
c=input(Ingrese el valor de la temperatura en Celsius: );
b=input(Para continuar presione la letra s: ,s);
if b==s
f=(9/5)*c+32;
fprintf(El valor de la tenperatura es %fo F\n, f);
end
break;
case 2
c=input(Ingrese el valor de la temperatura en Celsius: );
b=input(Para continuar presione la letra s: ,s);
if b==s
k=c+273.15;
fprintf(El valor de la tenperatura es %fo K\n, k);
end
break;
case 3
c=input(Ingrese el valor de la temperatura en Celsius: );
b=input(Para continuar presione la letra s: ,s);
if b==s
r=(8/10)*c;
fprintf(El valor de la tenperatura es %fo R\n, r);
end
break;
otherwise
disp(OPCION NO VALIDA)
end
end
Jhosset Alvarado
Mtodos Numricos
EJERCICIO 5: Crear una funcin M.file con la que se puede graficar la funcin paramtrica
siguiente:
t)
x(t) = (R + r)cos(t) rcos( R+r
r
z(t) =
t)
y(t) = (R + r)sen(t) rsen( R+r
r
Los parmetros de entrada deben ser R, r, a, b y el nmero n de puntos t [a, b] y a, b R
%Programa para graficar funcion parametrica
function debergraf(R,r,a,b,n)
t=linspace(a,b,n);
for i=1:n
x(i)=(R+r)*cos(t(i))-(r*cos(((R+r)/r)*t(i)));
y(i)=(R+r)*sin(t(i))-(r*sin(((R+r)/r)*t(i)));
end
plot(x,y)
end
Jhosset Alvarado
Mtodos Numricos
EJERCICIO 6: Escribir un programa en Matlab que le pida al usuario un nmero entero positivo
menor que un milln (1000000) y devuelva a la pantalla el nmero e indique si es par o impar y
su descomposicin en factores primos.
Ejemplo:
Ingresar:550
Nmero par
2 5 5 11
%Programa para par o impar, factores primos
function entero
i=0;
while i<5
a=input(\nIngrese un numero entero: );
if a>0&&a<1000000
fprintf(\n%i\n,a);
if rem(a,2)==0
disp(Es un numero par)
else
disp(Es un numero impar)
end
b=2;
8
Jhosset Alvarado
Mtodos Numricos
while b<=a
while mod(a,b)==0
fprintf(%i\t,b);
a=fix(a/b);
end
b=b+1;
end
else
disp(El numero ingresado no es entero);
end
i=i+1;
end
end
1/2
(2)n/2 ||
T 1 (x))
e( 2 (x)
Para el caso n=2, usar los siguientes valores de las constantes = (10, 10) , =
3 1
1 4
.
Jhosset Alvarado
Mtodos Numricos
10
Jhosset Alvarado