You are on page 1of 66

ESCUELA POLIT

ECNICA
DEL EJ

ERCITO
DEPARTAMENTO CIENCIAS DE LA
COMPUTACI

ON
CARRERA INGENIER

IA EN SISTEMAS E
INFORM

ATICA
DEBER 1
ASIGNATURA: M

ETODOS NUM

ERICOS
DOCENTE: ING. MARCILLO JOS

E
FECHA:9 de septiembre de 2013
RESPONSABLE: GUAM

AN JOS

E
1. EJERCICIOS
a) Si x=9, a=1, b=3 y c=5, determinar el valor de:
f =
log(ax
2
+ bx + c) sin(ax
2
+ bx + c)
4 x
2
+ cos(x 2) (ax
2
+ bx + c)
f =
log(1(9)
2
+ 3(9) + 5) sin(1(9)
2
+ 3(9) + 5)
4 9
2
+ cos(9 2) (1(9)
2
+ 3(9) + 5)
f =
log(81 + 27 + 5) sin(81 + 27 + 5)
4 81 + cos(7) (81 + 27 + 5)
f =
log(113) sin(113)
324 + cos(7) (113)
f =
2, 05 0, 92
1017, 88 + 0, 99 (113)
f =
2, 05 0, 92
1017, 88 + 112, 16
f =
1, 13
1130, 04
b) Evalue las siguientes expresiones
5 10
32
+ 6
7
3
2

3 + 4
log(15)
2
3
+ 3 10
31
3(510
32
)+673(2

3
)+3(2
2 log(15)
)
3
2+3(310
31
)
3
2
3(5 10
32
) + 6 7 3(2

3
) + 3(2
2 log(15)
)
2 + 3(3 10
31
)
3(5 10
32
+ 2 7 2

3
) + (2
2 log(15)
)
2 + (9 10
31
)
c) Si Z
1
= 3 + 5i, Z
2
=

3 + 2i y Z
3
= 1

2i .Calcular
1)|Z
1
+ Z
2
|
= |3 + 5i

3 + 2i|
= |(3

3 + 7i|
=
_
(3

3)
2
+ 7
2
=
_
(9 6

3 + 3) + 49
=
_
61 6

3
2)Z
1
+ Z
2
+ Z
3
= 3 + 5i

3 + 2i 1

2i
= 3

3 1 + 5i + 2i

2i
3
= (2

3) + (7

2)i
3)Z
1
Z
2
Z
3
= (3 + 5i)(

3 + 2i)(1

2i)
= (3

3 + 6i 5

3i + 10i
2
)(1

2i)
= (10 3

3 + 6i 5

3i)(1

2i)
= (10 + 3

3 6i + 5

3i + 10

2i + 3

6i 6

2i
2
+ 5

6i
2
)
= (10 + 3

3 + 6

2 + 5

6 6i + 5

3i + 10

2i + 3

6i)
= (10 + 3

3 + 6

2 + 5

6) + (6 + 5

3 + 10

2 + 3

6)i
4)
Z1Z2
Z3
=
3 + 5i

3 + 2i
1

2i
=
3

3 + 7i
1

2i
=
(3

3 + 7i)(1

2i)
(1

2i)(1 +

2i)
=
3

3 + 7

2
3
+
(7 + 3

6)i
3
4
5)Comprobar que Z
1
+ Z
2
= Z
1
+ Z
2
3 + 5i

3 + 2i = 3 + 5i + =

3 + 2i
(3

3) 7i = 3 5i +

3 2i
(3

3) 7i = 3 5i +

3 2i
(3

3) 7i = (3

3) + 7i
La propiedad se cumple
6)Comprobar que Z
1
Z
2
= Z
1
Z
2
(3 + 5i)(1

2i) = 3 + 5i 1

2i
(3 3

2i 5i 5

2i
2
) = 3 + 5i 1

2i
(3 + 5

2) + (3

2 5)i = (3 5i) (1 +

2i)
(3 5

2) (3

2 5)i = 3 3

2i 5i 5

2i
2
(3 + 5

2) (3

2 5)i = 3 + 5

2 5i 3

2i
No cumple la propiedad
7)Comprobar que arg(Z
1
/Z
2
) = arg(Z
1
) arg(Z
2
)
5
arg
3 + 5i

3 + 2i
= arg(3 + 5i) arg

3 + 2i
arg
(3 + 5i)(

3 + 2i)

3 + 2i
= arg(3 + 5i) arg

3 + 2i
arg
3

3 + 6i 5

3i + 10i
2
7
= argtg(
5
3
) argtg
2

3
arg
(10 3

3)
7
+
(6 5

3)i
7
= argtg(
5
3
) argtg(
2

3
)
argtg
6 5

3
10 3

3
= argtg(
5
3
) argtg
2

3
argtg
2, 60
15, 19
= argtg(1, 66) argtg1, 15
9, 65 = 27, 02
d)Calcular la parte real, imaginaria, modulo y argumento de:
1) (1 +

3i)
1i
Modulo
ln(1 +

3) = ln |1 +

3| + iarg(1 +

3)
1 +

3 =
_
1
2
+

3
2
= 2
6
Argumento
arg(1 +

3) = arctan
1

3
+ pi =
7
6
Parte Real Parte Imaginaria
ln(1 +

3i = ln(2 +
7
6
i))
e
ln 2+
2
6

= e
2(cos 2+sen
2
6
)
2) (Z
1
Z
2
Z
3
)
2i
= (3 + 5i)(

3 + 2i)(1

2i)
2i
= (3

3 + 6i 5

3i + 10i
2
)(1

2i)
2i
= (10 3

3 + 6i 5

3i)(1

2i)
2i
= (10 + 3

3 6i + 5

3i + 10

2i + 3

6i 6

2i
2
+ 5

6i
2
)
2i
7
= (10 + 3

3 + 6

2 + 5

6 6i + 5

3i + 10

2i + 3

6i)
2i
= ((10 + 3

3 + 6

2 + 5

6) + (6 + 5

3 + 10

2 + 3

6)i)
2i
e) Calcular
1)8
1
5
= 1,515716
8
1
5
= 2
3
5
5

2
3
= 1,51
2)e
7
+ ln 5 = 1098,2425
3)
ln(9) + log(12) + sin(

5
)
45 cos 23
= 25
f) Introducir las siguientes matrices:
A =
_
_
1 2 3
0 1 6
0 1 9
_
_
, B =
_
_
1 2 3
2 1
5

4
0 cos(45) 8
_
_
, b =
_
_
1
2
3
_
_
Se pide determinar:
1) A + B
A =
_
_
1 2 3
0 1 6
0 1 9
_
_
B =
_
_
1 2 3
2 1
5

4
0 cos(45) 8
_
_
A + B =
_
_
1 + 1 2 + 2 3 + 3
0 2 1 + 1 6 +
5

4
0 + 0 1 + cos(45) 9 8
_
_
8
A + B =
_
_
2 4 6
2 2 6 +
5

4
0 1 + cos(45) 1
_
_
2) 2A + 3B
2A =
_
_
2 4 6
0 2 12
0 2 18
_
_
3B =
_
_
3 6 9
6 3 3
5

4
0 3 cos(45) 24
_
_
2A + 3B =
_
_
2 + 3 4 + 6 6 + 9
0 6 2 + 3 12 + 3
5

4
0 + 0 2 + 3 cos(45) 18 24
_
_
2A + 3B =
_
_
5 10 15
6 5 12 + 3
5

4
0 2 + 3 cos(45) 6
_
_
3) A.*B
4) A * B
A =
_
_
1 2 3
0 1 6
0 1 9
_
_
B =
_
_
1 2 3
2 1
5

4
0 cos(45) 8
_
_
A =
_
_
1 2 3
0 1 6
0 1 9
_
_
B =
_
_
1 2 3
2 1
5

4
0 cos(45) 8
_
_
AB =
_
_
1 (1) + 2 (2) 3 (0) (1 2) + (2 1) + (3 0,52) (1 3) + (2 1) + (3 (8))
(0 1) + (1 (2)) + (6 0) (0 2) + (1 1) + (6 0,52) (0 3) + (1 1,31) + (6 (8))
(0 1) + (1 (2)) + (9 0) (0 2) + (1 1) + (9 0,52) (0 3) + (1 1,31) + (9 (8))
_
_
=
_
_
3 5,56 10
2 4,12 17
2 5,68 41
_
_
9
5) A
2
A
2
=
_
_
1 2 3
0 1 6
0 1 9
_
_
A
2
=
_
_
(1 1) + (2 0) + (3 0) (1 2) + (2 1) + (3 1) (1 3) + (2 6) + (3 9)
(0 1) + (1 0) + (6 0) (0 2) + (1 1) + (6 1) (0 3) + (1 6) + (6 9)
(0 1) + (1 0) + (9 0) (0 2) + (1 1) + (9 1) (0 3) + (1 6) + (9 9)
_
_
A
2
=
_
_
1 7 42
0 7 60
0 10 87
_
_
6) A b y comprobar que el resultado coincide con A
1
b.
A b
A =
_
_
1 2 3
0 1 6
0 1 9
_
_
=

_
_
1
2
3
_
_
A b =
_
_
1 1 2 2 3 3
0 1 1 2 6 3
0 1 1 2 9 3
_
_
A b =
_
_
1 4 6
0 2 18
1 2 27
_
_
A
1
b.
A =
_
_
1 2 3
0 1 6
0 1 9
_
_
10
Determinante de A = 12
Matriz adjunta de A=
AdjA =
_
_
12 15 6
0 9 6
0 1 2
_
_
=

A
1
=
_
_
1 15/12 6/12
0 9/12 6/12
0 1/12 2/12
_
_
=

b.=
_
_
1
2
3
_
_
b. = (1 1) + (2 2) + (3 3) = 1 + 4 + 9
b. = 14
A
1
b.
_
_
14 15(14)/12 (14)6/12
0 (14)9/12 (14) 6/12
0 (14) 1/12 (14)2/12
_
_
_
_
14 105/6 7
0 21/2 7
0 7/6 7/3
_
_
El resultado no coincide
7) b
T
/A y comprobar que el resultado coincide con b
T
A
1
11
b
T
=
b =
_
_
1
2
3
_
_
b
T
=
_
1 2 3
_
b
T
A1
b
T
=
_
1 2 3
_
A
1
=
_
_
1 15/12 6/12
0 9/12 6/12
0 1/12 2/12
_
_
=

El numero de las del vector es 1 y el numero de columnas de la matriz es


3 por lo que no esta denida la multiplicacion
8) Calcular el producto escalar b.b y el producto vectorial bxb
bxb =
_
_
1
2
3
_
_
_
_
2 3 2 3
3 1 1 3
1 2 2 1
_
_
_
_
6 6
3 3
2 2
_
_
12
_
_
0
0
0
_
_
b.b =
_
_
1
2
3
_
_
b.b = (1 1) + (2 2) + (3 3) = 1 + 4 + 9
b.b = 14
g) Introducir las siguientes matrices:
D =
_
_
1 3 4
2 5 7
0 1 1
_
_
, E =
_
_
2 4 6
4 5 6
3 1 2
_
_
, c =
_
_
1
2
0
_
_
Se pide determinar:
1) D + E
D + E =
_
_
3 1 10
2 5 7
0 1 1
_
_
2) DE
DE =
_
_
(1 2) + (3 4) + (3 3) (1 4) + (3 5) + (3 1) (1 6) + (3 6) + (3 2)
(2 2) + (5 4) + (7 3) (2 4) + (5 5) + (7 1) (2 4) + (5 6) + (7 2)
(0 2) + (1 4) + (1 3) (0 4) + (1 5) + (1 1) (0 6) + (1 6) + (1 2)
_
_
3) D
T
E
13
D
T
=
_
_
1 2 0
3 5 1
4 7 1
_
_
D
T
E
D
T
E =
_
_
(1 2) + (2 4) + (0 3) (1 4) + (2 5) + (0 1) (1 6) + (2 6) + (0 2)
(3 2) + (5 4) + (1 3) (3 4) + (5 5) + (1 1) (3 6) + (5 6) + (1 2)
(4 2) + (7 4) + (1 3) (4 4) + (7 5) + (1 1) (4 6) + (7 6) + (1 2)
_
_
D
T
E =
_
_
10 14 18
23 36 46
39 52 68
_
_
4) A partir de las matrices D y E anteriores extraer sus vectores las, sus
vectores columnas y una subamatriz 2 x 2 formada por las las 1 y 2 y las
columnas 2 y 3
D =
_

_
1
3
4
2
5
7
0
1
1
_

_
E =
_

_
2
4
6
4
5
6
3
1
2
_

_
submatriz
D[1, 2; 1, 3] =
_
4 6
5 6
_
14
5) Resolver el sistema E x = c
E
1
=
_
_
4 2 6
10 14 12
11 10 6
_
_
= E
1
C =
_
_
6
14
9
_
_
6) Construir una matriz diagonal que contenga la diagonal de la matriz E.
E =
_
_
2 0 0
0 5 0
0 0 2
_
_
7) Construir las matrices por bloques
[D E], [D
E]
Introducir las siguiente matriz:
W =
_
_
_
_
1 2 1 4
2 0 6 4
1 3 6

3
4
1
2
1 1
_
_
_
_
Obtener su parte estrictamente triangular (sin la diagonal) y su parte estric-
tamente triangular superior e inferior.
Superior
=
_
_
_
_
1 2 1 4
0 4 4 4
4 1 5 4 +

3
0
17
2
3 5
_
_
_
_
15
=
_
_
_
_
1 2 1 4
0 4 4 4
0 0 16 12 +

3
0 0 12 9
_
_
_
_
=
_
_
_
_
1 2 1 4
0 4 4 4
0 0 16 12

3
0 0 0 45 + 2

3
_
_
_
_
Inferior
=
_
_
_
_
16 0 5 0
18 2 20 0

5 3 +

3 6

3 0
4
1
2
1 1
_
_
_
_
=
_
_
_
_
90 21

3 15 + 5

2 0 0
108 28

3 72 + 18

3 0 0

5 3 +

3 6

3 0
4
1
2
1 1
_
_
_
_
=
_
_
_
_
90 21

3 15 + 5

2 0 0
108 28

3 72 + 18

3 0 0

5 3 +

3 6

3 0
4
1
2
1 1
_
_
_
_
=
_
_
_
_
378 900

3 0 0 0
108 28

3 72 + 18

3 0 0

5 3 +

3 6

3 0
4
1
2
1 1
_
_
_
_
i)Calcular la siguiente expresion
16
Sn =
N

i=1
2

donde n es menor que 50


= (2
n+1
2/2 1) = 2(2
n
1)
j) Calcular la siguiente expresion
Sn =
n

j=1
j
j + 1
= n!
1
n! + 1
k) Escribir un programa para calcular la sumatoria de los n primeros numeros
impares:
clc
clear all
numero = input(Numero hasta donde llegara la sumatoria: )
sumatoria = 0
for i=1:2:numero
sumatoria = sumatoria + i
end
fprintf(Total: %d,sumatoria)
Numero hasta donde llegara la sumatoria: 30
numero =
30
sumatoria =
0
17
sumatoria =
1
sumatoria =
4
sumatoria =
9
sumatoria =
16
sumatoria =
25
sumatoria =
36
sumatoria =
49
sumatoria =
64
sumatoria =
81
18
sumatoria =
100
sumatoria =
121
sumatoria =
144
sumatoria =
169
sumatoria =
196
sumatoria =
225
Total: 225>>
19
l) Escribir un programa para calcular el modulo de un vector [a,b] y su angulo
de inclinacion con el eje X.
clc
clear all
a=input(Componente a del vector: )
b=input(Componente b del vector: )
modulo = (a^2 + b^2)^(1/2)
angulo = atand(a/b)
Componente a del vector: 1
a =
20
1
Componente b del vector: 2
b =
2
modulo =
2.2361
angulo =
26.5651
21
m) Realizar un programa para determinar si un numero ingresado por teclado
es par o impar.
clc
clear all
numero = input(Ingrese un numero: )
parImpar = rem(numero,2)
if parImpar == 0
fprintf(El numero ingresado es par)
else
fprintf(El numero ingresado es impar)
end
Ingrese un numero: 4
numero =
22
4
parImpar =
0
El numero ingresado es par>>
n) Realizar un programa para determinar el mayor, de dos numeros que son
ingresados por teclado.
clc
clear all
numeroA = input(Ingrese el numero a: )
numeroB = input(Ingrese el numero b: )
if numeroA > numeroB
disp(a > b)
elseif numeroA == numeroB
disp(a = b)
else
disp(a < b)
end
Ingrese el numero a: 3
23
numeroA =
3
Ingrese el numero b: 2
numeroB =
2
a > b

1
2
) Realizar un programa para determinar si un numero entero ingresado por
teclado es positivo, negativo o nulo.
clc
clear all
numero = input(Ingrese un numero entero: )
comprobar = mod(numero,1)
while comprobar ~= 0
numero = input(Ingrese un numero entero: )
comprobar = mod(numero,1)
end
if numero == 0
24
disp(El numero ingresado es nulo)
elseif numero > 0
disp(El numero ingresado es positivo)
else numero < 0
disp(El numero ingresado es negativo)
end
Ingrese un numero entero: 12
numero =
12
comprobar =
0
El numero ingresado es positivo
o) Implememntar un programa que permita evaluar el factorial de un numero
entero positivo.
clc
clear all
numero = input(Ingrese un numero entero positivo: )
25
comprobacion = mod(numero,1)
while (comprobacion ~= 0) || (numero <= 0)
numero = input(Ingrese un numero entero positivo: )
comprobacion = mod(numero,1)
end
fact = 1
for i=1 : numero
fact = i * fact
end
Ingrese un numero entero positivo: 10
numero =
10
comprobacion =
0
fact =
1
fact =
1
fact =
2
fact =
6
fact =
26
24
fact =
120
fact =
720
fact =
5040
fact =
40320
fact =
362880
fact =
3628800
27
p) Implementar programas que permitan evaluar la suma total de los N
primeros terminos de las siguientes series
1) S = 1 + 3 + 5 + 7 + ......
clc
clear all
numero = input(Hasta que numero se realizara la sumatoria?: )
sumaTotal = 0
j = 1
28
for i=1 : numero
sumaTotal = sumaTotal + j
j = j + 2
end
fprintf(La sumatoria de la serie hasta %d es: %d,numero,sumaTotal)
Hasta que numero se realizara la sumatoria?: 10
numero =
10
sumaTotal =
0
j =
1
sumaTotal =
1
j =
3
sumaTotal =
4
j =
5
sumaTotal =
29
9
j =
7
sumaTotal =
16
j =
9
sumaTotal =
25
j =
11
sumaTotal =
36
j =
13
sumaTotal =
49
j =
15
30
sumaTotal =
64
j =
17
sumaTotal =
81
j =
19
sumaTotal =
100
j =
21
La sumatoria de la serie hasta 10 es: 100>>
31
2) S = 1 +
1
2

1
3
+
1
4
.... +
1
n
clc
clear all
numero = input(Hasta que numero se realizara la sumatoria?: )
sumaTotal = 0
for i=1 : numero
if mod(i,2) ~= 0
sumaTotal = sumaTotal - (1/i)
else
32
sumaTotal = sumaTotal + (1/i)
end
end
fprintf(La sumatoria de la serie hasta %d es: %d,numero,sumaTotal)
Hasta que numero se realizara la sumatoria?: 6
numero =
6
sumaTotal =
0
sumaTotal =
-1
sumaTotal =
-0.5000
sumaTotal =
-0.8333
sumaTotal =
-0.5833
sumaTotal =
-0.7833
sumaTotal =
-0.6167
33
La sumatoria de la serie hasta 6 es: -6.166667e-001>>
3) S = 1 2 + 3 5 + 8 13 + 21 34.......
lc
clear all
numero = input(Hasta que numero se realizara la sumatoria?: )
a=1
c=0
34
d=0
b=1
e=0
for i=1 : numero
if mod(i,2) ~= 0
c = a + b
else
c = a - b
end
a=c
e=b+d
d=b
b=e
end
fprintf(La sumatoria de la serie hasta %d es: %d,numero,b)
Hasta que numero se realizara la sumatoria?: 5
numero =
5
a =
1
c =
0
d =
0
b =
1
35
e =
0
c =
2
a =
2
e =
1
d =
1
b =
1
c =
1
a =
1
e =
2
36
d =
1
b =
2
c =
3
a =
3
e =
3
d =
2
b =
3
c =
0
a =
0
e =
37
5
d =
3
b =
5
c =
5
a =
5
e =
8
d =
5
b =
8
La sumatoria de la serie hasta 5 es: 8>>
38
4) S = 1
1
3!
+
1
5!

1
7!
+ .....
clc
clear all
numero = input(Hasta que numero se realizara la sumatoria?: )
fact = 1
sumaTotal = 0
j=1
for k=1 : numero
if mod(k,2) ~= 0
39
for i=1 : j
fact = i * fact
end
sumaTotal = sumaTotal + 1/fact
j=j+2
fact = 1
else
for i=1 : j
fact = i * fact
end
sumaTotal = sumaTotal - 1/fact
j=j+2
fact = 1
end
end
fprintf(La sumatoria de la serie hasta %d es: %d,numero,sumaTotal)
Hasta que numero se realizara la sumatoria?: 6
numero =
6
fact =
1
sumaTotal =
0
j =
1
fact =
1
sumaTotal =
40
1
j =
3
fact =
1
fact =
1
fact =
2
fact =
6
sumaTotal =
0.8333
j =
5
fact =
1
fact =
1
41
fact =
2
fact =
6
fact =
24
fact =
120
sumaTotal =
0.8417
j =
7
fact =
1
fact =
1
fact =
2
42
fact =
6
fact =
24
fact =
120
fact =
720
fact =
5040
sumaTotal =
0.8415
j =
9
fact =
1
fact =
1
43
fact =
2
fact =
6
fact =
24
fact =
120
fact =
720
fact =
5040
fact =
40320
fact =
362880
sumaTotal =
0.8415
j =
44
11
fact =
1
fact =
1
fact =
2
fact =
6
fact =
24
fact =
120
fact =
720
fact =
5040
fact =
45
40320
fact =
362880
fact =
3628800
fact =
39916800
sumaTotal =
0.8415
j =
13
fact =
1
La sumatoria de la serie hasta 6 es: 8.414710e-001>>
46
q) Implementar un programa que permita ingresar n numeros y ordenarlos de
acuerdo a las opciones de menor o mayor, o de mayor a menor.
clc
clear all
disp(Ingrese los numeros que quiere ordenar)
disp(Ingrese 0 para terminar)
i=1;
numeros(i) = 1;
numero = 1;
47
%Ingreso de n numeros
while numero ~= 0
numero = input( );
if numero ~= 0
numeros(i) = numero;
i=i+1;
end
end
tamanio = length(numeros);
fin = 0;
j=1;
opcionOrden = input(1 = Ascendente, 2 = Descendente: );
while j<tamanio
if opcionOrden == 1
t = j;
u = j+1;
else
t = j+1;
u = j;
end
if j < tamanio && numeros(t) > numeros(u)
mayor = numeros(j);
numeros(j) = numeros(j+1);
numeros(j+1) = mayor;
j=0;
end
j=j+1;
end
disp(Numeros Ordenados: )
for j=1:tamanio
fprintf(%d, ,numeros(j))
end
Ingrese los numeros que quiere ordenar
Ingrese 0 para terminar
1
2
3
4
7
8
48
9
0
1 = Ascendente, 2 = Descendente: 1
Numeros Ordenados:
1, 2, 3, 4, 7, 8, 9, >>
r) Realizar un programa que permita determinar si un numero entero
ingresado es primo.
clc
clear all
numero = input(Ingrese un numero entero: );
comprobar = mod(numero,1);
while comprobar ~= 0
numero = input(Ingrese un numero entero: );
comprobar = mod(numero,1);
49
end
%Comprobamos si es primo o no
res=1
for i=2:numero-1
if ( mod(numero,i)==0 )
res=0
break
end
end
if res==1 && numero~=1
disp(Primo)
else
disp(No Primo)
end
Ingrese un numero entero: 12
res =
1
res =
0
No Primo
50
s) Implementar una funcion que permita evaluar la expresion:
S = x
x
2
2
+
x
3
3
........
Dados los argumentos x y n, donde n es el numero de terminos que se evaluan
en la serie.
clc
clear all
numero = input(Hasta que numero se realizara la serie: )
x = input(Valor de x?: )
sumaTotal = 0
for i=1 : numero
if mod(i,2) ~= 0
sumaTotal = sumaTotal + x^i/i
else
sumaTotal = sumaTotal - x^i/i
end
end
fprintf(Terminos: %d, valor de x: %d, resultado: %d,numero,x,sumaTotal)
Hasta que numero se realizara la serie: 4
numero =
51
4
Valor de x?: 2
x =
2
sumaTotal =
0
sumaTotal =
2
sumaTotal =
0
sumaTotal =
2.6667
sumaTotal =
-1.3333
Terminos: 4, valor de x: 2, resultado: -1.333333e+000>>
52
t)Implementar una funcion que permita evaluar la expresion:
S =
1
2
x
3
2x4
x
3
+
15
2x4x6
x
5

105
2x4x6x8
x
7
+ .....
Dados los argumentos x y n, donde n es el numero de terminos que se evaluan
en la serie.
clc
clear all
numero = input(Hasta que numero se realizara la serie: );
x = input(Valor de x?: );
53
sumaTotal = 0;
a = 1;
b = 1;
c = 1;
d = 0;
for i=1 : numero
if mod(i,2) ~= 0
a = (a * b)
c = c * (d + 2)
sumaTotal = sumaTotal + (a/c) * (x^b)
else
a = (a * b)
c = c * (d + 2)
sumaTotal = sumaTotal - (a/c) * (x^b)
end
b = b + 2;
d = d + 2;
end
fprintf(Terminos: %d, valor de x: %d, resultado: %d,numero,x,sumaTotal)
Hasta que numero se realizara la serie: 5
Valor de x?: 4
a =
1
c =
2
sumaTotal =
2
a =
3
54
c =
8
sumaTotal =
-22
a =
15
c =
48
sumaTotal =
298
a =
105
c =
384
sumaTotal =
-4182
a =
945
55
c =
3840
sumaTotal =
60330
Terminos: 5, valor de x: 4, resultado: 60330>>
56
u) Implementar un programa que permita ingresar un vector con N numeros y
posteriormente permita evaluar la media aritmetica.
clc
clear all
disp(Ingrese los componentes del vector)
disp(Ingrese 0 para terminar)
i=1;
numeros(i) = 1;
numero = 1;
sumaTotal = 0;
%Ingreso de n numeros
while numero ~= 0
numero = input( );
if numero ~= 0
numeros(i) = numero;
sumaTotal = sumaTotal + numero;
i=i+1;
end
end
tamanio = length(numeros);
fprintf(La media aritmetica del vector es: %f, sumaTotal/tamanio)
Ingrese los componentes del vector
Ingrese 0 para terminar
1
2
3
4
0
La media aritmetica del vector es: 2.500000>>
57
v) Realizar un programa que permita ingresa una matriz, y posteriormente
imprima la transpuesta de dicha matriz.
clc
clear all
m=input(Ingrese el numero de filas: )
n=input(Ingrese el numero de columnas: )
for i=1:n
for j=1:m
fprintf(Fila %d Columna %d= ,i,j)
A(i,j)=input( )
B(j,i)=A(i,j)
end
end
disp(Matriz Transpuesta: )
for i=1:n
for j=1:m
fprintf(%d ,B(i,j))
end
disp()
end
Ingrese el numero de filas: 2
m =
2
58
Ingrese el numero de columnas: 2
n =
2
Fila 1 Columna 1= 1
A =
1
B =
1
Fila 1 Columna 2= 2
A =
1 2
B =
1
2
Fila 2 Columna 1= 3
A =
1 2
3 0
B =
1 3
2 0
Fila 2 Columna 2= 4
A =
59
1 2
3 4
B =
1 3
2 4
Matriz Transpuesta:
1 3 2 4 >>
60
w) Implementar un programa que permita ingresa n numeros y posteriormente
ordenarlos e imprimirlos de mayor a menor.
clc
clear all
disp(Ingrese los numeros que quiere ordenar)
disp(Ingrese 0 para terminar)
i=1;
numeros(i) = 1;
numero = 1;
61
%Ingreso de n numeros
while numero ~= 0
numero = input( );
if numero ~= 0
numeros(i) = numero;
i=i+1;
end
end
tamanio = length(numeros);
fin = 0;
j=1;
while j<tamanio
if j < tamanio && numeros(j) > numeros(j+1)
mayor = numeros(j);
numeros(j) = numeros(j+1);
numeros(j+1) = mayor;
j=0;
end
j=j+1;
end
disp(Numeros Ordenados: )
for j=1:tamanio
fprintf(%d, ,numeros(j))
end
Ingrese los numeros que quiere ordenar
Ingrese 0 para terminar
1
4
5
2
3
7
8
0
Numeros Ordenados:
1, 2, 3, 4, 5, 7, 8, >>
62
x) Implementar un programa que de como resultado los numeros primos
menores que un numero dado n (positivo y entero).
clc
clear all
numero = input(Ingrese el numero de primos a imprimir: );
comprobar = mod(numero,1);
while comprobar ~= 0 || numero < 0
numero = input(Ingrese un numero entero positivo: );
comprobar = mod(numero,1);
end
%Comprobamos si es primo o no
for j=2:numero
res=1;
for i=2:j-1
if ( mod(j,i)==0 )
res=0;
end
end
if res==1
fprintf(%d, ,j)
end
end
Ingrese el numero de primos a imprimir: 6
2, 3, 5, >>
63
y) Escribir un programa que lea una cadena de n caracteres e imprima el
resultado que se obtiene cada vez que se realice una rotacion de un caracter a
la derecha sobre dicha cadena. El proceso concluye cuando se haya obtenido
nuevamente la cadena de caracteres original. Por ejemplo:
ESPE, EESP, PEES, SPEE, ESPE.
clc
clear all
disp(Ingrese una cadena)
disp(Ingrese 0 para terminar)
i=1;
cadena(i) = 1;
caracter = a;
%Ingreso de n numeros
while caracter ~= 0
caracter = input( ,s);
if caracter ~= 0
cadena(i) = caracter;
i=i+1;
end
end
tamanio = length(cadena)
%Rotamos los caracteres
i=1;
j=1;
while j <= (tamanio^2)
%fprintf(%c,cadena(i));
if i ~= tamanio
64
B(i+1) = cadena(i);
else
B(1) = cadena(i);
disp( );
for i=1:tamanio
fprintf(%c,B(i));
end
for l=1:tamanio
cadena(l) = B(l);
end
disp( );
i = 0;
end;
i = i + 1;
j = j + 1;
end
Ingrese una cadena
Ingrese 0 para terminar
E
S
P
E
0
tamanio =
4
EESP
PEES
SPEE
ESPE
>>
65
66

You might also like