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