Está en la página 1de 7

LATEX

Ingenieria Mecatronica

UNIVERSIDAD DE LAS FUERZAS ARMADAS - ESPE


DEPARTAMENTO DE CIENCIAS EXACTAS

METODOS
NUMERICOS
DEBER 1

Nombre: Andr
es Enrquez
CURSO : H - 203
Profesor: Ing. Patricio Pugarn
Fecha: Martes 12 de Mayo de 2015
SANGOLQUI - ECUADOR

1.
1.1.

Ejercicios de Deber
Ejercicio 1

Escribir una funci


on en Matlab para la resoluci
on de ecuaciones de segundo grado ax2 + bx + c = 0. El usuario deber
a ingresar los coeficientes a traves del teclado y el programa imprimir
a la respuesta.

disp(ECUACION DE SEGUNDO GRADO)


disp(Estructura: ax^2+bx+c)
a=input(Ingrese el coeficiente de a:
b=input(Ingrese el coeficiente de b:
c=input(Ingrese el coeficiente de c:
if a==0 && b==0
disp(Ecuacion sin Solucion)
elseif a==0
z=(-c/b);

);
);
);

LATEX

Ingenieria Mecatronica

disp(El valor de x es:)


disp(z)
else
x=(-b+(sqrt(b^2-4*a*c)))/(2*a);
y=(-b-(sqrt(b^2-4*a*c)))/(2*a);
disp(El valor de x1 es: )
disp(x);
disp(El valor de x2 es: )
disp(y)

1.2.

Ejercicio 2

Una secuencia es palindr


omica si al leerla de principio a final es equivalente a leerla de final a principio. Realizar un
programa que permita decidir si una cadena c es una secuencia palindromica.

disp(SECUENCIA PALINDROMICA)
a=input(Ingrese una palabra: ,s);
x=length(a);
c=0;
for i=1:x
if(a(i) == a(x+1-i))
c=c+1;
end
end
if c==x
disp(La palabra ingresada Si es palindromica)
else
disp(La palabra ingresada No es palindromica)
end

1.3.

Ejercicio 3

Graficar la siguiente funci


on y sus derivadas, en un solo grafico, de manera superpuesta.

e
f (x) = | x |

2
x +1

si...x < 1
si... 1 < x < 1
si...x < 1

disp(GRAFICA DE UNA FUNCION Y SU DERIVADA)


x=-7:0.02:7;
%Grafica de la funcion
y=(x<-1).*(exp(-x))+((x>-1)&(x<1)).*(abs(x))+(x>1).*((x.^2+1));

LATEX

Ingenieria Mecatronica

plot(x,y,r)
xlabel(Eje X)
ylabel(Eje Y)
title(Grafica de la Funcion y su Derivada)
text(-2,100,Funcion)
text(-2,-100,Funcion - Derivada)
hold on
%Grafica de la derivada de la funcion
y1=(x<-1).*(-exp(-x))+((x>-1)&(x<1)).*(-1)+((x>-1)&(x<1)).*(1)+(x>1).*((2*x));
plot(x,y1,b)
hold off

1.4.

Ejercicio 4

Tabla de conversiones de temperatura. La relacion de diversas escalas de temperatura con la escala Celsius (C), es la
siguiente:
F = 95 C + 32
K = C + 273, 15
8
C
R = 10
Construir un programa en Matlab que permita pasar de una escala a otra. El programa debe solicitar al usuario el
ingreso de la informacion necesaria para su funcionamiento. Ademas, el programa siempre esperara informacion hasta que
se pulse la tecla s.

disp(Tabla de Conversion de Temperatura)


a=input(Ingrese la letra clave para continuar:
if a==s
disp(Escoja una opcion)
disp(1.- Celcius a Fahrenheit)
disp(2.- Celcius a Kelvin)
disp(3.- Celcius a Rankine)
n=input(Ingrese la opcion: );

,s);

LATEX

Ingenieria Mecatronica

switch n
case 1
x=input(Ingrese la temperatura Celsius: );
f=((9/5)*x)+32;
disp(La temperatura en escala Fahrenheit es:)
disp(f)
case 2
x=input(Ingrese la temperatura Celsius: );
k=x+273.15;
disp(La temperatura en escala Kelvin es:)
disp(k)
case 3
x=input(Ingrese la temperatura Celsius: );
r=(8/10)*x;
disp(La temperatura en escala Rankin es:)
disp(r)
otherwise
disp(NO EXISTE ESTE CASO)
end
else
disp(Clave incorrecta)
break
end

1.5.

Ejercicio 5

Crear una funcion M.file con la que se pueda graficar la funcion parametrica siguiente:

(
z(t)

x(t)
y(t)

= (R + r)cos(t) rcos( R+r


t)
r
= (R + r)sen(t) rsen( R+r
t)
r

function [z]=ejercicio15(R,r,a,b,n)
%UNTITLED6 Summary of this function goes here
%

Detailed explanation goes here

t=linspace(a,b,n);
x=(R+r)*cos(t)-r*cos(((R+r)./r)*t);
y=(R+r)*sin(t)-r*sin(((R+r)./r)*t);
hold on;
grid on;
z=plot(x,y);
end

LATEX

1.6.

Ingenieria Mecatronica

Ejercicio 6

Escribir un programa en Matlab que le pida al usuario un numero entero positivo menor que un millon (1000000) y
devuelva a pantalla el numero e indique si es par o impar y su descomposicion en factores primos.

Ejemplo:
Ingresar:550
Numero Par
2 5 5 11

disp(NUMERO POSITIVO - PAR - IMPAR - FACTORES PRIMOS)


n=input(Ingrese un numero entero: );
cociente=n;
result=[];
if n>0 && n<1000000
if mod(n,2)==0
disp(Numero par)
else
disp(Numero impar)
end
while (cociente ~=1)
i=1;
while (mod(cociente,enesimoprimo(i))~=0)
i=i+1;
end
result=[result enesimoprimo(i)];
cociente=floor(cociente/enesimoprimo(i));
end
disp(result)
end
A continuacion se presenta la programacion de la funcion enesimoprimo:

LATEX

Ingenieria Mecatronica

function [ result ] = enesimoprimo( n )


%UNTITLED4 Summary of this function goes here
%
Detailed explanation goes here
contador=0;
i=2;
while contador<n
if isprime(i)==1
contador=contador+1;
end
if contador==n
result=i;
end
i=i+1;
end
end

1.7.

Ejercicio 7

Represente en Matlab la superficie 3D dada por la funcion:

f (z) = (x1 , ..., xn ) =

1
n
(2) 2

P 1
| |2

T
1
e( 2 (xu)

P1

(xu))

Para el caso n=2. Usar los siguientes valores de las contantes u = (10, 10) ,
P
significa el determinante de la matriz .

disp(SUPERFICIE 3D)
a=4;
b=10;
n=50;
syms x y;
u=[x-10 y-10];
u=u;
c=[3 -1; -1 4];
f=exp(-(1/2)*((u))*(c^(-1))*(u));
d=det(c);
e=sqrt(d);
e=e*(2*pi);
f=f/e;
f=inline(f);
va=linspace(a,b,n);
b=linspace(a,b,n);
for i=1:length(va)
for j=1:length(va)


P

3
1

1
4


. El simbolo |

LATEX

Ingenieria Mecatronica

z(i,j)=f(va(i),b(j));
end
end
plot3 (va,b,f(va,b))
surfc(va,b,z)