Ejercicios Matlab Cap02 Vectores

download Ejercicios Matlab Cap02 Vectores

of 24

Transcript of Ejercicios Matlab Cap02 Vectores

  • 8/16/2019 Ejercicios Matlab Cap02 Vectores

    1/24

    Vectores y Matrices 1

    Universidad Nacional de San Agustín de Arequipa

    CURSO DE MATLAB BASCO

    CA!TULO

    "ECTORES # MATRCES$ARRA#S%El array (arreglo) es una estructura fundamental que MatLab utiliza para almacenar ymanipular datos.En los arreglos unidimensionales (vectores) los números están agrupados en filas ocolumnas.En los arrays bidimensionales (matrices) los elementos se distribuyen en filas ycolumnas.

    &'( Creaci)n de "ectoresUn vector es una sucesin de números (elementos) distribuidos en una fila ocolumna.

    a% Creaci)n de un vector a partir de una lista!e deberá teclear los números (elementos) dentro de corc"etes # $Nombre_variable = [elementos del vector] 

    %ector fila& entre cada elemento una coma o espacio' dentro de corc"etes

    %ector columna& entre cada elemento teclearse punto y coma (*)Eemplo * +.,& -ados los datos de una tabla demográfica

     /o ,012 ,013 ,011 ,004 ,00+ ,002 ,003

    5oblacin(millones)

    ,+6 ,74 ,73 ,28 ,81 ,61 +,,

    9enerar un vector fila y un vector columna&

    Solución::: yr;#+44, +44+ +447 +442 +448 +443$yr ;  +44, +44+ +447 +442 +448 +443:: yr,;#+446'+441'+440$yr, ;  +446 +441 +440

    9enerar un vector columna:: pob;#,+6

  • 8/16/2019 Ejercicios Matlab Cap02 Vectores

    2/24

    Vectores y Matrices 2  

    Eemplo * +.+& 9enerar un vector fila y vector columna con valores de ,4 a ,1'con incrementos de ,.Solución:

    :: a;#,4&,1$

    a ;

      ,4 ,, ,+ ,7 ,2 ,8 ,3 ,6 ,1

    :: a;#,4&,1$=a ;  ,4  ,,  ,+  ,7  ,2  ,8  ,3  ,6  ,1

    Eemplo * +.7& 9enerar los siguientes vectores&

    a) %ector fila con valores entre , a ,7' con incrementos de +b) %ector fila con valores entre ,.8 a +.,' con incrementos de 4.,c) %ector columna con valores entre >,4 a >1.8< con incrementos de 4.+

    Solución

    a%:: ?;#,&+&,7$? ;  , 7 8 6 0 ,, ,7

    +%:: y;#,.8&4.,&+.,$y ; ,.8444 ,.3444 ,.6444 ,.1444 ,.0444 +.4444 +.,444

    c%:: s;#>,4&4.+&>1.8$=s ;  >,4.4444  >0.1444  >0.3444  >0.2444

      >0.+444  >0.4444  >1.1444  >1.3444

    c% Creaci)n de un vector con intervalo constante a partir de laespeci,icaci)n del pri-er 0 1lti-o t.r-ino/ así co-o el n1-ero det.r-inos'

    Nombre_variable = linspace(xi,xf,n)

    Eemplo *+.2& 9enerar un vector de 3 elementos ' empezando en 4 y

    terminando en 1:: va;linspace(4'1'3)va ;  4 ,.3444 7.+444 2.1444 3.2444 1.4444

    Eemplo *+.8& 9enerar un vector de ,, elementos empezando en 74 yterminando en ,4:: vb;linspace(74',4',,)vb ;  74 +1 +3 +2 ++ +4 ,1 ,3 ,2 ,+ ,4

    Eemplo *+.3& 9enerar un vector fila de 8 elementos con número aleatorios:: rand(,'8)ans ;

    Ing. Héctor G. Bolaños Sosa

  • 8/16/2019 Ejercicios Matlab Cap02 Vectores

    3/24

    Vectores y Matrices 3

      4.7407 4.1718 4.831, 4.7642 4.64+6

    Eemplo *+.6& generar una vector columna de 8 elementos con númerosaleatorios:: rand(8',)ans ;  4.72+4  4.+106  4.72,+  4.872,  4.6+6,

    Nombre_variable = logspace(a,b)9enera un vector fila de de 84 puntos de logaritmos entre ,4@ y ,4b.

    :: logspace(,'+)ans ;Aolumns , t"roug" 8

      ,4.44 ,4.21 ,4.00 ,,.8, ,+.46 BBB..

    Aolumns 23 t"roug" 84  1+.13 13.18 0,.47 08.2, ,44.44

    Nombre_variable = logspace(a,b,n)9enera un vector fila de n elementos de logaritmos entre ,4@ y ,4b

    :: logspace(,'+'8)ans ;  ,4.44 ,6.61 7,.3+ 83.+7 ,44.44

    :: y;logspace(,'7'7)

    y ;  ,4 ,44 ,444

    r;logspace(,'2'2)r ;  ,4 ,44 ,444 ,4444

    :: format banC:: s;logspace(,'7'2)s ;  ,4.44 23.2+ +,8.22 ,444.44

    &'& Creaci)n de MatricesUna matriz se define por< el número de filas y por el número de columnas. sD una matriz de m x n' tiene m filas y n columnas' y el producto de m or n nosda el tama/o de la matriz

    Nombre_variable = [elementos 1ra fila; elementos da fila! elementos "ra fila;  elementos #ta fila; $%%; elementos &ltima fila]

    Los elementos de una fila pueden estar separados con coma (') o por un espacio.!e debe colocar punto y coma (

  • 8/16/2019 Ejercicios Matlab Cap02 Vectores

    4/24

    Vectores y Matrices !

    Eemplo *+.1& 9enerar una matriz 7?7' con elementos números cualesquiera.Usar (

  • 8/16/2019 Ejercicios Matlab Cap02 Vectores

    5/24

    Vectores y Matrices "  

    c) Matriz cuadrada de 8?8' la diagonal debe ser unos' el resto deelementos son ceros

    Solución:

    :: zr;zeros(7'2)zr ;  4 4 4 4  4 4 4 4  4 4 4 4

    :: nu;ones(2'7)nu ;  , , ,  , , ,  , , ,  , , ,

    :: dia;eye(8)dia ;  , 4 4 4 4  4 , 4 4 4  4 4 , 4 4  4 4 4 , 4  4 4 4 4 ,

    &'3 Operador de transposici)nos permite transformar las filas en columnas y viceversa

    Este operador se e?presa con una comilla simple (4)

    Eemplo *+.,7& !ea el vector fila G; #2 3 1$< transformar a vector columna

    :: ;#2 3 1$  ;  2 3 1

    :: ;#2 3 1$=  ;  2  3  1

    Eemplo *+.,2& !ea el vector columna anterior' transformar a vector fila:: GG;=GG ;  2 3 1

    Eemplo *+.,8& 9enerar una matriz de 7 ? +' usando el comando rand' luegotransformar las filas en columnas. Usar variables para definir las matrices

    :: ;rand(7'+)  ;  4.8++3 4.0606  4.114, 4.+6,2  4.,674 4.+8+7

    :: G;=G ;  4.8++3 4.114, 4.,674  4.0606 4.+6,2 4.+8+7

    MAN!ULACON DE ARRA#S

    &'5 E6tracci)n de ele-entosLos elementos de un array (vector o matriz) se pueden manipular individualmenteo en grupo.!e pueden e?traer elementos de los vectores o de las matrices desde algunaposicin(es) especDfica (s)' para una posterior operacin.

    &'5'( "ectoresLa direccin de un elemento de un vector es su posicin en la Kila o columna

    ve;#,4 +4 74 24$

    ve(+);+4  ve(2);24ve(C)< donde C es la posicin del elemento C del vector ve

    Ing. Héctor G. Bolaños Sosa

  • 8/16/2019 Ejercicios Matlab Cap02 Vectores

    6/24

    Vectores y Matrices #  

    ve$n%7 Una posici)nve$n7-%7 posiciones ad8untasve$9a c e:%7 varias posiciones no ad8untas

    Eemplo *+.,3& 9enerar un vector de 6 elementos' iniciando con , y

    terminando en ,4 (usar linspace). ealizar las siguientes operaciones&a) E?traer la posicin +' 7 y 2b) signar a variables las posiciones + y 6c) Efectuar una suma de los elementos + y 2

    d) Efectuar la e?presin&  2

    (1) (7) pos pos+

    e) Aambiar los valores del vector original' en las posiciones 7 con 244 y en laposicin , con ,44

    Solución::: ve;linspace(,',4'6)ve ;

      ,.4444 +.8444 2.4444 8.8444 6.4444 1.8444 ,4.4444a% :: ve(+)ans ;  +.8444

    :: ve(7)'ve(2)ans ;  2ans ;  8.8444+% !e pueden asignar a variables:: valor+;ve(+)

    valor+ ;  +.8444

    :: valor6;ve(6)valor6 ;  ,4

    c% !e pueden efectuar operacionesmatemáticas: suma;ve(+)ve(2)suma ;  1

    d% :: valor;ve(,)J+sqrt(ve(6))

    valor ;  2.,3+7

    e% Se pueden ca-+iar los valores del vector :: ve(7);244ve ;  ,.4444 +.8444 244.4444 8.8444 6.4444 1.8444 ,4.4444

    :: ve(,);,44ve ;  ,44.4444 +.8444 244.4444 8.8444 6.4444 1.8444 ,4.4444

    Uso de los dos puntos $7% en la -anipulaci)n de vectoresLos dos puntos se usan para acceder a un rango de elementos dentro de unvector 

    va$7%& se refiera a todos los elementos del vector va (columna o fila)va$n7-%& se refiere a los elementos comprendidos entre las posicionesn y m

    Eemplo *+.,6& E?traer posiciones aduntas9enerar un vector fila iniciando en , "asta +4' con incrementos de +. E?traer los elementos de la posicin 7 a la 6Solución:

    :: vb;#,&+&+4$vb ;  , 7 ; < = (( (3  ,8 ,6 ,0

    Ing. Héctor G. Bolaños Sosa

  • 8/16/2019 Ejercicios Matlab Cap02 Vectores

    7/24

    7 ,, 3 8

    2 6 ,4 +

    ,7 0 4 1

    M.N(,',)

    M.N(+'7)

    Vectores y Matrices $  

    :: u;vb(7&6)u ;  8 6 0 ,, ,7

    Area un vector a partir de loselementos 7 al 6 del vector vb

    Eemplo *+.,1& E?traer posiciones O aduntas9enerar un vector fila iniciando en ,4 "asta 64' con incrementos de ,4. E?traer las posiciones , 7 y 3

    Solución:

    :: v;#,4&,4&64$v ;  (>  +4 3>  24 84 ?>  64

    :: v(#, 7 3$)ans ;  ,4 74 34

    &'5'& MatricesLa direccin de un elemento de una matriz está definida a partir del número

    de fila (C) y columna (p) de la misma matriz

    5ara el caso de elementos adyacentes se tienen los siguientesformatos&

    MAT$@/p%7 Un solo ele-entoMAT$a7+/7%7 ,ilas ad0acentesMAT$7/c7d%7 colu-nas ad0acentesMAT$a7B/c7d%7ntersecci)n de ,ilas 0 colu-nas ad0acentes

    5ara el caso de elementos no adyacentes se tienen los siguientes

    formatos&

    MAT$9a c:/d%7 ilas a 0 c/ de la colu-na dMAT$9a c:/7%7 ilas a 0 c/ con todas las colu-nasMAT$9a c:/9d ,:%7 ntersecci)n de ,ilas a 0 c con colu-nas d 0,

    Eemplo *+.,0& 9enerar la matriz que se muestra adunta' y efectuar lassiguientes operaciones&a) E?traer el elemento (,',)b) E?traer el elemento (+'7)c) Aambiar el elemento (7',) por el valor ,74d) !umar el elemento (+'2) con el elemento(,'+)

    Solución:

    : MN;#7 ,, 3 8

  • 8/16/2019 Ejercicios Matlab Cap02 Vectores

    8/24

    Vectores y Matrices %  

    ans ;  ,4

    ans ;  ,7

    Uso de los dos puntos $7% en la -anipulaci)n de -atricesLos dos puntos se usan para acceder a un rango de elementos dentro de unamatriz

     (&'n)& !e refiere a los elementos de la columna n de la matriz  (n'&)& !e refiere a los elementos de la fila n de la matriz  (&'m&n)& !e refiere a los elementos entre las columnas m y n de la matriz  (m&n'&)& !e refiere a los elementos entre las filas m y n de la matriz  (m&n'p&q)& !e refiere a los elementos de la fila m a la n' y a los de lacolumna p a la q de la matriz

    Eemplo *+.+4& Elementos dyacentes!ea la matriz que se muestra' desarrollar lo siguiente&a) E?traer elementos de la tercera columna

    b) E?traer elementos de la segunda filac) E?traer elementos de la última columnad) E?traer elementos de la última filae) E?traer elementos de las filas + y 7f) E?traer elementos de las columnas + y 7g) E?traer elementos de las filas , y +' y las columnas + y 7

    Solución:: MN;#7 ,, 3 8

  • 8/16/2019 Ejercicios Matlab Cap02 Vectores

    9/24

    Vectores y Matrices &

    e%:: K;MN(+&7'&)K ;  2 6 ,4 +  ,7 0 4 1

    -efine el vector K' a partir delos elementos de las filas + y7 de la matriz MN

    7 ,, 3 8

    2 6 ,4 +

    ,7 0 4 1   K   i   l  a  s

       +

      a

       7

    ,%:: 9;MN(&'+&7)9 ;  ,, 3  6 ,4  0 4

    -efine el vector 9' a partir de los elementos de lascolumnas + y 7 de la matrizMN

    %:: P;MN(,&+'+&7)P ;  ,, 3  6 ,4

    -efine el vector P' a partir de los elementos de las filas, a +' columnas + a 7 de lamatriz MN. Los elementosresultantes son los

    intersectados

    7   ,,   3   8

    2   6   ,4   +

    ,7   0 4   1

    Aolumnas + a 7

       K

       i   l  a  s

       ,

      a

       +

    Eemplo *+.+,& E?traccin de elementos O adyacentes9enerar una matriz de 2 ? 2 con números aleatorios' estos debenmultiplicarse por el escalar ,4. -esarrollar lo siguiente&a) E?traer los elementos de la interseccin entre las filas , y 7< y de la

    columna +b) E?traer todos los elementos de las filas , y 7.c) E?traer los elementos de las intersecciones de las filas + y 7< y de las

    columnas + y 2d) E?traer los elementos de las intersecciones de las filas , y 7< y de las

    columnas + y 2Solución::: ;rand(2)H,4  ;  ,.,+ 3.32 6.41 0.47  2.27 6.+2 6.12 2.8,  2.36 +.1+ 0.13 1.48  4.,8 +.3+ 2.67 1.+0

    a%:: (#, 7$'+)

    ans ;  3.32  +.1+

    ,.,+

    2.27

    2.36

    4.,8

    3.32 6.41 0.47

    2.8,

    1.48

    1.+02.67+.3+

    +.1+

    6.+2 6.12

    0.13

    Ing. Héctor G. Bolaños Sosa

  • 8/16/2019 Ejercicios Matlab Cap02 Vectores

    10/24

    Vectores y Matrices 1'  

    +%:: (#, 7$'&)ans ;  ,.,+ 3.32 6.410.47  2.36 +.1+ 0.131.48

    ,.,+

    2.27

    2.36

    4.,8

    3.32 6.41 0.47

    2.8,

    1.48

    1.+02.67+.3+

    +.1+

    6.+2 6.12

    0.13

    c%:: (#+ 7$'#+ 2$)ans ;  6.+2 2.8,  +.1+ 1.48

    ,.,+

    2.27

    2.36

    4.,8

    3.32 6.41 0.47

    2.8,

    1.48

    1.+02.67+.3+

    +.1+

    6.+2 6.12

    0.13

    d%:: (#, 7$'#+ 2$)ans ;  3.32 0.47  +.1+ 1.48

    ,.,+

    2.27

    2.36

    4.,8

    3.32 6.41 0.47

    2.8,

    1.48

    1.+02.67+.3+

    +.1+

    6.+2 6.12

    0.13

    Eemplo *+.++& Elementos o adyacentes9enerar una matriz cuadrada de 8?8' usando la funcin rand' desarrollar lassiguientes operaciones&a) E?traer las filas ,' 7 y 8

    b) E?traer las filas ,' 7 y 8' de la columna +c) E?traer las filas ,' 7 y 8' de las columnas + a la 2

    Solución::: ;rand(8)  ;  4.2226 4.,637 4.1073 4.,710 4.,011  4.3,82 4.2486 4.4860 4.+4+1 4.4,87  4.60,0 4.0788 4.78+0 4.,016 4.6231  4.0+,1 4.0,30 4.1,7+ 4.3471 4.228,  4.671+ 4.2,47 4.4400 4.+6++ 4.07,1:: (#, 7 8$'&)

    ans ;  4.2226 4.,637 4.1073 4.,710 4.,011  4.60,0 4.0788 4.78+0 4.,016 4.6231  4.671+ 4.2,47 4.4400 4.+6++ 4.07,1:: (#, 7 8$'+)ans ;  4.,637  4.0788  4.2,47:: (#, 7 8$'+&2)ans ;  4.,637 4.1073 4.,710

      4.0788 4.78+0 4.,016  4.2,47 4.4400 4.+6++

    Ing. Héctor G. Bolaños Sosa

  • 8/16/2019 Ejercicios Matlab Cap02 Vectores

    11/24

    Vectores y Matrices 11

    &'; Creaci)n de nuevos$as% vectores 0 -atrices a partir de otras$os% e6istentes!e debe teclear los elementos seleccionados (asD como las filas y columnas)

    Nuevovector"ector$a7e% uevo vector que tiene elementosdesde posicin QaR "asta posicin QeRNuevovector"ector$9a c e:% uevo vector que tieneelementos de posiciones QaR' QcR y QeR

    Eemplo *+.+7& 9enerar un vector QviniR de 8 elementos' iniciando en ,4 "asta el84' con incrementos de ,4.a) partir del vector inicial QviniR' generar otro vector %,' que contenga los

    elementos desde la posicin 7 la 8b) partir del vector inicial QviniR' generar otro vector %+' que contenga los

    elementos de las posiciones ,'7 y 8!olucin&

    :: vini;#,4&,4&84$

    vini ;  ,4 +4 74 24 84a% :: %,;vini(7&8)%, ;  74 24 84

    +%:: %+;vini(#, 7 8$)

    %+ ;  ,4 74 84

    Eemplo *+.+2& 9enerar un vector de ,, elementos' luego crear un nuevo vector apartir del tercero' quinto y del sptimo al dcimo elemento

    :: v;2&7&72v ;  2 6 (>  ,7 (?  ,0 && &; & 3(  72

    :: u;v(#7'8'6&,4$)u ;  ,4 ,3 ++ +8 +1 7,

    Nueva -atri2 Matri2$,ilas/ colu-nas% 5ara generar matrices conelementos adyacentesNueva Matri2 Matri2$9,ilas:/9colu-nas:% 5ara generar matricescon elementos O adyacentes

    Eemplo *+.+8& 9enerar una matriz QR de 2?2' usando el comando rand' luegoefectuar las siguientes operaciones&a) partir de la matriz inicial QR' generar el vector M, que tenga todos los

    elementos de la primera fila.b) partir de la matriz inicial QR' generar el vector M+ que tenga todos los

    elementos de la ultima fila.c) partir de la matriz inicial QR' generar la matriz M7 que tenga todos los

    elementos de las filas + a la 2.d) partir de la matriz inicial QR' generar la matriz M2 que tenga todos los

    elementos de las filas + y la 2.e) partir de la matriz inicial QR' generar la matriz M8 que tenga todos los

    elementos de la interseccin de las filas , y 7' con las columnas , y 2

    :: ;rand(2)  ;  4.2334 4.+4+3 4.31,7 4.6408  4.2,13 4.36+, 4.7608 4.2+10

      4.123+ 4.171, 4.17,1 4.7423  4.8+8+ 4.4,03 4.84+1 4.,106

    c%:: M7;(+&2'&)M7 ;  4.2,13 4.36+, 4.7608 4.2+10  4.123+ 4.171, 4.17,1 4.7423

      4.8+8+ 4.4,03 4.84+1 4.,106

    Ing. Héctor G. Bolaños Sosa

  • 8/16/2019 Ejercicios Matlab Cap02 Vectores

    12/24

    Vectores y Matrices 12  

    a%: M,;(,'&)M, ;  4.2334 4.+4+3 4.31,7 4.6408+%:: M+;(&'end)M+ ;  4.6408  4.2+10  4.7423  4.,106

    d%:: M2;(#+ 2$'&)M2 ;  4.2,13 4.36+, 4.7608 4.2+10  4.8+8+ 4.4,03 4.84+1 4.,106

    e%:: M8;(#, 7$'#, 2$)M8 ;  4.2334 4.6408  4.123+ 4.7423

    Eemplo *+.+3& 9enerar una matriz de 7 ? 7' usando el comando rand' a partir de esta matriz crear una matriz G que contenga los elementos de las columnas , y7

    :: ;rand(7)  ;  4.1686 4.4,,1 4.+016

      4.6767 4.1070 4.33,2  4.,738 4.,00, 4.+122

    :: G;(&'#,'7$)G ;  4.1686 4.+016

      4.6767 4.33,2  4.,738 4.+122

    Eemplo *+.+6& 9enerar una matriz A de 7 ? 7' usando el comando rand' a partir de esta matriz crear una matriz - que contenga los elementos de las filas , y 7Solución:

    :: A;rand(7)A ;  4.230+ 4.81+1 4.7724  4.4321 4.2+78 4.27+0  4.0117 4.8,88 4.++80

    :: -;A(#,'7$'&)- ;  4.230+ 4.81+1 4.7724  4.0117 4.8,88 4.++80::-;A(#,'7$'&)- ;

      4.230+ 4.81+1 4.7724  4.0117 4.8,88 4.++80

    Eemplo *+.+1& 9enerar una matriz 7 ? 2< luego deberá generar otra matriz G quecontenga los elementos de las filas , y 7< asD como las columnas + y 7< loselementos resultantes son intersectados

    MN ;  7 ,, 3 8  2 6 ,4 +  74 0 4 1

    :: G;MN(#,'7$'#+'7$)G ;  ,, 3  0 4

    &'? Adici)n de nuevos ele-entos a varia+les 0a creadasUna variable que ya sido creada se le puede alterar insertando nuevos elementos.

    &'?'( Adici)n de ele-entos a un vector Un vector que tiene QnR elementos' se le puede a/adir nuevos elementos.-ebe e?istir una correspondencia entre las posiciones a adicionar y lacantidad de elementos a/adidos

    v$a7e%9e( e& e3 e5 e;:  diciona 8 elementos desde la posicinQaR "asta a posicin QeRv$9a c:%9e( e3:  diciona + elementos en las posiciones a y c

    Eemplo *+.+0& 5osiciones adyacentes-efinir un vector con 2 elementos' a/adir 7 elementos' desde la posicin 8

    Ing. Héctor G. Bolaños Sosa

  • 8/16/2019 Ejercicios Matlab Cap02 Vectores

    13/24

    Vectores y Matrices 13

    :: v;#,&2$v ;  , + 7 2:: v(8&6);#,4'+4'74$v ;  , + 7 2 ,4 +4 74

    !e crea el vector v de 2 elementos.Luego al mismo vector QvR' se lea/ade 7 elementos (,4'+4 y 74)'quedando finalmente un vector de 6elementos

    Eemplo *+.74& -os o más posiciones consecutivas-efinir un vector de 8 elementos' insertar nuevos elementos en lasposiciones + y 7.

    : a;#,&8$a ;  , + 7 2 8:: a(+&7);#+4'74$a ;  , +4 74 2 8

    !e crea el vector a de 8 elementos.Luego al mismo vector QaR' se lea/ade + elementos (+4 y 74)' en lasposiciones + y 7

    Eemplo *+.7,& Aualquier posicin-efinir un vector de 3 elementos' insertar nuevos elementos en lasposiciones +' 2 y 3.

    :: ;#,&3$  ;  , + 7 2 8 3:: (#+ 2 3$);#+7 74 24$  ;  , &3  7 3>  8 5>

    !e crea el vector de 3 elementos.Luego al mismo vector QR' se lea/ade 7 elementos (+7' 74 y 24)' enlas posiciones +' 2 y 3

    Eemplo *+.7+& Snsertando otro vector 

    Snsertar nuevos elementos a un vector a/adiendo un vector e?istente.Mostrar los valores en forma de vector fila y vector columna

    :: ;#,&2$  ;  , + 7 2:: G;#8&+&,+$G ;  8 6 0 ,,:: G;#'G$ G ;  , + 7 2 8 6 0 ,,

    :: G;#=

  • 8/16/2019 Ejercicios Matlab Cap02 Vectores

    14/24

    Vectores y Matrices 1!

    Eemplo *+.77& 5osicin adyacenteArear una matriz de + ? +' luego insertar el valor +7 en la posicin (+'7)

    :: ;#, + 7 2

  • 8/16/2019 Ejercicios Matlab Cap02 Vectores

    15/24

    Vectores y Matrices 1"  

      8 3 6 1 8 3 6 1  74 7+ 72 73

    Eemplo *+.70& -efinir una matriz aleatoria de 7 ? 7' luego a/adir unvector de 7 elementos a la cuarta columna

    :: A;rand(7)A ;  4.2,47 4.78+0 4.,710  4.1073 4.1,7+ 4.+4+1  4.4860 4.4400 4.,016

    :: A(&'2);#,4' +4'74$A ;  4.2,47 4.78+0 4.,710 ,4.4444  4.1073 4.1,7+ 4.+4+1 +4.4444  4.4860 4.4400 4.,016 74.4444

    Eemplo *+.24& Tuntar dos matrices-efinir dos matrices aleatorias de 7 ? + y de 7 ? 7' luego untar las dosmatrices

    :: ;rand(7'+)  ;  4.31,7 4.84+1

      4.7608 4.6408  4.17,1 4.2+10:: G;rand(7)G ;  4.7423 4.31++ 4.,840  4.,106 4.74+1 4.3060  4.,072 4.82,6 4.7612

    :: G;#'G$ G ;  4.31,7 4.84+1 4.7423 4.31++ 4.,840

      4.7608 4.6408 4.,106 4.74+1 4.3060  4.17,1 4.2+10 4.,072 4.82,6 4.7612

    &'< Eli-inaci)n de ele-entosUn elemento o rango de elementos' de una variable e?istente puede ser eliminado'asignando el conunto vacDo # $ (corc"etes sin elementos en su interior.Esta operacin puede ser llevada a cabo para vectores o para matrices

    En el caso de matrices se tiene que eliminar toda la fila o toda la columna

    "$n% 9 :  Elimina el elemento de la posicin QnR"$a7e% 9 :  Elimina elementos de las posiciones adyacentes QaR "asta QeRMat$a/c% 9 :  Elimina elementos de matriz de las posiciones en fila a y columna c

    Eemplo *+.2,& 9enerar un vector con el comando linspace' de 3 elementos'iniciando en , y terminando en ,4. Luego eliminar el valor de la posicin 2

    :: A;linspace(,',4'3)A ; ,.4444 +.1444 2.3444 ?'5>>>  1.+444,4.4444

    :: A(2);# $A ; ,.4444 +.1444 2.3444 1.+444 ,4.4444

    Eemplo *+&2+& 9enerar un vector de 8 elementos' eliminar las posiciones + a 2

    :: -;#,&8$- ;  , + 7 2 8

    :: -(+&2);# $- ;  , 8

    Eemplo *+.27& 9enerar un vector de 8 elementos' eliminar las posiciones , y 7

    :: v;#,4&,4&84$v ;

      (>  +4 3>  24 84

    :: v(#, 7$);# $v ;

      +4 24 84

    Ing. Héctor G. Bolaños Sosa

  • 8/16/2019 Ejercicios Matlab Cap02 Vectores

    16/24

    Vectores y Matrices 1#  

    Eemplo +.22& 9enerar una matriz de 7 ? 7' luego eliminar la columna +

    :: M;rand(7)M ;  4.8++3 4.0606 4.1686  4.114, 4.+6,2 4.6767  4.,674 4.+8+7 4.,738

    :: M(&'+);# $M ;  4.8++3 4.1686  4.114, 4.6767  4.,674 4.,738

    Eemplo *+.28& 9enerar una matriz de 7 ? 7' luego eliminar las columnas , y 7

    :: M;rand(7)M ;  4.4,,1 4.+016 4.230+  4.1070 4.33,2 4.4321  4.,00, 4.+122 4.0117

    :: M(&'#, 7$);# $M ;  4.+016  4.33,2  4.+122

    Eemplo *+.23& 9enerar una matriz aleatoria de 7 ? 8' eliminar las columnas + a la2

    :: ;rand(7'8)

      ;  4.300+ 4.8821 4.6,80 4.+821 4.1420  4.6+68 4.,+,4 4.10+1 4.1383 4.0412  4.2612 4.2841 4.+67, 4.+7+2 4.+7,0

    :: (&'+&2);# $

      ;  4.300+ 4.1420  4.6+68 4.0412  4.2612 4.+7,0

    Eemplo *+.26& 9enerar una matriz aleatoria de 7 ? + ' eliminar las fila +

    :: E;rand(7'+)E ;  4.,670 4.2701  4.,641 4.7244  4.0027 4.7,2+

    :: E(+'&);# $E ;  4.,670 4.2701  4.0027 4.7,2+

    &' unciones para -anipulaci)n de arra0s%erificar en la ventana yuda de Matlab' siguiendo&%entana yuda' Kunciones por categorDa' matemáticas' arrays y matrices

    Nabla *+.,& Kunciones MNLG para manipulacin de arrays

    Kuncin -escripcin Eemplo

    Lengt"() -evuelve el número deelementos de

    :: ;#,4 +4 74 24$  ;  ,4 +4 74 24:: lengt"()

    ans ;!ize() -evuelve un vector fila'donde m y n representanel tama/o del array

    :: size()ans ;  , 2

    diag(v) !i v es un vector' estecomando crea una matrizcuadrada con loselementos de v en ladiagonal

    :: v;#,4 +4 74$v ;  ,4 +4 74:: diag(v)ans ;  ,4 4 4  4 +4 4  4 4 74

    diag() !i es una matriz' estecomando crea un vector a

    :: ;rand(7'7)H,4  ;

    Ing. Héctor G. Bolaños Sosa

  • 8/16/2019 Ejercicios Matlab Cap02 Vectores

    17/24

    Vectores y Matrices 1$  

    partir de los elementos dela diagonal de

      7.3841 ,.,068 1.3016  7.07+2 4.71,7 0.72+2  8.0,87 2.8134 +.3228:: diag()ans ;  7.3841  4.71,7  +.3228

    &'= Cadenas de caracteres 0 varia+les tipo stringUna cadena o QstringR es un QarrayR de caracteres. 5ara crear una cadena slo esnecesita teclear los caracteres que la forman entre comillas simples.Aada elemento de la cadena tiene una ubicacin

    Eemplo *+.21& 9enerar dos cadenas de caracteres a dos variables (a y b)

    :: a;="ola=

    a ;"ola

    :: b;=mi nombre es Pctor=

    b ;mi nombre es Pctor 

    Auando a una variable se le asigna una variable' cada carácter le corresponde unaposicin en el array.

    Eemplo *+.20& En el eercicio anterior' e?traer la posicin , de la variable QaR y laposicin 2 de la variable QbR

    :: a(,)ans ;"

    :: b(2)ans ;n

    !e pueden reemplazar elementos de la cadena (deben ser mismo tama/o).

    Eemplo *+.84& la variable QbR' cambiar el nombre de Pctor por de Matias

    :: b;=mi nombre es Pctor=b ;

    mi nombre es Pctor 

    :: b(,2&,0);=Matias=b ;mi nombre es Matias

    Las cadenas se pueden almacenar en una matriz' usando la funcin c(ar 

    No-+revaria+le car$4cadena (F/ 4cadena &F/ G'/ 4cadena nF%

    Eemplo *+.8,& 9enerar una matriz que contenga la siguiente informacin&a) ombreb) Tuan 5erezc) Edadd) +4 a/os

    ::-ata;c"ar(=ombre&='=Tuan 5erez='=Edad&='=+4 a/os=)-ata ;ombre&Tuan 5erezEdad&+4 a/os

    Ing. Héctor G. Bolaños Sosa

  • 8/16/2019 Ejercicios Matlab Cap02 Vectores

    18/24

    Vectores y Matrices 1%  

    !ROBLEMAS

    (' Arear un vector cuyo valor inicial sea +44 y su valor final sea ,84' losvalores deben decrecer de ,4 en ,4Solución:)) M*+2'':,1':1"'- M *  2'' 1&' 1%' 1$' 1#' 1"' 

    &' -el vector M< almacenar en variables los elementos tercero y quinto yluego efectuar una suma de estos elementos:: M;#+44&>,4&,84$M ;  +44 ,04 ,14 ,64 ,34 ,84:: %7;M(7) %7 ;

      ,14:: %8;M(8) %8 ;  ,34:: !;%7%8! ;  724

    3' Mostrar los elementos que están entre la segunda "asta la quintaubicacin:: A;M(+&8)A ;

      ,04 ,14 ,64 ,34

    5' Aree un vector fila que contenga los elementos& 7+' 2 ' 1,' e +.8' cos(piI7) y ,2.,+Solución::: ve,;#7+'2'1,'e?p(+.8)'cos(piI7)',2.,+$ve, ;  7+.4444 2.4444 1,.4444 ,+.,1+8 4.8444 ,2.,+44

    ;' Aree un vector columna que contenga los elementos& 88',2'ln(8,)' 016y 8sen(+.8)Solución:

    vec+;#88',2'log(8,)'016'8Hsin(+.8Hpi)$=vec+ ;  88.4444  ,2.4444  7.07,1  016.4444  8.4444

    vec+;#88',2'log(8,)'016'8Hsin(+.8Hpi)$< res"ape(vec+'8',)ans ;  88.4444  ,2.4444  7.07,1  016.4444

      8.4444

    ?' Aree un vector fila en el cual el primer elemento sea , y el últimoelemento sea 77' con incrementos de + entre cada elemento.Solución::: vec7;#,&+&77$

    Ing. Héctor G. Bolaños Sosa

  • 8/16/2019 Ejercicios Matlab Cap02 Vectores

    19/24

    Vectores y Matrices 1&

    vec7 ;  Aolumns , t"roug" ,3

    , 7 8 6 0 ,, ,7 ,8 ,6 ,0 +, +7 +8 +6 +0 7,  Aolumn ,6

    77

    8' y donde el último elemento sea >+8Solución::: vect2;#,8&>8&>+8$=vect2 ;  ,8  ,4  8  4  >8  >,4

      >,8  >+4  >+8

    ' Aree un vector fila con ,8 elementos con iguales incrementos' en elcual el primer elemento sea 6 y el último 24Solución::: vect8;linspace(6'24',8)vect8 ;  Aolumns , t"roug" 0

    6.4444 0.786, ,,.6,27 ,2.46,2 ,3.2+13 ,1.6186 +,.,2+0 +7.8444+8.186,

      Aolumns ,4 t"roug" ,8+1.+,27 74.86,2 7+.0+13 78.+186 76.32+0 24.4444

    =' Aree un vector columna con ,+ elementos igualmente espaciados' en elcual el primer elemento sea >, y el último sea >,8Solución::: vect3;linspace(>,'>,8',+)vect3 ;  Aolumns , t"roug" 0

    >,.4444 >+.+6+6 >7.8288 >2.1,1+ >3.4040 >6.7373 >1.3732 >0.040,>,,.,1,1  Aolumns ,4 t"roug" ,+

    >,+.2828 >,7.6+67 >,8.4444

    (>' Aree un vector llamado arimero' que tenga ,3 elementos' siendo elprimero el 2' con incremento de 7 y siendo el último elemento 20.5osteriormente utilice el sDmbolo dos puntos para crear un nuevo vector' llamadoaseguno' que tenga oc"o elementos. Los primeros cuatro elementos serán losprimeros cuatro elementos del vector arimero' y los cuatro últimos serán loscuatro últimos elementos del vector arimero.Solución::: aprimero;#2&7&20$aprimero ;  2 6 ,4 ,7 ,3 ,0 ++ +8 +1 7, 72 76 24 27 23 20

    :: asegundo;aprimero(&'#,&2',7&,3$)

    Ing. Héctor G. Bolaños Sosa

  • 8/16/2019 Ejercicios Matlab Cap02 Vectores

    20/24

    Vectores y Matrices 2'  

    asegundo ;  2 6 ,4 ,7 24 27 23 20

    ((' Aree una matriz tal como la que se indica abao' usar notacin devectores para crear vectores con incrementos constantes' yIo el comando linspacepara crear filas

    1 4 7 10 13 16 19 22 25

    72 66 60 54 48 42 36 30 24

    0 0.125 0.250 0.375 0.500 0.625 0.750 0.875 1.00

     B

    =

    Solución::: G;#,&7&+83&+2

  • 8/16/2019 Ejercicios Matlab Cap02 Vectores

    21/24

    Vectores y Matrices 21

      27 3 ,1 16 8 0

    (3' Arear la siguiente matriz A&

    2 4 6 8 10

    3 6 9 12 15

    7 14 21 28 35

    =

    Luego utilice esta matriz para resolver&a) Arear un vector columna de tres elementos llamado ca' que contenga los

    elementos de la tercera columna de Ab) Arear un vector columna de cinco elementos llamado cb' que contenga

    los elementos de la segunda fila de Ac) Arear un vector columna de nueve elementos llamado cc' que contenga

    los elementos de la primera' tercera y quinta columna de Ad) Arear un vector columna de diez elementos llamado cd' que contenga los

    elementos de la primera' y segunda fila de ASolución:

    :: A;##+&+&,4$

  • 8/16/2019 Ejercicios Matlab Cap02 Vectores

    22/24

    Vectores y Matrices 22  

    !e trata se creacin de nuevas matriz y vector a partir de la matriz

    :: ;#,&6> A=zeros(2,4)

    A =

      0 0 0 0

      0 0 0 0

    >> B=eye(4)

    B =

      1 0 0 0

      0 1 0 0

      0 0 1 0

      0 0 0 1

    >> C=ones(3,2)

    C =

      1 1

      1 1

      1 1

    (?' Usando los comandos ones y zeros' crear una matriz de 2 ? 8' en la

    cual las primeras filas sean ceros y las dos siguientes sean unosSolución:Arear la Matriz' luego usar las instrucciones de adicin de elementos a una matriz

    Mata:c4:5*+lelementos- En la cual se a/aden filas 7 y 2 con unos

    :: ;zeros(+'8)  ;  4 4 4 4 4  4 4 4 4 4

    :: (7&2'&);ones(+'8)  ;  4 4 4 4 4  4 4 4 4 4  , , , , ,  , , , , ,

    (

  • 8/16/2019 Ejercicios Matlab Cap02 Vectores

    23/24

    Vectores y Matrices 23

    Solución:!e creará una matriz de cerosusar las instrucciones de adicin de elementos a una matrizMata:c4:5*+lelementos- 

    a) Areacin matriz de ceros:: ;zeros(3)  ;  4 4 4 4 4 4  4 4 4 4 4 4  4 4 4 4 4 4  4 4 4 4 4 4  4 4 4 4 4 4  4 4 4 4 4 4b) dicionar unos (nuevos valores) a lamatriz en las filas de 7 a 2:: (7&2'&);ones(+'3)

      ;  4 4 4 4 4 4  4 4 4 4 4 4  , , , , , ,  , , , , , ,  4 4 4 4 4 4  4 4 4 4 4 4

    c) la matriz que está corregida' a/adir nuevos valores (unos) a las columnas 7 y2:: (&'7&2);ones(3'+)  ;  4 4 , , 4 4  4 4 , , 4 4  , , , , , ,  , , , , , ,  4 4 , , 4 4  4 4 , , 4 4

    (' Utilizando las funciones zeros y ones' crear una matriz 7?8' la cual debetener la siguiente forma final

    0 0 1 1 0

    0 0 1 1 0

    0 0 1 1 0

     D

    =

    Solución:!e deberá usar adicionar nuevos valores (matriz de unos de tama/o 7?+ ) a lamatriz -

    :: ;zeros(7'8)

      ;

      4 4 4 4 4  4 4 4 4 4

      4 4 4 4 4

    :: (6&,+);ones(7'+)

      ;

      4 4 , , 4  4 4 , , 4

      4 4 , , 4

    !e tendrDa otra alternativa' iniciando con una matriz de unos

    :: G;ones(7'8)

    G ;

      , , , , ,  , , , , ,  , , , , ,

    :: G(&',&+);zeros(7'+)G ;  4 4 , , ,  4 4 , , ,  4 4 , , ,:: G(&'8);zeros(7',)

    G ;  4 4 , , 4

      4 4 , , 4  4 4 , , 4

    Ing. Héctor G. Bolaños Sosa

  • 8/16/2019 Ejercicios Matlab Cap02 Vectores

    24/24

    Vectores y Matrices 2!

    (=' Arear una matriz de 8 ? 6 en la cual la primera fila tenga los números ,al 6' en la segunda tenga los números del 1 al ,2' la tercera los números del ,8 al+,' asD sucesivamente.  partir de esta matriz' crear otra nueva de 7 ? 2 compuesta por las filas + a la 2 ylas columnas 7 a la 3Solución:!e usará el procedimiento creacin de nuevas matrices a parir de otras e?istentes

    /ue0a matri*ilas4 columnas5

    :: ;#,&6