Sie sind auf Seite 1von 9

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE

Laboratorio de Matematicas
Daniel Sani
14/07/2015
Ejercicio 1
Programa Matlab
t 1= d i g i t a l i s
t 2= n i c o t i a n a
t 3= b a s i l i c u m
t 4= l y c h n i s
t 5= chrysantemum
s=str2mat ( t1 , t2 , t3 , t 5 )
%d1=t o a s c i i ( t 1 )
d1=t o a s c i i ( t 1 )
Explicaci
on:
El comando s=str2mat nos permite imprimir los caracteres de las variables creadas
El comando toascii(t1)permite crear un arreglo de caracteres
Ejecuci
on
>> E j e r c i c i o 1
t1 =
digitalis

t2 =
nicotiana

t3 =
basilicum

t4 =
lychnis

t5 =
chrysantemum

s =
digitalis
nicotiana
basilicum
chrysantemum
>>
Ejercicio 2
Programa Matlab
disp ( Ejemplos s t r c a t : )
s 1= Hola ;
s 2= como e s t a s ;
s 1 ={ aeo , HIJ } ;
s 2 ={ i o , HIJ } ;
s=s t r c a t ( s1 , s 2 )
s =s t r c a t ( s 1 , s 2 )
disp ( Ejemplos strcmp )
c1= y e s ;
c2= y e s ;
c=strcmp ( s1 , s 2 )
c 1=strcmp ( c1 , c2 )
t=strcmp ( s 1 , s 2 )
disp ( Ejemplos f i n d s t r )
k=f i n d s t r ( s1 , s 2 )
k=f i n d s t r ( s , l a )
disp ( Ejemplos con str2num )
t r 1=str2num ( p i )
t r 2=str2num ( 15/14 )
Explicaci
on: El comando strcat() concatena los caracteres en una sola fila ya sea unica cadena o un arreglo
de cadenas eliman los espacios en blanco y los agrupa en uno solo.
El comando strcmp () funci
on de comparacion de cadenas devuelve un valor de 0 si no son iguales y un 1 si
son iguales no identifica may
usculas de minsculas estas cadenas pueden ser comparadas arreglos de caracteres
cadena de caracteres.
La cadena findstr() busca elementos dentro de una cadena y los compara seg
un su lugar y si no encuentra
devuelve un valor nulo [].
El comando str2num()convierte una cadena de cracteres a su valor n
umero exacto
Ejecuci
on
>> E j e r c i c i o 2
Ejemplos s t r c a t :
s =

Holacomo e s t a s

=
aeoio

HIJHIJ

Ejemplos strcmp
c =
0

c 1 =
1

t =
0

Ejemplos f i n d s t r
k =
[]

k =
3
Ejemplos con str2num
tr1 =
3.1416

tr2 =
1.0714
>>
Ejercicio 3
Programa Matlab
rand ( 1 ) 1 0 0

Explicaci
on: La funci
on genera n
umeros aleatorio comprendidos entre 0=1 mediante el rand() pero si multiplicamos por obtenemos n
umeros aleatorio comprendidos entre 1 a 100 controla el rango de nuestro n
umeros
aleatorios.
Ejecuci
on
>> E j e r c i c i o 3
ans =
12.6987
>>
Ejercicio 4
Programa Matlab
function E j e r c i c i o 4 ( n )
v=round ( rand ( 1 , n ) 1 0 0 )
Explicaci
on: Para generar un vector aleatorio nos ayudamos de la funcion v=round(rand(1,n)*100) donde n
sera nuestro n
umero de elementos del vector pero estos n
umeros son decimales para ponerlos en parte entera
usamos el round()quien nos aproxima a los valores enteros.
Ejecuci
on
>> E j e r c i c i o 4 ( 4 )
v =
28

10

82

95

>> E j e r c i c i o 4 ( 6 )
v =
69

32

44

38

>>
Ejercicio 5
Programa Matlab
function E j e r c i c i o 5 ( n )
v=round ( rand ( 1 , n ) 1 0 0 )
p=v ( v/2==round ( v / 2 ) ) ;
p a r e s=length ( p )
n=v ( v/2=round ( v / 2 ) ) ;
i m p a r e s=length ( n )

Explicaci
on: Generamos un vector aleatorio redondeado con la siguiente instruccion v=round(rand(1,n)*100),
en la siguiente instrucci
on p=v(v/2==round(v/2)); sacamos los elementos pares del vector para luego ser contados elemento a elemento mediante pares=length(p) el comando round nos aproxima a valores enteros de
una divisi
on para los n
umeros impares procedemos como en los n
umeros pares n=v(v/2 =round(v/2)); para
impares la condici
on = permite relacionar entre valores impares.
Ejecuci
on
>> E j e r c i c i o 5 ( 4 )
v =
77

80

19

49

pares =
1

im p a r e s =
3
>>
Ejercicio 6
Programa Matlab
function E j e r c i c i o 6 ( n ,m)
v=round ( rand ( n ,m) 1 0 0 )
Explicaci
on: Para este caso usamos el rand(m,n)*100 en cual genera una matriz de m filas y n columnas para
ser n
umeros enteres nos ayudamos de una funcion round para transformacion a entero(redondeo al entero m
as
cercano) usualmente se lo llama casting en algunos lenguajes de programacion
Ejecuci
on
>> E j e r c i c i o 6 ( 1 , 2 )
v =
34

19

>> E j e r c i c i o 6 ( 4 , 3 )
v =
25
61
47
35

83
58
54
91

28
75
75
38

>>
5

Ejercicio 7
Programa Matlab
function E j e r c i c i o 7 ( n )
A=round ( rand ( n ) 1 0 0 )
V= [ 1 : n ]
a=round ( rand ( 1 ) 5 )
b=round ( rand ( 1 ) 5 )
f o r i =1:n
i f ( ( a>0)&&(a<=n)&&(b>0)&&(b<=n)&&(a=b ) )
aux1=A( a , : ) ;
A( a , : ) =A( b , : ) ;
aux2=V( 1 , a ) ;
A( b , : ) = aux1 ;
V( 1 , a)=V( 1 , b ) ;
V( 1 , b)=aux2 ;
break ;
else
disp ( Datos i n c o r r e c t o s )
break ;
end
end
A
V
Explicaci
on: Para la soluci
on de este ejercicio haremos uso de las siguientes instrucciones:
Creamos el vector (n n) mediante A=round(rand(n)*100) con el respectivo redondeo y n
umeros aleatorios
Creamos el vector ordenado de orden (n) V=[1:n] Los n
umeros aleatorios redondeados a=round(rand(1)*5)y
b=round(rand(1)*5)
creamos un bucle en este caso un ciclo for i=1:n empezando desde 1 hasta el valor de entrada de datos
con un paso o incremento de 1 de ahi entra aun ciclo if donde este comprobara la sentencia de los n
umeros
aleatorios que se encuentren dentro del n
umero de filas de nuestra matriz si cumple el caso realizara los
respectivos cambios usando un aux1=A(a,:) para que almacene las filas correspondientes de la matriz luego
A(a,:)=A(b,:); el valor que se encuentra en la posicion b se guarda en la posicion de a para luego A(b,:)=aux1;
lo que hay en aux se asigne en b se realiza el cambio y en el aux2=V(1,a) que nos permite guardar la posici
on
del elemento del vector se procede como en el caso anterior el uso de break; salta la linea en ejecuci
on ya que
se encuentra dentro del for y este por defecto afecta la instruccion del if y en el caso contrario else manda un
mensaje de datos incorrectos para luego al final observar los resultados
Ejecuci
on
>> E j e r c i c i o 7 ( 4 )
A =
92
8
48
13

25
88
20
12

54
31
38
79

84
68
42
64

V =

48
8
92
13

20
88
25
12

38
31
54
79

42
68
84
64

a =
1

b =
3

A =

V =

>>
Ejercicio 8
Programa Matlab
function E j e r c i c i o 8 ( n ,m)
A= [ ] ;
f o r j =1:m
f o r i =1:n
A( j , i ) =round ( rand ( 1 ) 1 0 0 ) ;
end
end
A
f o r i =1:m
f o r j=i : n
i f mod(A( i , j ) ,2)=0
i f j =n
aux=A( i , j ) ;
A( i , j )=A( i , j +1);
A( i , j +1)=aux ;
end
i f ( j==n ) && ( i =m)
aux1=A( i , j ) ;
A( i , j )=A( i + 1 , 1 ) ;
A( i +1,1)= aux1 ;
end
end
end
7

end
A
Explicaci
on: Creamos una matriz vaca para asignar los respectivos valores de filas y columnas para ubicar
valores en la matriz hacemos uso de ciclos for j=1:m y for i=1:n controla los valores de filas y columnas
tambien hacemos uso de nuestra funci
on rand() y round()para generar valores aleatorios enteros una vez
creado la matriz procedemos a la comparacion elemento por elemento para esto hacemos uso de ciclos for
para controlar posiciones de filas y columnas las condiciones del if permite la condicion de un n
umero no sea
par y que el elemento de dicha matriz sean diferentes una vez identificado los valores haremos los respectivos
cambios haciendo uso de un auxiliar que tomara el elemento de la matriz aux=A(i,j)luego toma el valor
del siguiente elemento A(i,j)=A(i,j+1); y el elemento que tiene el auxiliar es asignado a la posici
on del
elemento A(i,j+1)=aux; en otro caso se hace la comparacion entre elementos y posiciones de la matriz para el
intercambio que se menciono anteriormente en el caso anterior es la comparacion entre filas, en el nuevo caso
del if comparaci
on entre columnas para su intercambio.
Ejecuci
on
>> E j e r c i c i o 8 ( 3 , 4 )
A =
92
26
76
57

32
88
3
38

86
19
64
21

92
26
19
57

32
88
3
38

86
76
64
21

A =

>>
Ejercicio 9
Programa Matlab
function E j e r c i c i o 9 (m, n )
A=zeros (m, n ) ;
i f (m>0) && ( n>0) && (m==n )
f o r i =1:m
f o r j =1:n
i f abs ( i j )>1
A( i , j )=0;
else
A( i , j )=2(round ( rand ( 1 ) 1 0 ) + 1 ) ;
end
end
end
8

A
else
disp ( La m a t r i z debe s e r cuadrada )
end
Explicaci
on: Comenzamos creando la matriz cuadrada de (m n) creamos un condicional if para la verificaci
on que sea matriz cuadrada dentro del if entra a un ciclo for que controla las filas y dentro de ese for otro
for que controla las columnas creamos otro condicional if para que El valor absoluto de la resta entre filas y
columnas sea mayor que 1 caso contrario se manda a crear n
umeros randomicos pares
Ejecuci
on
>> E j e r c i c i o 9 ( 4 , 4 )
A =
4
2
0
0

8
22
18
0

0
18
4
6

0
0
8
12

>>
Referencias
http://www.mat.ucm.es/~jair/matlab/notas.htm
http://www.mathworks.com/help/matlab/ref/round.html
http://es.ccm.net/faq/2991-manipulacion-basica-de-matrices-en-matlab

Das könnte Ihnen auch gefallen