cynchu matlab

34
1 - Generar dos matrices cuadradas de 3x3 elementos M = [5 7 9; 5 7 -3; -5 7 9] N = [4 7 8; -4 -2 -7; 3 6 1] >> M = [5 7 9; 5 7 -3; -5 7 9] M = 5 7 9 5 7 -3 -5 7 9 >> N = [4 7 8; -4 -2 -7; 3 6 1] N = 4 7 8 -4 -2 -7 3 6 1 A – Hallar la suma de M + N. >> M+N ans = 9 14 17 1 5 -10 -2 13 10 B – Hallar la resta de M-N. >> M-N ans = 1 0 1 9 9 4 -8 1 8 C – Hallar la multiplicación de M*N. >> M*N ans =

description

espero que les sirva

Transcript of cynchu matlab

Page 1: cynchu matlab

1 - Generar dos matrices cuadradas de 3x3 elementos M = [5 7 9; 5 7 -3; -5 7 9] N = [4 7 8; -4 -2 -7; 3 6 1]

>> M = [5 7 9; 5 7 -3; -5 7 9]

M =

5 7 9 5 7 -3 -5 7 9

>> N = [4 7 8; -4 -2 -7; 3 6 1]

N =

4 7 8 -4 -2 -7 3 6 1

A – Hallar la suma de M + N.>> M+N

ans =

9 14 17 1 5 -10 -2 13 10

B – Hallar la resta de M-N.>> M-N

ans =

1 0 1 9 9 4 -8 1 8

C – Hallar la multiplicación de M*N.>> M*N

ans =

19 75 0 -17 3 -12 -21 5 -80

D – Elevar cada elemento de N a la potencia 3.>> N.^3

ans =

Page 2: cynchu matlab

64 343 512 -64 -8 -343 27 216 1

2 – Crear una matriz cuadrada B de 4 elementos enteros a partir de la generación de números aleatorios enteros.

>> B=magic(4)

B =

16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1

A – Crear otra matriz determinando que elementos de la matriz B son mayores a 5.

>> m=find(B>5)

m =

1 3 6 7 8 10 11 12 13 14 15

B – Generar una nueva matriz remplazando los valores mayores a 5 por el valor -10

>> B(m)=-10*ones(size(m))

B = -10 2 3 -10 5 -10 -10 -10 -10 -10 -10 -10 4 -10 -10 1

3 - Considerando el polinomio, 8x ^ 5 + x ^ 4 – x ^ 3 + 2x ^ 2 + 4x -5 = 0. A – Hallar las raices.

>> pol=[8 1 -1 2 4 -5]

Page 3: cynchu matlab

pol =

8 1 -1 2 4 -5

>> roots(pol)

ans =

-0.8420 + 0.5711i -0.8420 - 0.5711i 0.4302 + 0.8241i 0.4302 - 0.8241i 0.6987

B – Evaluar el polinomio para x = 2.

>> polyval(pol,2)

ans =

275C – Hallar la derivada del polinomio.>> polyder(pol)

ans =

40 4 -3 4 4

4 – Crear un polinomio de cuarto grado con los siguientes valores 4, 7 ,2 ,8 1 y un polinomio de tercer grado con los valores 2,4,3,5 .pol1=[4 7 2 8 1]

pol1 =

4 7 2 8 1

>> pol2=[2 4 3 5]

pol2 =

2 4 3 5

A – Hallar el producto de ambos polinomios.

>> pol3=conv(pol1,pol2)

pol3 =

8 30 44 65 75 38 43 5

Page 4: cynchu matlab

B - Una vez obtenido resultado de A hallar la derivada del producto.>> polyder(pol3)

ans =

56 180 220 260 225 76 43

C - Hallar la división de ambos polinomios.

>> deconv(pol1,pol2)

ans =

2.0000 -0.5000

5 – Graficar una representación de la función y = sin(x) . El grafico debe tener como encabezamiento el titulo “FACULTAD DE CIENCIAS QUIMICAS”. Sobre el eje y debe aparecer la sentencia “TEMPERATURA” y sobre el eje x “TIEMPO”.

El rango de los valores representados de ser desde 1 hasta 15 en pasos de 0.05..

0 5 10 15-1

-0.5

0

0.5

1

TIEMPO

TEM

PE

RA

TUR

A

FACULTAD DE CIENCIAS QUIMICAS

6 – Se ha tomado la lectura de la temperatura de un proceso según la tabla.

No de lectura

Temperatura en ºC

1 712 753 74

Page 5: cynchu matlab

4 725 766 747 728 719 7010 7111 7312 7313 7414 7215 73

Graficar la evolución de la temperatura. El grafico debe tener como encabezamiento el titulo “FACULTAD DE CIENCIAS QUIMICAS”. Sobre el eje y debe aparecer la sentencia “TEMPERATURA” y sobre el eje x “TIEMPO”. .

0 5 10 1570

71

72

73

74

75

76

tiempo

temperatura

FACULTAD DE CIENCIAS QUIMICAS

TRABAJO PRÁCTICO 21 – Crear un vector de 20 números enteros aleatorios y determinar utilizando funciones de librería de MATLAB

x=1:2:40

x = 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39A – máximo elemento del vector

max(x)

ans = 39

Page 6: cynchu matlab

B – mínimo elemento del vector

min(x)

ans =1C – Suma de los elementos del vector

sum(x)

ans = 400

D – Valor medio

mean(x)

ans = 20

E _ Desviación típica

std(x)

ans = 11.8322F – Producto de los elementos del vectorprod(x)

ans = 3.1983e+023

G – Producto acumulativo del vectorcumprod(x)

ans =

1.0e+023 *

Columns 1 through 14

0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000

Columns 15 through 20

0.0000 0.0000 0.0001 0.0022 0.0820 3.1983

H – Ordenar de menor a mayor los elementos del vector.

x =

Page 7: cynchu matlab

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 392 – Crear una matriz con los siguientes elementos 16,2,12; 6,10,14; 8,18,4;

L=[16 2 12; 6 10 14; 8 18 4]

L =

16 2 12 6 10 14 8 18 4Utilizando funcione de MATLAB hallar:A - Todos los elementos mayores a 8.j=L>8

j = 1 0 1 0 1 1 0 1 0B – Sustituir los elementos que cumplen la condición anterior por valores de 11L(j)=11

L = 11 2 11 6 11 11 8 11 4

C – Comprobar si existe algún elemento número 6 m=find(L==6)

m = 23 – Utilizando comandos de MATLAB hallar:A – La hora actualclock

ans = 2.0100 0.0080 0.0260 0.0160 0.0220 0.0185

B –La fechadate

ans = 26-Aug-2010C – El calendario actual

calendar Aug 2010 S M Tu W Th F S

Page 8: cynchu matlab

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 0 0 0 0

4 – Crear una matriz cuadrada (M)de 5 elementos enteros. Hallar:M=magic(5)

M =

17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9

A – Polinomio característico de la matrizpoly(M)

ans =1.0e+006 *

0.0000 -0.0001 -0.0006 0.0406 0.0780 -5.0700B – Evaluar el polinomio de la matrizpol=[ 0.0000 -0.0001 -0.0006 0.0406 0.0780 -5.0700]

pol =

0 -0.0001 -0.0006 0.0406 0.0780 -5.0700

polyval(pol,2)

ans = -4.7580

C - crear otra matriz (N)de similares dimensiones a la anterior hallar el polinomio característico y evaluar el polinomio del mismoN =

51 72 3 24 45 69 15 21 42 48 12 18 39 60 66 30 36 57 63 9 33 54 75 6 27poly(N)

ans =1.0e+009 *

0.0000 -0.0000 -0.0000 0.0011 0.0063 -1.2320

polyval(pol,1)

Page 9: cynchu matlab

ans = -4.9521

D – hallar el producto de ambos polinomios

c=conv(M,N)

c= 0 0 0 0 -0.0000 -0.0000 0.0002 0.0011 -0.0551 -0.1280 6.2462

E – Dividir el polinomio N por el polinomio M[q,r]=deconv(N,M)

q = 0

r = 0.0011 0.0063 -1.2320F = calcular la derivada de ambos polinomiosh=polyder(M)

h =

-0.0004 -0.0018 0.0812 0.0780

g=polyder(N)

g =

0.0022 0.0063

G – Calcular la derivada del producto de ambos polinomios

r=polyder(c)

r = -0.0000 -0.0000 0.0007 0.0032 -0.1102 -0.1280

TRABAJO PRÁCTICO Nº3

1. Obtener un vector cuyos componentes: a) se encuentren entre 5 y 25, y separados por 5 unidades

>> e=[5:5:25]e = 5 10 15 20 25

b) sean los números entre 10 y 30 separados por una unidad

>> s=[10:1:30]s =

Page 10: cynchu matlab

10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

c) 6 números entre 0 y 20 igualmente espaciados >> d=linspace(0,20,6)d = 0 4 8 12 16 20

2. Construir una matriz A de 2x3 cuyas filas son los 6 primeros impares consecutivos A=[1 3 5;7 9 11]

A =

1 3 5 7 9 11

a) Anular el elemento (2,3)

A(2,3)=0

A =

1 3 5 7 9 0

b) Obtener la matriz B = A’

>> B=A'

B =

1 7 3 9 5 0

c) Construir una matriz C, formada por la matriz B y la matriz identidad de orden 3 adosada a su derecha

C=[B eye(3)]

C =

1 7 1 0 0 3 9 0 1 0 5 0 0 0 1

c) Construir una matriz D extrayendo las columnas impares de la matriz C

D=[C(:,[1 3 5])]

D =

1 1 0 3 0 0

Page 11: cynchu matlab

5 0 1

d) Construir una matriz E formada por la intersección de las dos primeras filas de C y sus columnas tercera y quinta

E=[C([1 2],[3 5])]

E =

1 0 0 0

e) Construir una matriz F formada por la intersección de las dos primeras filas y las tres últimas columnas de la matriz C

>> F=[C([1 2],[3 4 5])]

F =

1 0 0 0 1 0

f) Construir una matriz diagonal G tal que los elementos de su diagonal principal son los mismos que los de la diagonal principal de D

g=diag(D)

g =

1 0 1G=diag(g)G =

1 0 0 0 0 0 0 0 1

g) Calcular el orden de la matriz C S=size(C)

S =

3 5

3. Introducir las matrices: A = [7 8 9; 1 2 3; 4 5 6]

Page 12: cynchu matlab

B = [1+2i 3+i; 4+i, i] Calcular: sin(A) , sin(B), exp(A), exp(B), log(B), sqrt(B), abs(B), imag(B) Estas funciones se aplican elemento a elemento de la matriz, en cambio si

utilizamos la siguiente sintaxis, se aplica a toda la matriz. Calcular: expm(B) , logm(A)

A=[7 8 9; 1 2 3; 4 5 6];>> B=[1+2i 3+i; 4+i, i]

B =

1.0000 + 2.0000i 3.0000 + 1.0000i 4.0000 + 1.0000i 0 + 1.0000i

>> sin(A)

ans =

0.6570 0.9894 0.4121 0.8415 0.9093 0.1411 -0.7568 -0.9589 -0.2794sin(B)

ans =

3.1658 + 1.9596i 0.2178 - 1.1634i -1.1678 - 0.7682i 0 + 1.1752i

>> exp(A)

ans =

1.0e+003 *

1.0966 2.9810 8.1031 0.0027 0.0074 0.0201 0.0546 0.1484 0.4034

>> exp(B)

ans =

-1.1312 + 2.4717i 10.8523 +16.9014i 29.4995 +45.9428i 0.5403 + 0.8415i

>> log(B)

ans =

0.8047 + 1.1071i 1.1513 + 0.3218i

Page 13: cynchu matlab

1.4166 + 0.2450i 0 + 1.5708i

>> sqrt(B)

ans =

1.2720 + 0.7862i 1.7553 + 0.2848i 2.0153 + 0.2481i 0.7071 + 0.7071i

>> abs(B)

ans =

2.2361 3.1623 4.1231 1.0000

>> imag(B)

ans =

2 1 1 1

>> expm(B)

ans =

-27.9191 +14.8698i -20.0011 +12.0638i -24.7950 +17.6831i -17.5059 +14.0445i

>> logm(A)

ans =

11.9650 12.8038 -19.9093 -21.7328 -22.1157 44.6052 11.8921 12.1200 -21.2040

4. Introducir los siguientes vectores: X = [5, 4, 3]; Y = [1, 2, 7]. Realizar las siguientes operaciones:

a) X+Y b) X-Y c) X.*Y d) 2.*X e) 2./X f) 2.\Y g) X./Y h) Y.\X i) X.^2 j) 2.^X

Page 14: cynchu matlab

k) X.^Y l) X’*Y m) X*Y’ n) 2*X o) X/Y p) Y\X

X=[5, 4, 3];>> Y=[1, 2, 7];>> X+Y

ans =

6 6 10

>> X-Y

ans =

4 2 -4

>> X.*Y

ans =

5 8 212.*X

ans =

10 8 6> 2./X

ans =

0.4000 0.5000 0.6667

>> 2.\Y

ans =

0.5000 1.0000 3.5000X./Y

ans =

5.0000 2.0000 0.4286

>> Y.\X

ans =

Page 15: cynchu matlab

5.0000 2.0000 0.4286

>> X.^2

ans =

25 16 9

>> 2.^X

ans =

32 16 8

>> X.^Y

ans =

5 16 2187

>> X'*Y

ans =

5 10 35 4 8 28 3 6 21

>> X*Y'

ans =

34

>> 2*X

ans =

10 8 6

>> X/Y

ans =

0.6296

>> Y\X

ans =

Page 16: cynchu matlab

0 0 0 0 0 0 0.7143 0.5714 0.4286

Page 17: cynchu matlab

5. Introducir A = 2:7 y construir P = (A > 3) & (A< 6) A=2:7

A =

2 3 4 5 6 7

>> P=(A>3)&(A<6)

6. Introducir X = 3*ones(3,3) y comprobar X > = [7 8 9; 4 5 6; 1 2 3]

P =

0 0 1 1 0 0

>> X=3*ones(3,3)

X =

3 3 3 3 3 3 3 3 3

>> X>=[7 8 9; 4 5 6; 1 2 3]

ans =

0 0 0 0 0 0 1 1 1

7. Calcular el valor de las siguientes operaciones con números complejos: a) 14388+−−−iii b) )1(iseni+

c) ()iiLn1)(2+ d) ii)1(+

[(i^8- i^-8)/(3-4i)]+1

ans =

1i^sin(1+i)

ans =

-0.1667 + 0.3290i(2 + log(i))^(1/i)

Page 18: cynchu matlab

ans =

1.1581 - 01.5639iEjerc d(1 + i)^i

ans =

0.4288 + 0.1549i

8. Calcular parte real, imaginaria, módulo y argumento de ()ii−+131 b=[1 + (3i)^(1/2)]^(1-i)

b =

3.8204 - 1.7464i

>> real(b)

ans =

3.8204

>> imag(b)

ans =

-1.7464

>> modulo = abs(b)

modulo =

4.2006

>> angle(b)

ans =

-0.4288

9. Generar una matriz cuadrada de orden 4 cuyos elementos sean números aleatorios uniformes [0,1]. Generar otra matriz cuadrada de orden 4 cuyos elementos sean números aleatorios con distribución normal [0,1]. Observar las semillas generadoras actuales, cambiarlas al valor ½ y volver a generar las dos matrices de números aleatorios.

A=rand('seed')

A =

Page 19: cynchu matlab

774845808

>> A=rand(4)

A =

0.6868 0.5269 0.7012 0.0475 0.5890 0.0920 0.9103 0.7361 0.9304 0.6539 0.7622 0.3282 0.8462 0.4160 0.2625 0.6326

>> rand('seed',1/2)>> A=rand(4)

A =

0.2190 0.9347 0.0346 0.0077 0.0470 0.3835 0.0535 0.3834 0.6789 0.5194 0.5297 0.0668 0.6793 0.8310 0.6711 0.4175B=randn('seed')

B =

931316785

>> B=randn(4)

B =

1.0668 0.2944 -0.6918 -1.4410 0.0593 -1.3362 0.8580 0.5711 -0.0956 0.7143 1.2540 -0.3999 -0.8323 1.6236 -1.5937 0.6900

>> randn('seed',1/2)>> B=randn(4)B =

1.1650 -0.6965 0.2641 1.2460 0.6268 1.6961 0.8717 -0.6390 0.0751 0.0591 -1.4462 0.5774 0.3516 1.7971 -0.7012 -0.3600

10. Dada una matriz M cuadrada aleatoria uniforme de orden 3: a) Obtener su inversa, su transpuesta y su diagonal b) Transformarla en una matriz triangular inferior y en otra superior y rotarla 90

grados c) Obtener la suma de los elementos de la primera fila y la suma de los

elementos de la diagonal.

Page 20: cynchu matlab

d) Extraer la submatriz cuya diagonal son los elementos a11 y a22 y extraer

también la submatriz cuyos elementos de la diagonal son a11 y a33 M=rand(3)M =

0.8147 0.9134 0.2785 0.9058 0.6324 0.5469 0.1270 0.0975 0.9575

>> M'

ans =

0.8147 0.9058 0.1270 0.9134 0.6324 0.0975 0.2785 0.5469 0.9575

>> n=diag(M)

n =

0.8147 0.6324 0.9575

>> tril(M)

ans =

0.8147 0 0 0.9058 0.6324 0 0.1270 0.0975 0.9575

>> triu(M)

ans =

0.8147 0.9134 0.2785 0 0.6324 0.5469 0 0 0.9575

>> rot90(M)

ans =

0.2785 0.5469 0.9575 0.9134 0.6324 0.0975 0.8147 0.9058 0.1270s=M(1,[1:3])

Page 21: cynchu matlab

s =

0.8147 0.9134 0.2785

>> s+n'

ans =

1.6294 1.5457 1.2360

T=M([1 2],[1 2])

T =

0.8147 0.9134 0.9058 0.6324R=M([1 3],[1 3])

R =

0.8147 0.2785 0.1270 0.9575M=rand(3)

M =

0.9501 0.4860 0.4565 0.2311 0.8913 0.0185 0.6068 0.7621 0.8214

>> M'

ans =

0.9501 0.2311 0.6068 0.4860 0.8913 0.7621 0.4565 0.0185 0.8214

>> N=inv(M)

N =

1.6740 -0.1196 -0.9276 -0.4165 1.1738 0.2050 -0.8504 -1.0006 1.7125

>> diag(M)

Page 22: cynchu matlab

ans =

0.9501 0.8913 0.8214

>> tril(M)

ans =

0.9501 0 0 0.2311 0.8913 0 0.6068 0.7621 0.8214

>> triu(M)

ans =

0.9501 0.4860 0.4565 0 0.8913 0.0185 0 0 0.8214

>> rot90(M)

ans =

0.4565 0.0185 0.8214 0.4860 0.8913 0.7621 0.9501 0.2311 0.6068

>> s=M(1,[1:3])

s = 0.9501 0.4860 0.4565>> diag(M)'+sans = 1.9003 1.3773 1.2779

>> E=M([1 2],[1 2])E = 0.9501 0.4860 0.2311 0.8913>> D=M([1 3], [1 3])D =

0.9501 0.4565 0.6068 0.8214

Page 23: cynchu matlab

TRABAJO PRÁCTICO N°4 1. Si queremos graficar la formula y=3xInterpretar el siguiente código y escribir en la ventana de comando de MATLAB

x=0:0.1:100;>> y=3*x;>> plot (x,y)

El grafico representa una relación lineal entre los variables de x e y.Se dio el comando para que los valores de x fueran desde 0 hasta 100 con un incremento de 0.1

2. Representación de una función seno, coseno y tangente en un solo gráfico. x=linspace(0,2*pi,30);y=sin(x);t=cos(x);z=tan(x);

Page 24: cynchu matlab

>> plot(x,y,x,t,x,z)

3 -

Representar una función seno, coseno y tangente en tres gráficos diferentes un una sola pantalla.>> x=linspace(0,2*pi,30);>> y=sin(x);>> z=cos(x);>> a=tan(x);>> subplot(2,2,1)>> plot(x,y),axis([0 2*pi-1 1]),title('sin(x)')>> subplot(2,2,2)>> plot(x,z),axis([0 2*pi-1 1]),title('cos(x)')>> subplot(2,2,3)

Page 25: cynchu matlab

>> plot(x,a),axis([0 2*pi-1 1]),title('tan(x)')

4.

Representar gráficamente la función y=exp(5t)-1. Observar el resultadoEscribir en la línea de comandos >> axis([0, 1, 0, 50])Observar el grafico e interpretar.y=exp(5*t)-1;>> plot(t,y)

Page 26: cynchu matlab

y=exp(5*t)-1;>> axis([0, 1, 0, 50])

Al introducir el comando plot para la función y=exp(5t)-1, se observa un grafico con escala muy extendida. Al introducir el comando axis se da valores mínimos y máximos

Page 27: cynchu matlab

tanto para la variable “y” como para la variable “t” en un rango tal que sea posible la mejor visualización del grafico.

5 – Representar gráficamente la ecuación que describe el Movimiento Armónico Amortiguado. Cambiar las constantes de amortiguamiento para graficar una oscilación subamortiguada, sobreamortiguada y críticamente amortigadaMOVIMIENTO ARMÓNICO AMORTIGUADO>> t=0:1/200:10;>> w=2*pi;>> b=0.05;>> A=3;>> y=A*exp(-b*w*t).*sin(w*t);>> plot(t,y)

0 1 2 3 4 5 6 7 8 9 10-3

-2

-1

0

1

2

3movimiento armonico amortiguado

tiempo [s]

Am

plitu

d [c

m]

MOVIMIENTO ARMÓNICO SOBREAMORTIGUADOt=0:1/200:10;>> w=2*pi;>> A=3;>> b=1.1;>> y=A*exp(-b*w*t).*sin(w*t);>> plot(t,y)>> title('movimiento armónico sobreamortiguado')>> xlabel('tiempo [s]')>> ylabel('Amplitud [cm]')

Page 28: cynchu matlab

0 1 2 3 4 5 6 7 8 9 10-0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9movimiento armónico sobreamortiguado

tiempo [s]

Am

plitu

d [c

m]

Movimiento armónico Subamortiguado

>> t=0:1/200:10;>> w=2*pi;>> b=0.01;>> A=3;>> y=A*exp(-b*w*t).*sin(w*t);>> plot(t,y)>> title('Movimiento Armónico submortiguado')>> xlabel('tiempo [s]')>> ylabel('Amplitud [cm]')

Page 29: cynchu matlab

0 1 2 3 4 5 6 7 8 9 10-3

-2

-1

0

1

2

3Movimiento Armónico submortiguado

tiempo [s]

Am

plitu

d [c

m]

Movimiento Armónico Críticamente Amortiguado>>t=0:1/200:10; >> w=2*pi; >> b=1; >> A=3;>> y=A*exp(-b*w*t).*sin(w*t); >> plot(t,y) >> title('Movimiento Armónico Críticamente Amortiguado')>> xlabel('tiempo [s]') >> ylabel('Amplitud [cm]')

Page 30: cynchu matlab

0 1 2 3 4 5 6 7 8 9 10-0.2

0

0.2

0.4

0.6

0.8

1

1.2movimiento armónico criticamente amortiguado

tiempo [s]

Am

plitu

d [c

m]