Universidad Nacional Mayor de San Marcos
MATLAB
Facultad de Ciencias Económicas
BÁSICO
PRÁCTICA DIRIGIDA NO.1 Miguel Ataurima Arellano
[email protected] [email protected] [email protected]
I. ELEMENTOS DEL LENGUAJE
3. Dadas las cadenas (string) de texto
1. Sean los arreglos
é 4 ê ê ê -9 ê B = ê ê 2 ê ê êë 3
é -3 4 -2 0 ù ê ú ê ú A = êê 1 -2 3 7 úú ê ú ê 5 0 0 -2 ú êë úû
str1: “En momentos de crisis” str2: “usa tu imaginación”
ù ú ú ú ú ú ú ú ú úû
construya la cadena str3: “En momentos de crisis, usa tu i maginación” >> str1 = 'En momentos de crisis'; >> str2 = 'usa tu imaginación'; >> str3 = [ str1 ', ' str2 ] str3 = En momentos de crisis, usa tu imaginación
C = éê 2 1 4 5 ùú
ë
û
a) Ingréselos al workspace base >> A = [-3 4 -2 0; 1 -2 3 7; 5 0 0 -2] A = -3 4 -2 0 1 -2 3 7 5 0 0 -2
4. En una variable P se tiene almacenado el valor numérico
14.0453 el cual representa a un monto de dinero en millones de dolares. Construir una cadena de texto que visualice el mensaje “Cantidad: 14.0453 millones de dólares ”
>> B = [4; -9; 2; 3] B = 4 -9 2 3
>> P = 14.0453; >> str = [' Cantidad: ' num2str(P) ' millones de dolares'] str = Cantidad: 14.045 millones de dolares
>> C = [2 1 4 5] C = 2 1 4
II. FUNCIONES MATLAB INTERNAS
5
5. Imprima el directorio raíz de MATLAB
b) Construya el arreglo
é AT B ù ê ú ú D = ê ê C ú êë úû >> D = [ A.' B; C ] D = -3 1 5 4 -2 0 -2 3 0 0 7 -2 2 1 4
>> matlabroot ans = C:\Archivos de programa\MATLAB\R2010b
6. Imprima el directorio actual de trabajo de MATLAB 4 -9 2 3 5
>> pwd ans = C:\Documents and Settings\Admin\Mis documentos\MATLAB
7. Imprima las rutas de búsqueda de funciones de MATLAB
c) Construya el arreglo E
é = êê êê ë
A C
>> E = [ [ A; C] B ] E = -3 4 -2 0 1 -2 3 7 5 0 0 -2 2 1 4 5
ù ú B ú úú û
>> matlabpath MATLABPATH
C:\Documents and Settings\Miguel\Mis documentos\MATLAB C:\Archivos de prog rama\MATLAB\R201 rama\MATLAB\R2010b\toolbox\matlab\general 0b\toolbox\matlab\general C:\Archivos de programa\MATLAB\R2010b\toolbox\matlab\ops programa\MATLAB\R2010b\toolbox\matlab\ops C:\Archivos de progr ama\MATLAB\R20 ama\MATLAB\R2010b\toolbox\matlab\lang 10b\toolbox\matlab\lang C:\Archivos de progr ama\MATLAB\R20 ama\MATLAB\R2010b\toolbox\matlab\elmat 10b\toolbox\matlab\elmat C:\Archivos de programa\MATLAB\R2010b\toolbox\matlab\elfun programa\MATLAB\R2010b\toolbox\matlab\elfun C:\Archivos de programa\MATLAB\R2010b\toolbox\matlab\specfun programa\MATLAB\R2010b\toolbox\matlab\specfun
4 -9 2 3
2. Liste las variables contenidas en el workspace base. >> whos Name
C:\Archivos de programa\MATLAB\R2010b\toolbox\rtw\targets\xpc\target\build\xpcblocks C:\Archivos de programa\MATLAB\R2010b\toolbox\rtw\targets\xpc\target\build\xpcblocks\thirdpartydrivers
Size
A B C D E
C:\Archivos de progr ama\MATLAB\R201 ama\MATLAB\R2010b\toolbox\wavelet\wavedemo 0b\toolbox\wavelet\wavedemo C:\Archivos de programa\MATLAB\R2010b\toolbox\rtw\targets\xpc\xpc
Bytes
3x4 4x1 1x4 5x4 4x5
Miguel Ataurima Arellano
32 32 160 160
Class
C:\Archivos de programa\MATLAB\R2010b\toolbox\rtw\targets\common\can\blocks\tlc_c
Attributes
C:\Archivos de programa\MATLAB\R2010b\toolbox\rtw\targets\xpc\xpcdemos C:\Archivos de programa\MATLAB\R2010b\toolbox\rtw\targets\xpc\xpc\xpcmngr
96 double double double double double
C:\Archivos d e programa\MATLAB\R2010b\toolbox\rtw\targets\xpc\target\kernel\embedded programa\MATLAB\R2010b\toolbox\rtw\targets\xpc\target\kernel\embedded
C:\Archivos de programa\MATLAB\R2010b\work programa\MATLAB\R2010b\work
1
http://matlabperu.blogspot.com
8. Abra el Explorador de Windows visualizando el conteni-
b) Formato HTML (Help Browser)
do del directorio actual de t rabajo de MATLAB.
>> doc fft
>> !explorer .
9. Liste los directorios en los que se hallan las funciones
provistas por MATLAB (funciones MATLAB internas) >> strFuncInter = [ matlabroot '\toolbox\matlab']; >> dir(strFuncInter) . .. audiovideo codetools datafun datatypes demos elfun elmat funfun
general graph2d graph3d graphics guide hds helptools icons imagesci iofun
lang matfun mcc.enc ops plottools polyfun scribe sparfun specfun specgraph
strfun timefun timeseries uitools verctrl winfun
10. Liste las funciones provistas por MATLAB para el análisis de datos y transformada de Fourier . >> help datafun Data analysis and Fourier transforms. Basic operations. max - Largest component. min - Smallest component. mean - Average or mean value. median - Median value. std - Standard deviation. var - Variance. sort - Sort in ascending order. sortrows - Sort rows in ascending order. sum - Sum of elements. prod - Product of elements. hist - Histogram. histc - Histogram count. trapz - Trapezoidal numerical integration. cumsum - Cumulative sum of elements. cumprod - Cumulative product of elements. cumtrapz - Cumulative trapezoidal numerical integration. Finite differences. diff - Difference and approximate derivative. gradient - Approximate gradient. del2 - Discrete Laplacian. Correlation. corrcoef cov subspace
12. Liste las funciones provistas por MATLAB para la mani-
pulación de matrices y construcción de matrices elementales (elmat); luego, apoyándose en la información obtenida, obtenga en las variables m y n el número de filas y columnas de A; en p el número de filas de P y en q el número de columnas de Q
- Correlation coefficients. - Covariance matrix. - Angle between subspaces.
é P = êD ëê
Filtering and convolution. filter - One-dimensional digital filter. filter2 - Two-dimensional digital filter. conv - Convolution and polynomial multiplication. conv2 - Two-dimensional convolution. convn - N-dimensional convolution. deconv - Deconvolution and polynomial division. detrend - Linear trend removal.
E
é ê T Q = ê P ê êë
ù ú ûú
T
C
B
ù ú ú ú úû
>> [m,n] = size(A) m = 3 n = 4
Fourier transforms. fft - Discrete Fourier transform. fft2 - Two-dimensional discrete Fourier transform. fftn - N-dimensional discrete Fourier Transform. ifft - Inverse discrete Fourier transform. ifft2 - Two-dimensional inverse discrete Fourier Transform. ifftn - N-dimensional inverse discrete Fourier Transform. fftshift - Shift zero-frequency component to center of spectrum. ifftshift - Inverse FFTSHIFT.
>> P = [D E.'] P = -3 4 -2 0 2
11. Visualice la ayuda en formato texto y HTML de la fun-
1 -2 3 7 1
5 0 0 -2 4
4 -9 2 3 5
-3 4 -2 0 4
1 -2 3 7 -9
2 1 4 5 4 -9 2 3
2 1 4 5 4 -9 2 3
5 0 0 -2 2
2 1 4 5 3
>> p = size( P,1) p = 5
ción fft. a) Formato Texto (Ventana de Comando)
>> Q = [ P.' [ C.'; B] ] Q =
>> help fft
-3 1 5 4 -3 1 5 2
FFT Discrete Fourier transform. FFT(X) is the discrete Fourier transform transfor m (DFT) of vector vector X. For matrices, the FFT operation is applied to each column. For N-D arrays, the FFT operation operates on the first non-singleton dimension. FFT(X,N) is the N-point FFT, padded with zeros if X has less than N points and truncated if it has more.
4 -2 0 -9 4 -2 0 1
-2 3 0 2 -2 3 0 4
0 7 -2 3 0 7 -2 5
>> q = size(Q,2) q = 6
Miguel Ataurima Arellano
T
2
http://matlabperu.blogspot.com
13. Obtenga el valor del máximo y mínimo elemento, por co-
8 4 3 7
lumna, del arreglo Q así como la posición (fila) en que tales elementos se encuentran. >> [MaxQ,MaxInd] = max(Q) MaxQ = 5 4 4 7 MaxInd = 3 1 8 2
5
5
4
4
>> [minQ,minInd] = min(Q) minQ = -3 -9 -2 -2 minInd = 1 4 1 3
-9
-9
6
6
posT = 3 7 4 8 2 6 1 5
za y desviación estándar muestral, por columna, del arreglo Q.
8
>> PQ = prod(Q) PQ = 1800 0
18
12
12
-0.5000
0
0
-8640
17.1429
1.0000
2.2500
1.5000
1.5000
4.1404
5.4286
14.2143
19.7143
19.7143
2.3299
3.7702
4.4401
4.4401
>> S = sort(Q,'ascend') S = -2 -2 0 0 2 3 3 4
4 4 1 0 0 -2 -2 -9
4 3 3 2 0 0 -2 -2
-2 -2 0 0 3 5 7 7
-9 1 2 2 3 4 4 5
-9 1 2 2 3 4 4 5
5 4 4 3 2 2 1 -9
5 4 4 3 2 2 1 -9
>> help elfun Elementary math functions. Trigonometric. sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth hypot -
7 7 5 3 0 0 -2 -2
>> [S,posS] = sort(Q,'ascend') S = -9 -2 -2 0 0 1 4 4
-2 -2 0 0 2 3 3 4
-2 -2 0 0 3 5 7 7
-9 1 2 2 3 4 4 5
-9 1 2 2 3 4 4 5
4 2 6 3
1 5 3 7
3 7 1 5
6 2 1 7
6 2 1 7
posS =
Miguel Ataurima Arellano
4 3 5 8 1 7 2 6
MATLAB
los elementos
1 5 2 6
4 3 5 8 1 7 2 6
18. Liste las funciones matemáticas elementales provistas por
16. Obtenga los índices en los que inicialmente se ubicaban
-3 -3 1 1 2 4 5 5
2 6 8 4 1 5 3 7
>> mx = mean(x), dx = std(x) mx = 0.60 dx = 0.20
>> T = sort(Q,'descend') T = 5 5 4 2 1 1 -3 -3
8 2 6 4 3 7 1 5
>> x = 0.6 + 0.2*E;
de sus columnas estén constituidas por los elementos de las columnas de Q ordenados ascendente y descendentemente respectivamente.
-9 -2 -2 0 0 1 4 4
1 5 8 3 7 2 6 4
5 4 4 3 2 2 1 -9
format bank E = randn(100000,1); mE = mean(E), dE = std(E) = 0.00 dE = 1.00
15. Construya los arreglos S y T de tal manera que cada una
-3 -3 1 1 2 4 5 5
8 3 5 4
>> >> >> mE
>> sQ = std(Q) sQ = 3.2071
8 3 5 4
0.6 y desviación estándar 0.2. Visualice el resultado en formato bancario (2 dígitos decimales).
-8640
>> vQ = var(Q) vQ = 10.2857
4 8 2 6
17. Construya una vector x de 100000 muestras con media
>> mQ = mean(Q) mQ = 1.5000
4 2 6 8
>> [T,posT] = sort(Q,'descend') T = 5 4 4 7 5 5 4 3 7 4 4 1 3 5 4 2 0 2 3 3 1 0 0 0 2 1 -2 0 0 2 -3 -2 -2 -2 1 -3 -9 -2 -2 -9
14. Obtenga el valor de la suma, producto, promedio, varian-
>> SQ = sum(Q) SQ = 12 -4
7 8 1 5
3
Sine. Sine of argument in degrees. Hyperbolic sine. Inverse sine. Inverse sine, result in degrees. Inverse hyperbolic sine. Cosine. Cosine of argument in degrees. Hyperbolic cosine. Inverse cosine. Inverse cosine, result in degrees. Inverse hyperbolic cosine. Tangent. Tangent of argument in degrees. Hyperbolic tangent. Inverse tangent. Inverse tangent, result in degrees. Four quadrant inverse tangent. Inverse hyperbolic tangent. Secant. Secant of argument in degrees. Hyperbolic secant. Inverse secant. Inverse secant, result in degrees. Inverse hyperbolic secant. Cosecant. Cosecant of argument in degrees. Hyperbolic cosecant. Inverse cosecant. Inverse cosecant, result in degrees. Inverse hyperbolic cosecant. Cotangent. Cotangent of argument in degrees. Hyperbolic cotangent. Inverse cotangent. Inverse cotangent, result in degrees. Inverse hyperbolic cotangent. Square root of sum of squares.
http://matlabperu.blogspot.com
Exponential. exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2
- Exponential. - Compute exp(x)-1 accurately. - Natural logarithm. - Compute log(1+x) accurately. - Common (base 10) logarithm. - Base 2 logarithm and dissect floating point number. - Base 2 power and scale floating point number. - Power that will error out on complex result. - Natural logarithm of real number. - Square root of number greater than or equal to zero. - Square root. - Real n-th root of real numbers. - Next higher power of 2.
Complex. abs angle complex conj imag real unwrap isreal cplxpair
-
Adición Sustracción Multiplicación División Izquierda División Derecha Exponenciación
Absolute value. Phase angle. Complex conjugate. Complex imaginary part. Complex real part. Unwrap phase angle. True for real array. Sort numbers into complex conjugate pairs.
–
–
*
.*
\
.\
/
./
^
.^
OPERACIÓN TIPO ARREGLO
æ 300 pö sen ççç p(0.4) + ÷÷÷ = 120 se 8 ø÷ èç 7
+/-
C m,n
= Am,n B m,n
cij
= aij bij
.*
C m,n
= Am,n . * B m,n
cij
= aij ⋅ bijij
./
C m,n
= Am,n . / B m,n
cij
= aij ⋅ bij -1 =
a ij
.\
C m,n
= Am,n . \ B m,n
cij
= aij -1 ⋅ bij =
bij
.^
C m,n
= Am,n . ^B m,n
cij
= a ijb ij
OPERACIÓN TIPO MATRIZ (reglas del álgebra lineal)
20. Evalúe la función de variable independiente t y paráme-
tros A, f y f
+/-
(
R(t ) = A sen 2p f t + f
)
*
en el instante t = 0.013 , para A = 134 2 , f = 60Hz y
= 30º .
>> t = 0.1; >> A = 134*sqrt(2); >> f = 60; >> phi = 30*pi/180; >> R = A*sin(2*pi*f*t + phi) R = 94.7523
21. Evalúe la función anterior para instantes de tiempo que varíen entre 0 y 1 seg. con incremento de 0.1, cambiando la frecuencia a 59.53 Hz.
REGLA DE CORRESPONDENCIA
(elemento a elemento)
>> V1 = 120*sin(300*pi*0.4/7 + pi/8) V1 = -89.4771
C m,n C m, p
bij
a ij
REGLA DE CORRESPONDENCIA
= Am,n B m,n
= Am,n * B n, p
cij cij
= aij bij =
n
å aik ⋅ bkj
k =1
C m,n
= Am,n B n-,n1
= Am,m \ B m,n
Cm,n
= Am-,1m B m,n
= Am,m ^ p
Cm,m
= Am,mAm,m Am,m
/
C m,n
= Am,n / B n,n
\
Cm,n
^
C m,m
( p: escalar )
p veces
Todas estas operaciones tienen sus equivalentes en forma de comandos (funciones) MATLAB Internas. OPERACIÓN ARITMÉTICA
Adición binaria
>> t = (0:0.1:1).'; >> f = 59.53; >> R = A*sin(2*pi*f*t + phi) R = 94.7523 42.8870 -12.6912 -67.1707 -115.8349 -154.4705 -179.7327 -189.4344 -182.7356 -160.2164 -123.8262
Mas unario Sustracción binaria Menos unario Multiplicación Multiplicación matricial
+A A-B -A
plus(A,B) uplus(A) minus(A,B) unminus(A)
Multiplicación Multiplicación de arreglos
A.*B
times(A,B)
División derecha matricial
A/B
mrdivide(A,B)
División derecha de arreglos
A./B
rdivide(A,B)
División izquierda matricial
A\B
mldivide(A,B)
A.\B
ldivide(A,B)
Potenciación de arreglos
4
A+B
FUNCIÓN EQUIVALENTE
mtimes(A,B)
Potenciación matricial
Las operaciones se determinan dependiendo de la concepción que se tenga sobre el arreglo, si lo concebimos como un arreglo las operaciones serán elemento a elemento (elementwise); mientras que si lo concebimos como una matriz, las operaciones son las normadas por las reglas del álgebra lineal.
EXPRESIÓN
A*B
División izquierda de arreglos
III. EXPRESIONES Y OPERADORES
Miguel Ataurima Arellano
ARREGLO +
Las reglas de correspondencia se detallan a continuación
19. Evalúe la expresión
f
MATRIZ +
Construct complex data from real and imaginary parts.
Rounding and remainder. fix - Round towards zero. floor - Round towards minus infinity. ceil - Round towards plus infinity. round - Round towards nearest integer. mod - Modulus (signed remainder after division). rem - Remainder after division. sign - Signum.
V 1
TIPO
OPERACIÓN
A^B A.^B
Transpuesta compleja
A'
Transpuesta matricial
A.'
mpower(A,B) power(A,B) ctranspose(A) transpose(A)
http://matlabperu.blogspot.com
22. Dados los arreglos A=
é -2 1 3 ù ê ú ê ú ê 7 8 1ú êë úû
é 0 1 -1 2 ù ê ú ê ú 7 1 úú B = êê -3 2 ê ú ê 1 8 1 -4 ú êë úû
é2ù ê ú ê ú C = êê 1 úú ê ú ê3ú êë úû
Cuando participan escalares en una expresión MATLAB, los operadores toman comportamientos particulares. Sea el escalar k (arreglo de 1x1), entonces: OPERACIÓN TIPO ARREGLO
REGLA DE CORRESPONDENCIA
(elemento a elemento)
Efectuar las operaciones matriciales a) AB b) (AAT )-1 c) A (CC T )3 B
+/-
>> A = [-2 1 3; 7 8 1]; >> B = [0 1 -1 2; -3 2 7 1; 1 8 1 -4]; >> C = [2 1 3].'; >> A*B ans = 0 24 12 -15 -23 31 50 18
.*
Bm,n
= k Am,n
Bm,n
= k . * Am,n = Am,n . * k
Bm,n
= k . / Am,n
Bm,n
= Am,n . / k
Bm,n
= k . \ Am,n
Bm,n
= Am,n . \ k
Bm,n
= k . ^Am,n
Bm,n
= Am,n . ^k
bij
= k a ij
bij
= k ⋅ a ij
bij
= k ⋅ a ij -1 =
bij
= aij ⋅ k -1 =
a ij
bij
= k -1 ⋅ a ij =
a ij
bij
= aij -1 ⋅ k =
k
bij
= k a ij
bij
= a ij k
k a ij
./ >> (A*A.')^-1 ans = 0.0718 0.0019 0.0019 0.0088 >> A*(C*C.')^3*B ans = 0 32928 0 137200
9408 39200
-8232 -34300
.\
23. Dada las matrices
é 2 -1 ù ê ú U = ê ú ê3 0 ú úû ëê
é 1 -1 2 ù ê ú V = ê ú ê 3 2 1ú úû ëê
b) V . / A
c) A . ^V
OPERACIÓN TIPO MATRIZ
+/-
e) (AAT )U -U Considere la multiplicación potenciación (AAT )U elemento a elemento NOTA:
*
y a la
>> U = [2 -1; 3 0]; >> V = [1 -1 2; 3 2 1]; >> A A = -2 1 3 7 8 1 >> A.*V ans = -2 21
-1 16
>> V./A ans = -0.5000 0.4286 >> A.^V ans = -2 343
Bm,n
= k Am,n
Bm,n
= k * Am,n = Am,n * k
Bm,n
= k / Am,n
Bm,n
= Am,n / k
Bm,n
= k \ Am,n
Bm,n
= Am,n \ k
Bm,n
= k ^Am,n
Bm,m
= Am,m ^ k
bij
= k a ij
bij
= k ⋅ a ij
9 1
>> V.*A+A ans = -4 0 28 24
9 2
bij
= aij ⋅ k -1 =
a ij
bij
= k -1 ⋅ a ij =
a ij
k
k
\
0.6667 1.0000
/$
$ solo si A es cuadrada y su cálculo utiliza los valores y vectores propios de A. Bm,m
= Am,m Am,m k veces
24. Dados los arreglos del ejemplo 21 y 22, obtenga el resul-
tado de las siguientes operaciones matriciales con escalares a) A - 2 *V b) U 5 -U 3 c) 3 AAT + 4U -2
>> (A*A.').^U - U ans = 194.0000 0.6667 -30.0000 1.0000
Miguel Ataurima Arellano
/$
^ 1 64
/
6 1
-1.0000 0.2500
a ij
REGLA DE CORRESPONDENCIA
(elemento a elemento)
d) V . * A + A
AAT matricial
k
.^
y utilizando las matriz A del ejemplo anterior, obtenga el resultado de las siguientes operaciones elemento a elemento (elementwise) a) A ⋅ *V
k
é Aù ê ú ê T ú 2 T d) (BB ) + 2 êëC úû
5
é AVT UV e) êê êë (C + ATVC ) T
ù-1 ú ú úû
http://matlabperu.blogspot.com
>> A - 2*V ans = -4 3 1 4
>> whos t R g DATOS Name Size -1 -1
DATOS R g t
>> U^5 - U^3 ans = -6 12 -36 18
>> theta = 0:pi/4:2*pi; >> r1 = 1+cos(theta); >> r2 = 1-sin(theta); >> U = [theta' r1' r2'] U = 0 0.7854 1.5708 2.3562 3.1416 3.9270 4.7124 5.4978 6.2832
25. Evalúe la función de variable independiente t y paráme-
tros A, b, f y f -bt
(
sen 2p f t + f
)
>> t1 = linspace(0,pi,1000); >> V1 = [cos(3*t1)' sin(2*t1)' exp(sin(4*t1))']; >> M1 = sqrt(sum(V1'.^2)'); >> max1 = max(M1), min1 = min(M1) max1 = 2.9625 min1 = 0.7600
-44.7823 15.4001 69.4716
g t
101x1 101x1
808 808
Class
en t Î [0, [0, p ] . Utilice 1000 particiones del dominio a) Con distribución lineal. b) Con distribución logarítmica Finalmente active la visualización en formato extendido (comando format , 15 dígitos) y compare los resultados.
>> f = 100; >> T = 1/f; >> t = (0:T/10:10*T).'; >> A = 120; >> b = 2; >> phi = pi/4; >> g = A*exp(-b*t).*sin(2*pi*f*t + phi) g = 84.8528 118.2858 106.4940 54.1530 -18.6226
Bytes
1.0000 0.2929 0 0.2929 1.0000 1.7071 2.0000 1.7071 1.0000
sen 4 t k V(t ) = cos 3t i + sen 2t j + e sen
= p / 4 rad rad .
>> whos t g Name Size
2.0000 1.7071 1.0000 0.2929 0 0.2929 1.0000 1.7071 2.0000
28. Determine la máxima y mínima de las normas del vector
en t Î [0,1 [0,100T ] con paso T / 10 , para A = 120 , b = 2 , f
double double double double
Para q Î [0;2p ] con paso p / 4 , en un único listado
>> [A*V.'*U*V;(C+A.'*V*C).']^-1 ans = -0.2311 0.0053 -0.0152 0.0971 -0.0036 0.0152 0.1627 -0.0001 0.0152
= 100Hz y
Attributes
r 2 (q) = 1 - sen q
>> (B*B.')^-2 + 2^[A;C.'] ans = 51.3146 70.6763 38.9358 351.7387 494.6379 243.7633 73.6193 100.7770 58.4823
f
1224 408 408 408
Class
27. Visualice en forma tabulada las funciones r 1 (q) = 1 + cos q
>> 3*A*A.' + 4*U^-2 ans = 40.6667 -8.1111 -11.6667 342.4444
g(t ) = Ae
51x3 51x1 51x1 51x1
Bytes
>> t2 = logspace(0,pi,1000); >> V2 = [cos(3*t2)' sin(2*t2)' exp(sin(4*t2))']; >> M2 = sqrt(sum(V2'.^2)'); >> max2 = max(M2), min2 = min(M2) max2 = 2.9625 min2 = 0.7600
Attributes
double double
>> format long
26. Construya un arreglo de tres columnas, en el que la pri-
>> max1, min1 max1 = 2.962522116065671 min1 = 0.760019487165893
mera esté constituida por el dominio t , y las demás por el resultado de las evaluaciones de las funciones R(t ) y g (t ) sobre dicho dominio. Considere a t Î [ 0, 0, 5T ] con paso T / 10 , A = 120 , b
= 2 , f = 100Hz y
f
rad . = p / 4 rad
>> t = (0:T/10:5*T).'; >> R = A*sin(2*pi*f*t + phi); >> g = exp(-b*t).*R; >> DATOS = [t R g] DATOS = 0 84.8528 84.8528 0.0010 118.5226 118.2858 0.0020 106.9208 106.4940
0.0480 0.0490 0.0500
-54.4789 18.7721 84.8528
Miguel Ataurima Arellano
>> max2, min2 max2 = 2.962545866465226 min2 = 0.760019689508166
29. Liste las funciones matriciales del álgebra lineal numérica
( ); luego, resuelva el sistema matfun
ìïï 3x1 + 4x2 + x3 ïï ïï 2x + x + 9x 2 3 ïï 1 íï ïï x1 + 2x2 + x3 ïï ïï x2 ïî
-49.4921 17.0197 76.7780 6
+ 5x4 =
2
+ 2x4 =
1
+
x4
= -2
-
x 4
=
3
http://matlabperu.blogspot.com
Efectuando todos los análisis previos antes de la obtención de la solución del sistema.
>> a = [ fix(f) floor(f) ceil(f) round(f) ] a = -1 -2 -1 -1 1 1 2 1 2 2 3 3 1 1 2 2 -1 -2 -1 -2 -4 -5 -4 -4
>> A = [3 4 1 5; 2 1 9 2; 1 2 1 1; 0 1 0 -1] A = 3 2 1 0
4 1 2 1
1 9 1 0
5 2 1 -1
>> B = [2 1 -2 3]' B =
1 -1
1 -2
2 -1
1 -1
IV. INDEXACIÓN DE MATRICES
2 1 -2 3
31. Construya una matriz mágica de orden 7 y efectúe las si-
guientes operaciones a) Obtenga en un arreglo P los elementos de A comprendidos entre las filas 2 y 5 y las columnas 1 y 4. b) Obtenga en un arreglo Q las tres últimas columnas de A. c) Obtenga en un arreglo R las tres primeras filas de A. d) Crear un arreglo B que contenga las filas de A con las filas 1 y 4 intercambiadas. e) Incrementar la fila 4 del arreglo B en 5 veces la fila 7 f) Asignar a las columnas 3 y 6 de A, las filas 2 y 4 del arreglo B respectivamente. g) Eliminar la fila 3 y la columna 5 del arreglo B. h) Intercambiar las columnas 1 y 7 del arreglo A. i) Listar los elementos del arreglo A como un único vector columna. j) Listar en un vector columna D los elementos de B que no exceden de la media de los elementos el ementos de B. k) Convertir en 0 los elementos de A que no excedan de la media de los elementos de A.
>> det(A) ans = 6 >> inv(A) ans = 4.0000 -1.1667 -0.5000 -1.1667
1.0000 -0.3333 0.0000 -0.3333
-13.0000 4.1667 1.5000 4.1667
9.0000 -2.3333 -1.0000 -3.3333
>> rank(A) ans = 4
>> rref(A) ans = 1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
>> [V,D] = eig(A) V = 0.6955 0.6449 0.3080 0.0742
0.9172 -0.2990 -0.1299 -0.2290
-0.8344 0.1083 0.0441 0.5386
0.1948 -0.8581 0.2695 0.3913
D = 7.6859 0 0 0
0 0.3060 0 0
0 0 -0.7990 0
0 0 0 -3.1929
>> x = A\B x = 62.0000 -18.0000 -7.0000 -21.0000
30. Dada la función
æ sen t ö÷ ÷÷ èç t ø÷
f (t ) = 20 ççç
>> A = magic(7) A = 30 39 48 38 47 7 46 6 8 5 14 16 13 15 24 21 23 32 22 31 40
1 9 17 25 33 41 49
>> P = A(2:5,1:4) P = 38 47 7 46 6 8 5 14 16 13 15 24
9 17 25 33
>> Q = A( 1:7 , 5:7 ) Q = 10 19 28 18 27 29 26 35 37 34 36 45 42 44 4 43 3 12 2 11 20
Liste los números enteros resultantes de las aproximaciones: a) tendiendo a 0 b) tendiendo a -¥ c) tendiendo a +¥ d) tendiendo al entero mas cercano (redondeo) para t Î [-10,10] 10,10] con una distribución lineal de 20 muestras en forma tabulada.
>> R = A( 1:3 , : ) R = 30 39 48 38 47 7 46 6 8
>> t = linspace(-10,10,20)'; >> f = 20*sin(t)./t f = -1.0880 1.0271 2.5312 1.5500 -1.6371 -4.2210
10 18 26 34 42 43 2
19 27 35 36 44 3 11
28 29 37 45 4 12 20
>> Q = A( : , 5:7 ) Q = 10 19 28 18 27 29 26 35 37 34 36 45 42 44 4 43 3 12 2 11 20
1 9 17
10 18 26
19 27 35
28 29 37
>> B = A( [4 2 3 1 5 6 7], : ) B = 5 14 16 25 34 38 47 7 9 18 46 6 8 17 26 30 39 48 1 10 13 15 24 33 42 21 23 32 41 43 22 31 40 49 2
36 27 35 19 44 3 11
45 29 37 28 4 12 20
1.0271 -1.0880 Miguel Ataurima Arellano
7
http://matlabperu.blogspot.com
>> B(4,:) = B(4,:) + 5*B(7,:) B = 5 14 16 25 34 38 47 7 9 18 46 6 8 17 26 140 194 248 246 20 13 15 24 33 42 21 23 32 41 43 22 31 40 49 2 >> A(:,[3 A = 30 38 46 5 13 21 22
V. LOS ARCHIVOS M 36 27 35 74 44 3 11
45 29 37 128 4 12 20
32. Implemente un archivo M script que permita ingresar al
usuario un conjunto de temperaturas dadas en grados centígrados; el programa deberá visualizar sus equivalentes en grados Fahrenheit. Cargamos el editor
6]) = B([2 4],:)' 39 47 6 14 15 23 31
38 47 7 9 18 27 29
1 9 17 25 33 41 49
10 18 26 34 42 43 2
140 194 248 246 20 74 128
28 29 37 45 4 12 20
>> B(3,:)=[], B(:,5)=[] B = 5 14 16 25 38 47 7 9 140 194 248 246 13 15 24 33 21 23 32 41 22 31 40 49
34 18 20 42 43 2
36 27 74 44 3 11
45 29 128 4 12 20
36 27 74 44 3 11
45 29 128 4 12 20
>> edit
B = 5 38 140 13 21 22
14 47 194 15 23 31
16 7 248 24 32 40
25 9 246 33 41 49
Procedemos a digitar las siguientes sentencias
>> A = A(:,[7 2 3 4 5 6 1]) A = 28
29 37 45 4 12 20
39
47 6 14 15 23 31
38
1
47 7 9 18 27 29
10
9 17 25 33 41 49
140
18 26 34 42 43 2
30
194 248 246 20 74 128
38 46 5 13 21 22
>> A(:) ans = 28 29 37 45 4 12 20 39
Para guardar el script selciconamos la opción Save del menú File. Le asginamos el nombre temps (MATLAB procederá a asignarle por defecto la extensión .m ) Finalmente, ejecutamos el script digitando su nombre desde la línea de comandos (Ventana de Comandos)
30 38 46 5 13 21 22 >> D = B( B < mean( B(:) ) ) D = 5 38 13
Con motivos de verificación, ingrese los valores que se proponen a continuación, luego compare los resultados obtenidos.
4 12 20 >> A( A < mean( A(:) ) ) = 0 A = 0 0 0 0 0 0 47 47 0 0 0 0 0 0 0 45 0 0 0 0 0 0 0 0 0 0 0 0 0 43 0 0 0 49 0 Miguel Ataurima Arellano
140 194 248 246 0 74 128
0 0 46 0 0 0 0 8
http://matlabperu.blogspot.com
( ) que 33. Implemente un archivo M script mitrapecio.m
>> z = fcn2([1 0; 3 2], [z' ’*z']’ z = 2.5471 2.0000 0.8702 2.6715
permita el cálculo de I
b
= ò sen(x )dx a
Utilizando la regla del trapecio con N particiones.
35. Implemente un archivo M función que permita evaluar la
función de distribución normal
mitrapecio.m
f( x) =
1
2 1 æ x -m ö÷÷ - ççç ÷ ÷ ç e 2 è s ø
s 2p
considerando que : es la variable independiente : son los parámetros de la función
x m, s
NOTA: Cuando una función recibe argumentos de entrada, no distingue si son variables o parámetros, los trata como simples variables locales minormal.m
Compare sus resultados, con los de la siguiente prueba Invocación: >> y = minormal(0,0,1) y = 0.3989
>> y = minormal([-3 -1.5 0 1.5 3],0,1) y =
34. Implemente un archivo M función que permita la evalua-
0.0044
ción de la función. f ( x, y) = x +
2y - x 2 x2
+ y 2 + 10-3
Periodo
fcn1.m
Invocación >> z = fcn1(3,4) z = 2.8000 >> z = fcn1(pi,sqrt(2)) z = 1.0979
b) Considerado el caso general, es decir que que los argumentos de entrada son arreglos.
0.1295
0.0044
PBI
Tasa de
Tasa de
Inversión
real
Interés
Inflación
real
1
1.058
5.16
4.40
0.161
2
1.088
5.87
5.15
0.172
3
1.086
5.95
5.37
0.158
4
1.122
4.88
4.99
0.173
5
1.186
4.50
4.16
0.195
6
1.254
6.44
5.75
0.217
7
1.246
7.83
8.82
0.199
8
1.232
6.25
9.31
0.163
9
1.298
5.50
5.21
0.195
10
1. 1.370
5.46
5.83
0.231
11
1. 1.439
7.46
7.40
0.257
12
1 .479
10.28
8.64
0.259
13
1 .474
11.77
9.31
0.225
14
1 .503
13.42
9.44
0.241
15
1 .475
11.02
5.99
0.204
Implemente un archivo M función que permita estimar una ecuación de inversión, mediante a) Una regresión de la inversión real sobre una constante, el periodo, y el PBI real. b) Una regresión de la inversión real sobre una constante, el periodo, el PBI real y la tasa de interés. c) Una regresión de la inversión real sobre una constante, el periodo, el PBI real, la tasa de interés y la tasa de inflación.
fcn2.m
Invocación >> z = fcn2([3 pi]',’[4 sqrt(2)]')’z = 2.8000 1.0979
37. Implemente un archivo M función que calcule la media,
varianza y desviación estándar de un conjunto de observaciones (muestras) agrupadas en un vector columna.
>> z = fcn2([3 pi]',’[4 sqrt(2)]')’z = 2.8000 1.0979
Miguel Ataurima Arellano
0.3989
36. Considerando las series dispuestas en la siguiente tabla
a) Considerando que los argumentos de entrada serán en todo instante escalares.
>> z = fcn2([3 pi], [4 sqrt(2)]) z = 2.8000 1.0979
0.1295
9
http://matlabperu.blogspot.com
é x 1 ù ê ú ê ú ê x 2 ú ê ú x = ê ú ê ú ê ú ê ú êë x n úû
=
X
1
å
n k =1
Var(x ) = S X
40. Implemente un archivo M función que efectúe la misma
n
tarea que el archivo M script del ejemplo ej emplo 32.
x k n
1
å
n - 1 k =1
NOTA: Observe que en este caso el usuario solo tendrá como único medio para el ingreso de las temperaturas en grados Centígrados, al argu mento de entrada que la función puede recibir, y el valor retornado en el argumento de salida será el resultado deseado.
(xk - X )2
= Var(x )
cent2fah.m
stats1.m
Invocación: >> F = cent2fah( [17 32 35 53] ) F = 62.6000 89.6000 95.0000 127.4000
Invocación:
41. Implemente un archivo M función que efectúe la misma
>> format bank >> x = randn(100000,1); >> [m,v,d] = stats1(x)
tarea que el archivo M script del ejemplo ej emplo 33.
m =
trapecio.m
0.00 v = 1.00 d = 1.00
38. Implemente un archivo M función que simule el compor-
tamiento del lanzamiento de un dado, es decir, imprima al azar un número entero comprendido entre 1 y 6.
Invocación: >> I = trapecio(0,pi,200) I = 2.0000
dado.m
Invocación: Ciudad Universitaria, Febrero 2011
>> dado ans = 4
>> dado, dado, dado ans = 2 ans = 5 ans = 1
E ating con horizonte finito 39. Al resolver el problema Cake Eating T
max {c t }
b ln c å = t
t
t 0
sujeto a
= xt - c t x T +1 ³ 0 xt +1
dado Se obtiene como solución, las sendas x 0
xt ct
= =
(
b t 1 - b T -t + 1
1 - b T +1
(
) x
0
) x
b t 1 - b
1 - b T +1
0
Implemente los archivos script y/o función M necesarios para graficar las sendas, considerando que el usuario debe ingresar x 0 , b y T
Miguel Ataurima Arellano
10
http://matlabperu.blogspot.com