Академический Документы
Профессиональный Документы
Культура Документы
6 de noviembre de 2015
Nombre: Esteban Xavier Serrano Moran
NRC: 1516
Ejercicio 1:
Escribir un programa en Matlab que le pida al usuario un n
umero entero positivo
menor que un millon (1000000) y devuelva a pantalla el n
umero e indique si es par
o impar.
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
end
Corrida del Programa:
>> par_o_impar(550)
El numero ingresado es: 550
ans =
numero par
>> par_o_impar(333)
El numero ingresado es: 333
ans =
1
numero impar
Ejercicio 2:
Realizar un programa en Matlab que permita visualizar un crculo de radio 6.5 y
centro 3.
1
2
3
4
5
6
7
%Variables
radio = 6.5;
h = 3;
k = 0;
8
9
10
11
12
13
14
15
16
%grafico de funcion
grafico = plot (x , y )
axis square
17
18
19
20
%Ejes coordenados
line ( xlim ,[0 0] , ' color ' , 'k ') ;
line ([0 0] , ylim , ' color ' , 'k ') ;
Corrida:
Ejercicio 3:
Graficar la siguiente funcion y sus derivadas, en un solo grafico, de manera superpuesta:
si x < 1
e
si 1 < x < 1
f (x) = |x|
x2 + 1 si x > 1
1
2
3
4
5
6
7
8
9
10
%variables de la funcion f ( x )
x1 = -10:0.01: -1;
x2 = -1:0.01:1;
x3 = 1:0.01:10;
f1 = exp ( - x1 ) ;
f2 = abs ( x2 ) ;
f3 = x3 .2 + 1;
11
12
13
14
15
%derivadas de la funcion f ( x )
df1 = diff ( f1 ) ./ diff ( x1 ) ;
df2 = diff ( f2 ) ./ diff ( x2 ) ;
df3 = diff ( f3 ) ./ diff ( x3 ) ;
16
17
18
19
%grafico de funcion
hold on
graficof1 = plot ( x1 , f1 , ' red ') ;
3
20
21
22
23
24
25
26
27
28
29
%grafico de f '( x )
graficodf1 = plot ( x1 (2: end ) ,df1 , ' blue ') ;
graficodf2 = plot ( x2 (2: end ) ,df2 , ' blue ') ;
graficodf3 = plot ( x3 (2: end ) ,df3 , ' blue ') ;
axis ([ -2.5 ,2.5 , -6 ,6]) ;
hold off
30
31
32
33
%Ejes coordenados
line ( xlim ,[0 0] , ' color ' , 'k ') ; %x
line ([0 0] , ylim , ' color ' , 'k ') ; %y
Corrida:
Ejercicio 4:
Elabore un programa que permita calcular las races 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 races reales (D 0)
o races compleja (D < 0). El programa debe informar al usuario si el sistema no
tiene races reales. Ademas se debe indicar si las races reales son iguales (D = 0) o
diferentes (D > 0).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
end
Corrida:
>> raices_ecuacion_cuadratica(1,5,1)
Ecuacion con dos raices diferentes:
ans =
-0.2087
-4.7913
>> raices_ecuacion_cuadratica(1,-2,1)
Ecuacion con solo una raiz
ans =
5
1
>> raices_ecuacion_cuadratica(1,1,5)
Ecuacion no posee respuestas en los reales,las soluciones imaginarias son:
ans =
-0.5000 + 2.1794i
-0.5000 - 2.1794i
Ejercicio 5
Tabla de conversion de temperatura. La relacion de diversas escalas de temperatura
con la escala Celsius (C), es la siguiente:
9
C + 32
5
K = C + 273.15
8
R=
C
10
F =
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.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
switch op
case 'a '
fprintf ( ' Transformacion de C a Farenheit \ n ')
while true %corre bucle hasta aparicion de 's '
orden = ' Ingrese C , Presione s para salir al menu \ n
';
temp = input ( orden , 's ') ;
if temp == 's ' %aparicion de 's ' termina el bucle
break ;
end
6
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
otherwise
disp ( ' La opcion ingresada no existe , intente de nuevo
')
end
59
60
61
end
Corrida:
>> transformacion_temp
Menu:
a) Celcius a Farenheit
b) Celcius a Kelvin
c) Celcius a Remur
s) Salir
Que desea hacer?
a
Transformacion de C a F
Ingrese C, Presione s para salir
58
F = 1.364000e+02
Ingrese C, Presione s para salir
46
F = 1.148000e+02
Ingrese C, Presione s para salir
s
Menu:
a) Celcius a Farenheit
b) Celcius a Kelvin
c) Celcius a Remur
s) Salir
Que desea hacer?
b
Transformacion de C a K
Ingrese C, Presione s para salir
12
K = 2.851500e+02
Ingrese C, Presione s para salir
22
K = 2.951500e+02
Ingrese C, Presione s para salir
s
Menu:
a) Celcius a Farenheit
b) Celcius a Kelvin
c) Celcius a R
s) Salir
Que desea hacer?
c
Transformacion de C a Remur
Ingrese C, Presione s para salir
56
R = 4.480000e+01
Ingrese C, Presione s para salir
al menu
al menu
al menu
al menu
al menu
al menu
al menu
al menu
8
63
R = 5.040000e+01
Ingrese C, Presione s para salir al menu
s
Menu:
a) Celcius a Farenheit
b) Celcius a Kelvin
c) Celcius a Remur
s) Salir
Que desea hacer?
s
Programa finalizado
Ejercicio 6
Crear una funcion M.file con la que se pueda graficar la funcion parametrica siguiente:
R+r
R
+
r
6
7
8
9
10
11
12
%funciones analizadas
x = ( R + r ) * cos ( t ) - r * cos ((1 + R / r ) * t ) ;
y = ( R + r ) * sin ( t ) - r * sin ((1 + R / r ) * t ) ;
13
14
15
16
%Grafico ploteado
plot (x , y )
axis square
17
18
19
20
%Ejes coordenados
line ( xlim ,[0 0] , ' color ' , 'k ') ;
line ([0 0] , ylim , ' color ' , 'k ') ;
21
22
end
9
Corrida:
>> funcion_parametrica(12,3,0,2*pi,200)
Ejercicio 7
4
5
6
10
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
end
Corrida:
11
1
2
3
4
45
23
14
22
48
21
18
25
42
20
19
27
43
25
13
29
>> medidor_peso(sustancias)
ans =
'Sustancia '
[
1]
[
2]
[
3]
[
4]
' Peso 2 '
[
48]
[
21]
[
18]
[
27]
Ejercicio 8
Represente en Matlab la superficie 3D dada por la funcion:
1
q
exp (x )T +1 1
fx (x1 , , xn ) =
n/2
2
2 ||
Para el caso en el que n =!2, usar los siguientes valores para las constantes: =
3 1
(10.10)T y =
.
1
4
%Script que dibuja una funcion tridimensional f = 1/ k * e (
g (x , y ) )
2
3
4
5
6
7
%planteamiento de variables
syms x1 x2 ;
x = [ x1 ; x2 ];
u = transpose ([10 10]) ;
E = [3 -1; -1 4];
8
9
10
11
%determinacion de constantes
k = 2* pi * sqrt ( det ( E ) ) ;
exponente = -0.5* transpose (x - u ) * E *( x - u ) ;
12
13
14
15
16
[ x1 x2 ] = meshgrid (8:0.005:12) ;
f = eval ( f ) ;
17
18
19
%generacion de la grafica 3 d
surf ( x1 , x2 ,f , ' EdgeColor ' , ' none ')
Corrida:
Ejercicio 9
Escriba un programa que busque los n
umeros amigables y diferentes entre 1 y 1000.
Dos n
umeros son amigables si el primero es la suma de los divisores del segundo y
viceversa.
1
2
3
4
5
6
inicio = 0;
fin = 1000;
numeros = inicio : fin ;
tamano = length ( numeros ) ;
7
8
9
for i = 1: tamano
a = sum ( divisors ( numeros ( i ) ) ) - numeros ( i ) ;
13
10
11
12
13
14
15
16
17
18
19
20
%disp ( numeros ( i ) )
for j = ( i +1) :( tamano )
%disp ( numeros ( j ) )
b = sum ( divisors ( numeros ( j ) ) ) - numeros ( j ) ;
if a == numeros ( j )
if b == numeros ( i )
fprintf ( ' %d y %d son amigos \ n ' , numeros ( i ) , numeros ( j ) )
end
end
end
end
Corrida:
>> numeros_amigos
220 y 284 son amigos
Ejercicio 10
Realizar una funcion tal que ingresado un numero N, se impriman por pantalla todos
los n
umeros primos de 1 hasta N.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
end
14
Corrida:
>> numeros_primos(30)
ans =
1
2
3
11
15
13
17
19
23
29