Ejercicios Matlab Cap03 Operaciones Arrays

Embed Size (px)

Citation preview

  • 8/16/2019 Ejercicios Matlab Cap03 Operaciones Arrays

    1/15

    B= A=

     A*B=

    Operaciones Matemáticas con Arrays 1

    Universidad Nacional de San Agustín de Arequipa

    CURSO DE MATLAB BASCO

    CA!TULO O!ERACONES MATEMATCAS CON ARRA"S

    #$% Su&a ' RestaLos arrays deben tener el mismo número de filas y columnas, La suma y la resta de losarrays se efectuan sumando o restando sus elementosLos operadores son +(suma) y –(resta)

    Ejemplo ! "#$% &enerar dos 'ectores de " elementos y lueo efectuar la suma y la restade los mismos#Solución

    'ecta= -./'ectb=$0 1 2./ 'ectsum='ecta+'ectb'ectsum =  $ 2 $$

    'ectres='ecta3'ectb'ectres =

      31 " 3"

    Ejemplo !"#1% enerar dos matrices de "4", lueo efectuar la suma y resta de las mismasSolución: A=- 5 /$ 1 ". A =  - 5   $ 1 " B=$0 $1 $-/" 2.B =  $0 $1 $-  " 2 6789AB=A+B6789AB =

      $- $ 11  - 2 $0

    :E69AB=A3B:E69AB =  35 35 35  31 3" 3- :E69BA=B3A:E69BA =  5 5 5

      1 " -

    #$( Multiplicaci)n de Arra'sLa operaci;n de multiplicaci;n * se reali

  • 8/16/2019 Ejercicios Matlab Cap03 Operaciones Arrays

    2/15

    Operaciones Matemáticas con Arrays  

    B=

    [

    b11b21

    b31

    bn 1

    ]El resultado de AB es otra matri< de $4$%

    C = AB=[ a11b11+a12 b21+a13b31… . a1m bn1 ]

    C = AB=[∑k =1

    m

    a1 k bk 1]

    8ultiplica @LA CDL78A

    Ejemplo:

     A= [234 ]

    B=[  1

    −12 ]

    C =[2(1)+3 (−1)+4 (2)]2−3+8

    C =[¿ ]=[7 ]

    Con 8atlab% A= 1 " -. A =  1 " - B=$ 3$ 1.B =  $  3$  1 C=A*BC =

      2

     As> para una matri< A, de " filas 4 1 columnas/ y la matri< B de 1 filas 4 1 columnas/el resultado AB es otra matri< de " filas por 1 columnas%

     A=|a11

      a12

    a21

      a22

    a31

      a32

    |B=

    |b

    11

      b12

    b21

      b22|

     A∗B=a

    11b

    11+a

    12b

    21  a

    11b

    12+a

    12b

    22

    a21

    b11+a

    22b

    21  a

    21b

    12+a

    22b

    22

    a31

    b11+a

    32b

    21  a

    31b

    12+a

    32b

    22

    Ejemplo:

     A=

    |

    1 4

    2 5

    3 6

    |

    7sando 8atlab% A=$ -/1 /" 5. A =

      $ -  1   " 5

    Ing. Héctor G. Bolaños Sosa

  • 8/16/2019 Ejercicios Matlab Cap03 Operaciones Arrays

    3/15

    Operaciones Matemáticas con Arrays !

    B=|7 98 10|

     A∗B=

    [1(7)+4(8)   1(9)+4 (10)2(7)+5 (8)   2(9)+5(10)3 (7)+6(8)   3(9)+6(10)

    ] A∗B=[

      7+32 9+4014+40 18+5021+48 27+60]

     A∗B=[39 49

    54 68

    69 87]

    B=2 F/ $0.B =  2 F  $0 C=A*BC =

      "F -F  - 5  5F 2

    Comentarios%a) La matri< A tiene 1 columnas/ la matri< B tiene 1 filas/ C78GLE LA

    CDHCD#b) El resultado es otra matri< de tiene " filas (filas de A) y 1 columnas (Columnas

    de B)

    Ejemplo ! "#"% &enerar una matri< de 141 y otra de $41, lueo multiplicar Solución:

    C=$ 1/1 -.C =  $ 1  1 - H=$ 1.H =  $ 1

    HC=H*CHC =  $0

    Ejemplo ! "#-% &enerar una matri< de -4" y otra de "41, lueo multiplicar Solución:

    A=$%"/-%5/2%F/$0%$1. A =  $ 1 "  - 5  2 F

      $0 $$ $1 B=$ "/ 2/F $$.B =  $ "  2  F $$

    AB=A*B AB =  " 0  " $$"  $1 $25

      $2" 1"F

    BA=B*AIII Error usin == mtimesnner matri4 dimensions must aree#B tiene 1 columnas, y A tiene - filas, elsistema no se puede resol'er

    A=$ - 1/ 2 "/F $ 5/- 1 $. A =  $ - 1  2 "  F $ 5

      - 1 $

    B=5 $/1 /2 ".

    C=A*BC =  1 12  5 -F  F "1

      " $2

    H=B*A

    Ing. Héctor G. Bolaños Sosa

  • 8/16/2019 Ejercicios Matlab Cap03 Operaciones Arrays

    4/15

    Operaciones Matemáticas con Arrays "

    B =  5 $  1   2 "

    III Error usin == mtimesnner matri4 dimensions must aree

    B, tiene 1 columnas y A tiene - filas/ nose puede resol'er 

    @=$ "/ 2.@ =  $ "  2

    &=- 1/$ 5.& =  - 1  $ 5

    J=@*&J =  2 10  12 1

    =&*@ =  $- 15  "$ -

    8ultiplicaci;n de un 'ector fila por un 'ector columna, el resultado es un escalar#8ultiplicaci;n de un 'ector columna por un 'ector fila, el resultado es una matri

  • 8/16/2019 Ejercicios Matlab Cap03 Operaciones Arrays

    5/15

    Operaciones Matemáticas con Arrays #  

    • La matri< identidad multiplicada por otra matri< (o 'ector) da como resultado

    la matri< oriinal#

    HE=eye(")HE =  $ 0 0

      0 $ 0  0 0 $ A =  1 $ -  - $

    A*HEans =  1 $ -

      - $

    #$#$( nversa de una &atri*• 6e dice ue la matri< B es la in'ersa de una matri< A, si al multiplicar ambas

    matrices el producto es la matri< identidad#

    • La matri< debe ser cuadrada#

    • o todas las matrices tienen in'ersa# Piene in'ersa solo si es cuadrada y su

    determinante no es cero

    8atlab usa la funci;n inv(A) o tambien A

    +%

    #

    Ejemplo ! "#2% &enerar una 8atri< cuadrada de "4", determinar a) La in'ersa de la matri<b) La multiplicaci;n de ambas matricesSolución:

    A=1 $ -/- $ /1 3$ ".

     A =  1 $ -  - $   1 3$ "

    B=in'(A)B =  #000 3"#000 1#0000  1#0000 3$#0000 0

      3"#0000 1#0000 3$#0000

    B$=AQ3$

    B$ =

      #000 3"#000 1#0000  1#0000 3$#0000 0  3"#0000 1#0000 3$#0000

    H=A*BH =  $ 0 0  0 $ 0  0 0 $

    #$#$# Deter&inantesHeterminante es una funci;n ue asocia un número, llamado determinante de lamatri

  • 8/16/2019 Ejercicios Matlab Cap03 Operaciones Arrays

    6/15

    Operaciones Matemáticas con Arrays $  

    Ejemplo !"#F% &enerar una matri< de "4", y un 'ector columna de " elementos,determinar%a) La di'isi;n AOBSolución:

    :esoluci;n de (di'isi;n i

  • 8/16/2019 Ejercicios Matlab Cap03 Operaciones Arrays

    7/15

    Operaciones Matemáticas con Arrays %  

    B =    -  0

    =  3$#0-F

    1 1

    1

    \

     AX B

     A AX A B

     X A B

     X A B

    − −

    =

    =

    =

    =   0#1F12  1#5"-$

    b) He la @orma C=H

    A=- 31 5/1 1/5 $0 ". A =  - 31 5  1 1  5 $0 " C=AC =  - 1 5

      31 $0  5 1 "

    H= - 0.H =  - 0 $=HNC$ =  3$#0-F 0#1F12 1#5"-$ $=H*in'(C)$ =

      3$#0-F 0#1F12 1#5"-$

    b) Kerificaci;n de respuesta

    G$=($)*-+(1)*(31)+(")*5G$ =  #0000

    G1=($)*1+(1)*+(")*1G1 =  -#0000

    G"=($)*5+(1)*$0+(")*"

    G$ = 31#55-e30$

    #$, Operaciones ele&ento a ele&entoGara ue las operaciones de multiplicaci;n, e4ponenciaci;n y di'isi;n de arrays se realicen

    elemento por elemento, en 8atlab May ue teclear el punto ( $), delante del operador aritmRtico correspondiente#Las operaciones elemento a elemento se pueden realimbolo Hescripci;n 6>mbolo Hescripci;n

    #* 8ultiplicaci;n #N Hi'isi;n derecMa

    #Q E4ponenciaci;n #O Hi'isi;n i

  • 8/16/2019 Ejercicios Matlab Cap03 Operaciones Arrays

    8/15

    Operaciones Matemáticas con Arrays &  

      " 1 2

    C$=A#NBC$ =  1#0000 $#000 0#"000  $#5552 -#0000 0#2$-

    C1=B#Q"C1 =  $ 5- $000  12 "-"

    Las operaciones elemento a elemento son muy útiles para calcular el 'alor de una funci;n#Gara esta operaci;n es necesario definir un 'ector ue contena las 'ariablesindependientes

    Ejemplo ! "#$"% Calcular el 'alor de las siuientes funciones en el rano de $ a y 1 a $con incrementos de 1 respecti'amente#

    ( )( )

    2

    3

    2

    4

    5

    4 10

     y x x

     z z  y

     z 

    = −

    +

    =

    4=$%.4 =  $ 1 " - 5 2 y=4#Q13-*4y =  3" 3- 3" 0 $1 1$ "1

  • 8/16/2019 Ejercicios Matlab Cap03 Operaciones Arrays

    9/15

    Operaciones Matemáticas con Arrays '

    Pabla !"#$ @unciones predefinidas

    @unci;n Hescripci;n Ejemplo

    mean(A) 6i A es un 'ector, retorna elpromedio de los elementos

    A=$%. A =  $ 1 " - mean(A)

    ans =  "

    H=ma4(B) :etorna el m4imo elementode un array

    B=$%.B =  $ 1 " - H=ma4(B)H = 

    E=min(B) :etorna el m>nimo elementodel array

    E=min(B)E =  $

    sum(A) Calcula la suma de loselementos del array#

    6i es 'ector retorna la sumade todos los elementos#6i es matri< retorna la sumade cada columna

    C=$%-.C =

      $ 1 " - H=sum(C)H =  $0 A=$ "/- 5. A =  $ "  - 5 B=sum(A)B =  F

    sort(A) :etorna el array ordenado enforma ascendente#

    6i es 'ector ser ordenascendente cada elemento#6i es matri< cada columna enorden ascendente

    A=" 2 1 $$ $. A =

      " 2 1 $$ $ B=sort(A)B =  $ 1 " 2 $$ C=rand(1)*$0C =  "#2"2 #"55  #500$ #F"5 H=sort(C)H =  "#2"2 #F"5  #500$ #"55

    median(A) :etorna el 'alor medio de

    cada elemento del array#Podos los elementos del'ector#6i el 'ector es matri

  • 8/16/2019 Ejercicios Matlab Cap03 Operaciones Arrays

    10/15

    Operaciones Matemáticas con Arrays 1(  

    Estndar de los elemntos decada columna

    B=std(A)B =  1#10

    det(A) :etorna el determinante deuna matri< cuadrada

    CC =  $ 1

      2 H=det(C)H =  3"

    in'(A) :etrna la in'ersa de unamatri< cuadrada

    CC =  $ 1  2 H=in'(C)H =  31#"""" 0#5552  $#5552 30#""""

    #$5 6eneraci)n de n7&eros aleatoriosEl 8atlab puede enerar números aleatorios usando las funciones% rand y randn

    a/ 8unci)n rand$&enera arrays de números aleatorios los cuales estn uniformemente distribuidos en elinter'alos (0,$)#rand(n): enera 'alores aleatorios en una matri< cuadrada nrand(m,n): enera 'alores aleatorios en una matri< cuadrada m4n

    randans =  0#F0$ rand($,-)ans =

      0#1"$$ 0#505 0#-50 0#F$"

    rand(")ans =

      0#251$ 0#1$- 0#2F$F  0#-5 0#---2 0#F1$

      0#0$ 0#5$- 0#2"1 rand(1,")ans =  0#$25" 0#F" 0#-$0"  0#-02 0#F$5F 0#F"5

    Gara otro inter'alo diferente de 0 y $., se puede usar la siuiente ecuaci;n%

    ( ) *a b a rand  + −Honde%a% nter'alo menor b% nter'alo mayor 

    Ejemplo ! "#$5% &enerar $0 números aleatorios entre y 10 '=+(103)*rand($,$0)' =  #2$F $$#2F0 $#0-0 $F#0$" #F552 2#-0- $#0F1 #51 $-#52$F#0""

    Ejemplo ! "#$2% &enerar - números aleatorios entre F0 y $00, los datos deben ser enteros y estar en forma de 'ector columna A=round(F0+($003F0)*rand(-,$)) A =  F"  F0  F2  F2

    Ing. Héctor G. Bolaños Sosa

  • 8/16/2019 Ejercicios Matlab Cap03 Operaciones Arrays

    11/15

    Operaciones Matemáticas con Arrays 11

    4/ 8unci)n randn&enera números aleatorios con distribuci;n normal, con media de 0 y des'iaci;nstandard de $randn(n): enera 'alores aleatorios en una matri< cuadrada nrandn(m,n): enera 'alores aleatorios en una matri< cuadrada m4n

    Ejemplo ! "#$% &enerar un 'ector con números aleatorios d=randn($,)d =  30#" 1#$"1 30#$"5- 0#$$"F $#055 0#0F" 30#0F5 30#"1"

    Ejemplo ! "#$F% &enerar $0 números aleatorios con des'iaci;n 6tandard y promediode 0 '=round(*randn($,$0)+0)' =  -1 $ - 2 -5 " $ - "F 0 e=mean(')e =  -2#F000

    f=std(')f =  #--2

    Ejemplo ! "#10% enerar $0 números aleatorios con des'iaci;n estandar de 0#$ ypromedio de # Heterminar el promedio y la des'iaci;n estandar con las funcionesapropiadas#

    B=#$*randn($0,$)+B =  -#F52-  -#22  #0550  #0"5

      #0$1F  #0050  -#F1-0  #0005  #$"$  -#F$21

    mean(B)ans =  -#FF std(B)ans =  0#$0$-

    #$9 6eneraci)n de Ta4lasLoas arrays nos permiten enerar tablas, los cuales pueden se pueden presentar dediferentes formas, as> sean dos 'ectores, estos se pueden presentar%a) 7n solo 'ector fila con los elementos de los dos 'ectoresb) 7n solo 'ector columna con los elementos de los 'ectoresc) 7na matri< de dos columnas con los elementos de los dos 'ectores

    Ejemplo ! "#1$% &enerar dos 'ectores con elementos cada uno, lueo presentar losdatos de acuerdo a lo indicado anteriormente#

    A=$%. A =  $ 1 " - B=$0%$-.B =  $0 $$ $1 $" $-a/ AB$=A,B. AB$ =  $ 1 " - $0 $$ $1 $" $-

    4/ AB1=A/B. AB1 =  $  1  "  -    $0  $$  $1

      $"  $-

    Ing. Héctor G. Bolaños Sosa

  • 8/16/2019 Ejercicios Matlab Cap03 Operaciones Arrays

    12/15

    Operaciones Matemáticas con Arrays 1  

    c/ AB1=A/B. AB1 =  $ $0  1 $$  " $1  - $"

      $-

    Los arrelos nos permiten enerar tablas para e'aluaci;n de e4presiones, funciones%6e debe seuir los siuientes pasos%a) nresar los datos de la 'ariable independiente en un 'ector fila o columnab) E'aluar la e4presi;n o funci;n matemticac) &enerar la tabla en forma

    Ejemplo ! "#11% &enerar las siuientes tablas%a) Cuadrados de 0 a b) &enerar tabla para las funciones seno y coseno de o a pi, con incrementos de piN-

    radianes

    Solución:

    a/ n=0%.n =  0  $  1  "  -  GDP=n#Q1/ tabla=n GDP.tabla =  0 0  $ $

      1 -  " F  - $5  1

    4/ 4=0%piN-%pi.4 =  0  0#2-  $#20  1#"51  "#$-$5 tabla=4,sin(4),cos(4).tabla =  0 0 $#0000  0#2- 0#202$ 0#202$  $#20 $#0000 0#0000  1#"51 0#202$ 30#202$

      "#$-$5 0#0000 3$#0000

    Ejemplo ! "#1"% enerar un 'ector del $ al / efectuar las siuientes operaciones%a) 8ultiplicaci;n por " cada elementob) Ele'ado al cubo de cada elementoc) 8ostrar en una tabla las 'ariables

    4=$%./ y$=4#*"y$ =  " 5 F $1 $

    y1=4#Q"y1 =  $ 12 5- $1

    PABLA=4/y$/y1.PABLA =  $ " $  1 5

      " F 12  - $1 5-  $ $1

    #$: !roducto Escalar o producto !untoEl producto punto de dos 'ectores A y B es un escalar A#B (ue se lee A punto B) dado por%

     A . B=| A||B|cosθHonde θ  es el nulo entre A y B

    Ejemplo T "#1-% sean dos 'ectores A y B/ determinar el producto punto

     A= (1,2,3 )B=(4,5,6)

     A . B=(1 x 4+2 x 5+3 x 6 )=32Este 'alor es un escalar 

    7sando 8atlab, se tiene% A=$,1,"./ B=-,,5./

    C=dot(a,b)C =  "1

    Ing. Héctor G. Bolaños Sosa

  • 8/16/2019 Ejercicios Matlab Cap03 Operaciones Arrays

    13/15

    Operaciones Matemáticas con Arrays 1!

    #$; !roducto vectorial o producto cru*El producto cru< de dos 'ectores A y B es un 'ector A 4 B (se lee A cru< B) dado por%

     AxB=| A||B|senθ

    Ejemplo T "#1% sean dos 'ectores A y B, determinar el producto cru<

     A= (1,2,3 )B=(4,5,6)

     AxB=det |i j k 

    1 2 3

    4 5 6|=i ( 2∗6−3∗5 )− j (1∗6−3∗4 )+k  (1∗5−2∗4 )

     AxB=i (−3 )− j (−6 )+k  (−3 ) AxB=−3i+6   j−3k 

    7sando 8atlab% A=$,1,"./ B=-,,5./ H=cross(A,B)H =  3" 5 3"

    Ing. Héctor G. Bolaños Sosa

  • 8/16/2019 Ejercicios Matlab Cap03 Operaciones Arrays

    14/15

    Operaciones Matemáticas con Arrays 1"

    !ROBLEMAS DE A!LCAC

  • 8/16/2019 Ejercicios Matlab Cap03 Operaciones Arrays

    15/15

    Operaciones Matemáticas con Arrays 1#  

    E4perimento $ 1 " - 5

    8asa (U) 1 - $0 10 0

    @uer