Deber 1 Enriquez Cristian 1156

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 10

1

DEPARTAMENTO DE CIENCIAS EXACTAS

METODOS NUMÉRICOS

DEBER No 1

Enrı́quez Christian

Ing. Patricio Pugarı́n

Lunes, 22 de mayo del 2017


2

EJERCICIO 1:Escribir un programa en Matlab que le pida al usuario un número entero


positivo menor que un millón (1000000) y devuelva a pantalla el número e indique si es par o
impar. Ejemplo:
Ingresar: 550
Número par

a=input(’Escriba un numero entreo positivo:’);


if a<0
disp(’El numero ingresado no es entero positivo’)
else
if a<=1000000
if rem(a,2)==0
disp(’El numero ingresado es par’);
else
disp(’El numero ingresado es inpar’);
end
else
disp(’El numero es mayor a un millon’);
end
(’El numero ingresado es:’), disp(a)
end

El resultado que nos da en Matlab:

>> Ejer1
Escriba un numero entreo positivo:100
El numero ingresado es par

ans =

El numero ingresado es:

100

EJERCICIO 2:Realizar un programa en Matlab que permita visualizar un cı́rculo de radio


6.5 y centro 3.

t=-pi:0.001:pi;
x=6.5*cos(t)+3;
y=6.5*sin(t);
plot(x,y),grid

El resultado que nos da en Matlab:


3

EJERCICIO 3:Graficar la siguiente función y sus derivadas, en un solo gráfico, de manera


superpuesta.  −x
 e x < −1
f (x) = |x| x ∈ (−1, 1)
 2
x +1 x>1

En este ejercicio se utilizo un Script para poder realizar su gráfica con el uso de los siguientes
comandos:

x=-5:0.1:-1;
y=exp(-x);
plot(x,y)
hold on
dy=-exp(-x);
plot(x,dy)

x1=-1:0.1:1;
y1=abs(x1);
plot(x1,dy1)
dy1=(abs(x1)/x1);
plot(x1,dy1)

x2=1:0.1:5;
y2=x2.^2+1;
plot(x2,y2)
dy2=2*x2;
plot(x2,dy2)

El resultado que nos da en Matlab:


4

EJERCICIO 4:Elabore un programa que permita calcular las raı́ces reales de un polinomio
de segundo grado de la forma ax2 + bx + c = 0. Tenga en cuenta que dependiendo del valor
del discriminante (D = b2-4ac) el sistema puede dar raı́ces reales (D ≥ 0) o raı́ces complejas
(D<0). El programa debe informar al usuario si el sistema no tiene raı́ces reales. Además se
debe indicar si las raı́ces reales son iguales (D = 0) o diferentes (D>0).

Para desarrollar este ejercicio empleamos una function M-file con los comandos que se mostraran
a continuación:

a=input(’Ingrese el valor a:’);


b=input(’Ingrese el valor b:’);
c=input(’Ingrese el valor c:’);
d=b^2-4*a*c;
x=(-b+sqrt(d))/(2*a)
y=(-b-sqrt(d))/(2*a)
if d>0
disp(’Las raices son reales y diferentes’)
end
if d==0
disp(’Las raices son reales e iguales’)
end
if d<0
disp(’Las raices son complejas’)
end

El resultado que nos da en Matlab:

>> Ejer4
Ingrese el valor a:1
Ingrese el valor b:4
5

Ingrese el valor c:8

x =

-2.0000 + 2.0000i

y =

-2.0000 - 2.0000i

Las raices son complejas

EJERCICIO 5: Tabla de conversión de temperatura. La relación 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
Construir un programa en Matlab que permita pasar de una escala a otra. El programa debe
solicitar al usuario el ingreso de la información necesaria para su funcionamiento. Además, el
programa siempre esperará información hasta que se pulse la tecla s.

Para realizar el siguiente menú de conversiones empleamos los siguientes comandos

i=0;
while i~=5
disp(’Conversion de Temperaturas’)
disp(’1 Fahrenheit’)
disp(’2 Kelvin’)
disp(’3 Celsius’)
disp(’4 Rankine’)
disp(’5 Salir’)
i=input(’Escoja una opcion:’);
switch i
case 1
disp(’Fahrenheit’)
F=input(’Ingrese su temperatura:’)
disp(’Celsius’)
C=(5/9)*(F-32); disp(C)
disp(’Kelvin’)
K=C+273; disp(K)
disp(’Rankine’)
R=(9/5)*C+491; disp(R)
case 2
disp(’Kelvin’)
K=input(’Ingrese su temperatura:’)
disp(’Celsius’)
6

C=K+273; disp(C)
disp(’Fahrenheit’)
F=C*1.8+32; disp(F)
disp(’Rankine’)
R=(9/5)*C+491; disp(R)
case 3
disp(’Celsius’)
C=input(’Ingrese su temperatura:’)
disp(’Fahrenheit’)
F=(C*1.8)+32; disp(F)
disp(’Kelvin’)
K=C+273; disp(K)
disp(’Rankine’)
R=(9/5)*C+491; disp(R)
case 4
disp(’Rankine’)
R=input(’Ingrese su temperatura:’)
disp(’Celsius’)
C=(5/9)*(R-4912); disp(C)
disp(’Fahrenheit’)
F=(C*1.8)+32; disp(F)
disp(’Kelvin’)
K=C+273; disp(K)
case 5
otherwise
disp(’Salir’)
end
end

El resultado que nos da en Matlab:

>> Ejer5
Conversion de Temperaturas
1 Fahrenheit
2 Kelvin
3 Celsius
4 Rankine
5 Salir
Escoja una opcion:3
Celsius
Ingrese su temperatura:6

C =

Fahrenheit
42.8000

Kelvin
279
7

Rankine
501.8000

EJERCICIO 6: Crear una función M.file con la que se pueda graficar la función paramétri-
ca siguiente:
x(t) = (R + r)cos(t) − rcos( R+r

r
t)
z(t) = R+r
y(t) = (R + r)sen(t) − rsen( r t)
Los parámetros de entrada deben ser R; r; a; b y el número n de puntos. t ∈ (a, b); a, b ∈ R Para
ejecutar el programa llamamos a la función de la siguiente forma dando unos valores aleatorios.
Creamos una Función M-file llamada parametrica1 que se ve a continuación.

R=300;
r=50;
a=100;
b=200;
n=500;
t=linspace(a,b,n);
for i=1:n
x=(R+r)*cos(t)-r*cos(((R+r)./r)*t);
y=(R+r)*sin(t)-r*sin(((R+r)./r)*t);
end
axis equal
plot(x,y)

El resultado que nos da en Matlab:

EJERCICIO 7:Realizar un programa en donde el peso de una muestra se determina


realizando 4 pesadas, se descarta el menor peso y se promedian los otros tres. Considere que el
8

usuario ingresa una tabla con el número de sustancia en la primera columna y las mediciones
realizadas en las otras 4 columnas. Mostrar en pantalla el número de muestra, las mediciones,
el peso eliminado y el peso promedio de cada sustancia pesada.
Para realizar este ejercicio creamos la siguiente funcion M-File:

a=input(’Ingrese datos\n’);
[i,j]=size(a);
for b=1:i
f=a(b,2:j);
minimo(b)=min(f);
promedio(b)=(sum(a(b,2:j))-minimo(b))/3;
end
a(:,j+1)=minimo;
a(:,j+2)=promedio;
disp(’Id Muestra Peso1 Peso2 Peso3 Peso4 Mini Prom’)
disp(a)

El resultado que nos da en Matlab:

>> Ejer7
Ingrese datos
[1 4 6 2 8 19 ;2 5 9 20 14 2;3 7 9 10 34 15;4 2 6 12 45 67]
Id Muestra Peso1 Peso2 Peso3 Peso4 Mini Prom
1.0000 4.0000 6.0000 2.0000 8.0000 19.0000 2.0000 12.3333
2.0000 5.0000 9.0000 20.0000 14.0000 2.0000 2.0000 16.0000
3.0000 7.0000 9.0000 10.0000 34.0000 15.0000 7.0000 22.6667
4.0000 2.0000 6.0000 12.0000 45.0000 67.0000 2.0000 43.3333

EJERCICIO 8:Represente en Matlab la superficie 3D dada por la función.


1 1 T −1
(x1, ..xn) = n/2
|Σ|1/2 e(− 2 )(x−µ) Σ (x−µ)
(2π)
3 −1

Para el caso n=2,usar los valores de las constantes µ = (10, 10)T , Σ = −1 4 . El sı́mbolo |Σ|
significa el determinante de la matriz Σ.
Para resolver este ejercicio utilizamos una función M-file Script con los comandos:

n=2;
syms x;
syms y;
u=[x-10 y-10];
u=u’;
E=[3 -1;-1 4];
a=exp(-(1/2)*((x-u)’)*(E^(-1))*(x-u));
d=det(E);
d=sqrt(d);
d=d*((2*pi).^(n/2));
a=a/d;
a=inline(a);
p=linspace(r,b,c);
h=linspace(r,b,c);
for i=1:length(p)
9

for j=1:length(p)
z(i,j)=a(p(i),h(j));
end
end
surfc(p,z,h)
El resultado que nos da en Matlab:

EJERCICIO 9:Escriba un programa que busque los números amigables y diferentes entre
1 y 1000. Dos números son amigables si el primero es la suma de los divisores del segundo y
viceversa.
Realizamos una función M-File
for i=1:1000
a=0;
for j=1:i-1
if mod(i,j)==0
a=a+j;
end
end
for r=i+1:1000
f=0;
for j=1:r-1
if mod(r,j)==0
f=f+j;
end
end
if a==r && f==i
disp([i,r]);
end
end
end
El resultado que nos da en Matlab:
>> Ejer9
220 284
EJERCICIO 10:Realizar una función tal que ingresado un numero N, se impriman por
pantalla todos los números primos de 1 hasta N. Ej: Ingreso el número 13 y se imprimen por
pantalla: 1, 3, 5, 7, 11, 13.
solución:
10

a=input(’Ingrese el numero:’);
p=[]
for i=1:a
b=1:i;
c=i./b;
w=find((c./floor(c))==1);
if length(w)==2;
p(i)=i;
p(1)=1;
end
end
t=find(p==0);
p(t)=[];
disp(p)

El resultado que nos da en Matlab:

>> Ejer10
Ingrese el numero:5

p =

1 2 3 5

También podría gustarte