deber_2

9
 UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE Laboratorio de Matem´ aticas Danie l Sani 14/07/2015 Ejercicio 1 Programa Matlab t1=’ di gi ta lis ’ t2=’ nicoti ana ’ t3=’ basili cum ’ t4=’ lyc hnis ’ t5=’ chrysantemum ’ s=str2mat ( t1 , t2 , t3 , t5 ) % d 1= t o a s c i i ( t1 ) d1=toas c i i ( t1 ) Explicaci´ on: El coma ndo s=str2mat nos permite impri mir los caracteres de las v ariabl es cread as El comando toascii(t1)permite crear un arreglo de caracteres Ejecuci´ on > >  Ejercicio1 t 1 = digitalis t 2 = nicotiana t 3 = basilicum t 4 = lychnis 1

description

ejercicios matlab

Transcript of deber_2

  • UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE

    Laboratorio de Matematicas

    Daniel Sani

    14/07/2015

    Ejercicio 1

    Programa Matlab

    t1= d i g i t a l i s t2= n i c o t i a n a t3= bas i l i cum t4= l y c h n i s t5= chrysantemum s=str2mat ( t1 , t2 , t3 , t5 )%d1=t o a s c i i ( t1 )d1=t o a s c i i ( t1 )

    Explicacion:El comando s=str2mat nos permite imprimir los caracteres de las variables creadasEl comando toascii(t1)permite crear un arreglo de caracteres

    Ejecucion

    >> E j e r c i c i o 1

    t1 =

    d i g i t a l i s

    t2 =

    n i c o t i a n a

    t3 =

    bas i l i cum

    t4 =

    l y c h n i s

    1

  • t5 =

    chrysantemum

    s =

    d i g i t a l i sn i c o t i a n abas i l i cumchrysantemum

    >>

    Ejercicio 2

    Programa Matlab

    disp ( Ejemplos s t r c a t : )s1= Hola ;s2=como e s t a s ;s 1={ aeo , HIJ } ;s 2={ i o , HIJ } ;s=s t r c a t ( s1 , s2 )s =s t r c a t ( s 1 , s 2 )disp ( Ejemplos strcmp )c1= yes ;c2= yes ;c=strcmp ( s1 , s2 )c 1=strcmp ( c1 , c2 )t=strcmp ( s 1 , s 2 )disp ( Ejemplos f i n d s t r )k=f indstr ( s1 , s2 )k=f indstr ( s , l a )disp ( Ejemplos con str2num )t r1=str2num( p i )t r2=str2num( 15/14 )

    Explicacion: El comando strcat() concatena los caracteres en una sola fila ya sea unica cadena o un arreglode cadenas eliman los espacios en blanco y los agrupa en uno solo.El comando strcmp () funcion de comparacion de cadenas devuelve un valor de 0 si no son iguales y un 1 sison iguales no identifica mayusculas de minsculas estas cadenas pueden ser comparadas arreglos de caracterescadena de caracteres.La cadena findstr() busca elementos dentro de una cadena y los compara segun su lugar y si no encuentradevuelve un valor nulo [].El comando str2num()convierte una cadena de cracteres a su valor numero exacto

    Ejecucion

    >> E j e r c i c i o 2Ejemplos s t r c a t :

    s =

    2

  • Holacomo e s t a s

    s =

    aeoio HIJHIJ

    Ejemplos strcmp

    c =

    0

    c 1 =

    1

    t =

    0 1

    Ejemplos f i n d s t r

    k =

    [ ]

    k =

    3

    Ejemplos con str2num

    tr1 =

    3.1416

    t r2 =

    1.0714

    >>

    Ejercicio 3

    Programa Matlab

    rand (1)100

    3

  • Explicacion: La funcion genera numeros aleatorio comprendidos entre 0=1 mediante el rand() pero si multi-plicamos por obtenemos numeros aleatorio comprendidos entre 1 a 100 controla el rango de nuestro numerosaleatorios.

    Ejecucion

    >> 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 )100)

    Explicacion: Para generar un vector aleatorio nos ayudamos de la funcion v=round(rand(1,n)*100) donde nsera nuestro numero de elementos del vector pero estos numeros son decimales para ponerlos en parte enterausamos el round()quien nos aproxima a los valores enteros.

    Ejecucion

    >> E j e r c i c i o 4 (4 )

    v =

    28 5 10 82

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

    v =

    69 32 95 3 44 38

    >>

    Ejercicio 5

    Programa Matlab

    function E j e r c i c i o 5 (n)v=round(rand (1 , n )100)p=v ( v/2==round( v / 2 ) ) ;pares=length (p)n=v ( v/2=round( v / 2 ) ) ;impares=length (n)

    4

  • Explicacion: Generamos un vector aleatorio redondeado con la siguiente instruccion v=round(rand(1,n)*100),en la siguiente instruccion p=v(v/2==round(v/2)); sacamos los elementos pares del vector para luego ser con-tados elemento a elemento mediante pares=length(p) el comando round nos aproxima a valores enteros deuna division para los numeros impares procedemos como en los numeros pares n=v(v/2 =round(v/2)); paraimpares la condicion = permite relacionar entre valores impares.

    Ejecucion

    >> E j e r c i c i o 5 (4 )

    v =

    77 80 19 49

    pares =

    1

    impares =

    3

    >>

    Ejercicio 6

    Programa Matlab

    function E j e r c i c i o 6 (n ,m)v=round(rand (n ,m)100)

    Explicacion: Para este caso usamos el rand(m,n)*100 en cual genera una matriz de m filas y n columnas paraser numeros enteres nos ayudamos de una funcion round para transformacion a entero(redondeo al entero mascercano) usualmente se lo llama casting en algunos lenguajes de programacion

    Ejecucion

    >> 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 83 2861 58 7547 54 7535 91 38

    >>

    5

  • Ejercicio 7

    Programa Matlab

    function E j e r c i c i o 7 (n)A=round(rand (n )100)V=[1:n ]a=round(rand (1 )5)b=round(rand (1 )5)for i =1:n

    i f ( ( a>0)&&(a0)&&(b> E j e r c i c i o 7 (4 )

    A =

    92 25 54 848 88 31 68

    48 20 38 4213 12 79 64

    V =

    6

  • 1 2 3 4

    a =

    1

    b =

    3

    A =

    48 20 38 428 88 31 68

    92 25 54 8413 12 79 64

    V =

    3 2 1 4

    >>

    Ejercicio 8

    Programa Matlab

    function E j e r c i c i o 8 (n ,m)A= [ ] ;for j =1:m

    for i =1:nA( j , i ) =round(rand ( 1 )1 0 0 ) ;

    endendAfor i =1:m

    for j=i : ni f mod(A( i , j ) ,2)=0

    i f j =naux=A( i , j ) ;A( i , j )=A( i , j +1);A( i , j+1)=aux ;

    endi f ( j==n) && ( i=m)

    aux1=A( i , j ) ;A( i , j )=A( i +1 ,1) ;A( i +1,1)=aux1 ;

    endend

    end

    7

  • endA

    Explicacion: Creamos una matriz vaca para asignar los respectivos valores de filas y columnas para ubicarvalores en la matriz hacemos uso de ciclos for j=1:m y for i=1:n controla los valores de filas y columnastambien hacemos uso de nuestra funcion rand() y round()para generar valores aleatorios enteros una vezcreado la matriz procedemos a la comparacion elemento por elemento para esto hacemos uso de ciclos forpara controlar posiciones de filas y columnas las condiciones del if permite la condicion de un numero no seapar y que el elemento de dicha matriz sean diferentes una vez identificado los valores haremos los respectivoscambios haciendo uso de un auxiliar que tomara el elemento de la matriz aux=A(i,j)luego toma el valordel siguiente elemento A(i,j)=A(i,j+1); y el elemento que tiene el auxiliar es asignado a la posicion delelemento A(i,j+1)=aux; en otro caso se hace la comparacion entre elementos y posiciones de la matriz para elintercambio que se menciono anteriormente en el caso anterior es la comparacion entre filas, en el nuevo casodel if comparacion entre columnas para su intercambio.

    Ejecucion

    >> E j e r c i c i o 8 (3 , 4 )

    A =

    92 32 8626 88 1976 3 6457 38 21

    A =

    92 32 8626 88 7619 3 6457 38 21

    >>

    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)

    for i =1:mfor j =1:n

    i f abs ( ij )>1A( i , j )=0;

    elseA( i , j )=2(round(rand (1)10)+1) ;

    end

    end

    end

    8

  • Aelse

    disp ( La matr iz debe s e r cuadrada )end

    Explicacion: Comenzamos creando la matriz cuadrada de (m n) creamos un condicional if para la verifi-cacion que sea matriz cuadrada dentro del if entra a un ciclo for que controla las filas y dentro de ese for otrofor que controla las columnas creamos otro condicional if para que El valor absoluto de la resta entre filas ycolumnas sea mayor que 1 caso contrario se manda a crear numeros randomicos pares

    Ejecucion

    >> E j e r c i c i o 9 (4 , 4 )

    A =

    4 8 0 02 22 18 00 18 4 80 0 6 12

    >>

    Referenciashttp://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

    9