Sei sulla pagina 1di 35

PRCTICASDOSYTRES/ejercicios EJERCICIO 1 Los operadores relacionales son: <, , >, , ==, ~= Devuelven 1 si el resultado de la evaluacin es true y 0 en otro caso.

o. EJERCICIO 2 - Los operadores lgicos son: &,|, ~ Devuelven 1 si el resultado de la evaluacin es true y 0 en otro caso. EJERCICIO 3 v=[2,-1,-7,5,12,8-6] v= 2 A.max(v) 12 min(v) -7 B.sum(v) 13 C.cumsum(v) 2 D.mean(v) 2.1667 E.std(v) 6.3061 F.prod(v) 1680 La segunda forma sera la multiplicacin y representacin acumulativa de los elementos del vector mediante la funcin: cumprod(v) Columns 1 through 4 1 -6 -1 11 13 -1 -7 5 12 2

-2

14

70

Columns 5 through 6 840 1680

G.-para la clasificacin de los elementos del vector se utiliza la funcin: sort(v) -7 -1 2 2 5 12

EJERCICIO 4 A=magic(3); M=find(A>4) M= 5 6 7 8 EJERCICIO 5 >> date ans = 30-Oct-2008 >> clock ans = 1.0e+003 * Columns 1 through 5 2.0080 Column 6 0.0462 >> calendar Oct 2008 S 0 5 12 19 26 M 0 6 13 20 27 Tu 0 7 14 21 28 1 8 15 22 29 W 2 9 Th 3 10 16 23 30 F 4 11 17 24 31 18 25 0 S 0.0100 0.0310 0.0170 0.0550

>> calendar(2008,12)

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

EJERCICIO 6 A.La expresin c='cadena' asigna a la variable c una cadena de caracteres. B.size c; tamao de c. C.Con double c; asignamos a la variable c el tipo double. D.En el ltimo paso lo que hacemos es usar la expresin: char(abs(c) ). Con esto lo que hacemos es hacer la raz cuadrada de c y asignarle el tipo char.

EJERCICIO 7 Definimos las expresiones siguientes en un m.file: A=[2+2i 1+3i;4+5i 6-i] abs(A) angle(A) ejecutamos: A= 2.0000 + 2.0000i 1.0000 + 3.0000i 4.0000 + 5.0000i 6.0000 - 1.0000i ans = 2.8284 6.4031 ans = 0.7854 1.2490 3.1623 6.0828

0.8961 -0.1651

abs es una funcin utilizada para obtener el mdulo de cada elemento de la matriz y angle obtiene la fase o el ngulo de cada elemento de la matriz. EJERCICIO 8 x=[1 2 3] y=[4 5 -4] z=x.*y; l=x./y m=x.\y x= 1 y= 4 5 -4 2 3

z =Al poner ; la operacin se realizara pero NO se mostrara por pantalla. El resultado sera: l= 0.2500 m= 4.0000 2.5000 -1.3333 y/x 0.4000 -0.7500 x/y 4 10 -12

EJERCICIO 9 x=[-2,-1,0] y=[1 5 -3] dot(x,y) ans = -7 EJERCICIO 10 A=[1 2 -4;0 1 3] B=[0 2 6;0 -3 3]

C=A.*B D=A./B E=A.\B Le ejecutamos y obtenemos: A= 1 2 -4

0 B= 0 0 C= 0 0

2 -3

6 3

4 -24 -3 9

Warning: Divide by zero. > In C:\MATLAB6p1\work\ej10.m at line 5 D= Inf 1.0000 -0.6667 1.0000

NaN -0.3333

Warning: Divide by zero. > In C:\MATLAB6p1\work\ej10.m at line 6 E= 0 1.0000 -1.5000 1.0000

NaN -3.0000

EJERCICIO 11 >> x=linspace(-10,10,5) x= -10 -5 0 5 10

linspace divide el intervalo [-10,10] en 5 partes equiespaciadas. EJERCICIO 12 help more on descripcin del comando more on que configura al comando help para que la informacin se muestre pantalla a pantalla y el comando more off desactiva esta opcin pasndose a ver toda seguida sin parada. lookfor XYZ busca la cadena XYZ en la primera lnea de comentario de todos los ficheros de ayuda.

EJERCICIO 13 help muestra una lista de tpicos helpdesk muestra una ventana con informacin ms detallada de MATLAB donde podemos buscar en un entorno ms parecido al Windows. Ahora si ejecutamos el comando helpwin hace ms o menos lo mismo que el comando anterior salvo que nos muestra la lista de tpicos que nos mostraba el help en forma de hiperenlaces en un entorno visual similar al Windows en el cual podemos acceder a la informacin pulsando con el ratn en el enlace. EJERCICIO 14

pwd cd C:\programas pwd A=[1 2 -4] B=[1 2 6] C=A.*B clc cd C:\MATLAB6p1\work pwd close y obtendramos lo siguiente.Obviamente he quitado para la ejecucin los comandos clc porque borra lo que haya en pantalla y close porque sale de la aplicacin, para poder mostrar el resultado de que pwd y cd funcionan. C:\MATLAB6p1\work ans = C:\MATLAB6p1\work ans = C:\programas A= 1 B= 1 C= 1 ans = C:\MATLAB6p1\work 4 -24 2 6 2 -4

EJERCICIO 15 A=[-1 0 5;2 4 -3;1 0 -8] max(max(A)) min(min(A)) sum(sum(A)) A= -1 2 1 0 4 0 5 -3 -8

A.ans = 5 B.ans = -8 C.ans = 0 EJERCICIO 16 A.La instruccin save popo guarda la sesin de trabajo actual con el nombre popo y extensin .mat en el archivo popo.mat. B.La diferencia de esta instruccin con la anterior es que esta vez ponemos al archivo la extensin .pet C.Al poner XYZ guarda la variable XYZ de la sesin actual de trabajo en vez de toda la sesin de trabajo en el fichero popo.per D.Al poner -ascii al final de la lnea guarda el archivo en formato ascii. Por defecto se nos guarda con 8 cifras decimales. E.Double modifica el tamao pasando a ser este de 16 cifras decimales. F.El comando load popo nos carga en el directorio de trabajo las variables que se han guardado en el fichero popo.mat G.Al guardar popo.per en ascii si que podremos cargarlo en nuestro workspace , sino nos dar problemas ya que la extensin no es vlida. EJERCICIO 17 EJERCICIO 18 A=[2 -1 0;-1 2 -1;0 -1 2] b=[5:-1:3] A(1:2,1:2) A(3,:) A(:,2:3) A(:,[1 3]) A(:)

A[A;b] A[A b'] A= 2 -1 0 b= 5 4 3 -1 2 -1 0 -1 2

A.ans = 2 -1 B.ans = 0 C.ans = -1 2 -1 D.ans = 2 -1 0 E.ans = 2 -1 0 -1 2 -1 0 -1 2 0 -1 2 -1 2 -1 2

0 -1 2 f y g tienen dimensiones diferentes y variables diferentes. EJERCICIO 19 x=inv(A)*b A= 2 -1 0 b= 5 -1 3 Solucin: x= 4.0000 3.0000 3.0000 -1 2 -1 0 -1 2

EJERCICIO 20 a=[3,-2,0] b=[-1,2,-3] a.*b a./b a.\b a.^3 3.^a a.^b a= 3 b= -1 2 -3 -2 0

A.ans = -3 B.ans = -3 C.Warning: Divide by zero. In C:\MATLAB6p1\work\ej20a.m at line 6 ans = -0.3333 -1.0000 D.ans = 27 E.ans = 27.0000 F.ans = 0.3333 A=[2 -1 5 0] V1=A+3 V2=2*A V3=A.^2 V4=2.^A A continuacin ejecutamos y obtenemos lo siguiente: A= 2 -1 5 0 4.0000 Inf 0.1111 1.0000 -8 0 -Inf -1 0 -4 0

A.-V1=A+3 V1 = 5 2 8 3

B.-V2=2*A, V2 = 4 -2 10 0

C.-V3=A.^2, V3 = 4 1 25 0

D.-V4=2.^A, V4 = 4.0000 0.5000 32.0000 1.0000

EJERCICIO 21 A=[2 -1 5 0] B=[3 2 -1 4] C=B+A-3 C=A./B 2*A+A.^B C=2.^B+A C=2*B/3.*B C=A.^B A= 2 B= 3 2 -1 4 -1 5 0

1) C=B+A-3 C= 2 -2 1 1

2)C=A./B C= 0.6667 -0.5000 -5.0000 3)2*A+A.^B ans = 12.0000 -1.0000 10.2000 4)C=2.^B+A C= 10.0000 3.0000 5.5000 16.0000 0 0

5)C=2*B/3.*B C=

6.0000 6)C=A.^B C= 8.0000

2.6667

0.6667 10.6667

1.0000

0.2000

EJERCICIO 22 A=[1 -1 0;-1 0 2;1 1 3] B=3*A B=3.*A C=A/5 C=A./5 A= 1 -1 1 B= 3 -3 3 B= 3 -3 3 C= 0.2000 -0.2000 -0.2000 0.2000 C= 0.2000 -0.2000 -0.2000 0.2000 0 0.2000 0 0.4000 0.6000 0 0.2000 0 0.4000 0.6000 -3 0 3 0 6 9 -3 0 3 0 6 9 -1 0 1 0 2 3

EJERCICIO 23 [31:2:45] ans =

31

33

35

37

39

41

43

45

EJERCICIO 24

A. x=[2 5 1 6]; y=x+16

y= 18 21 17 22

B.z=x(:,[1 3])+3

z= 5 4

C. x.^2 ans =

25

36

D. sqrt(x) ans = 1.4142 2.2361 1.0000 2.449

EJERCICIO 25

x=[3 2 6 8]'; y=[4 1 3 5]';

A.-

x.^y ans = 81 2 216 32768 B. y./x ans = 1.3333 0.5000 0.5000 0.6250

C. z=x.*y z= 12 2 18 40 D. z(1,1)+z(2,1)+z(3,1)+z(4,1) ans = 72 E. x'*y-z ans = 60 70 54 32

EJERCICIO 26

n=0:1:100; x=((-1).^(n+1))./(2*n-1); sum(x) ans = 1.7829

EJERCICIO 27 A. a=[1 -1 2;0 1 3;-2 -1 0]; b=[1 2;-1 -2]; v=[1 -1 3];

B. a(1,2)=5; a(1,3)=-1;

Si ponemos a(1,2)=5 lo que obtenemos es el elemento de la matriz (1,2) con su valor anterior cambiado por el que asignamos. C. c=[a; 10 11 12] c= 1 0 -2 10 -1 1 -1 11 2 3 0 12

c=[10 11 12;a] c= 10 1 0 -2 11 -1 1 -1 12 2 3 0

Lo que ocurre es que aumentamos el tamao de la matriz a primero aadiendo una fila al final, y en el segundo caso aadiendo una fila al principio.

D. c2=[a;v]; size(c2)

ans = 4 3

E. c3=[a,a,a]; size(c3)

ans = 3 9

c4=[a;a;a]; size(c4)

ans = 9 3

F. c5=[a,zeros(3,2);zeros(2,3),eye(2)]

c5 = 1 0 -2 0 0 5 1 -1 0 0 -1 3 0 0 0 0 0 0 1 0 0 0 0 0 1

Esta matriz est compuesta por la matriz a y la aadimos por un lado una submatriz de ceros con dos columnas mas y tres filas a la derecha de la matriz, luego otra submatriz de ceros pero de dos filas y tres columnas que se aade debajo de la matriz a y por ultimo aadimos la matriz identidad 2*2 con lo que obtenemos en total una matriz nueva 5*5.

G. c6=[b,zeros(2,2)]

c6 =

1 -1

2 -2

0 0

0 0

c7=[b;zeros(2,2)]

c7 =

1 -1 0 0

2 -2 0 0

La diferencia que tenemos cuando ponemos , o ; es que en el primero de los casos nos aade la submatriz a la derecha por lo que aumentamos las columnas a 4 y en el segundo de los casos aumentamos las filas a 4.

H. any(a)

ans = 1 1 1

any(b)

ans = 1 1

any(v) ans =

all(a) ans =

all(b) ans = 1 1

all(v)

ans = 1

I. all(c7)

ans = 0 0

all(c7,1)

ans = 0 0

all(c7,2)

ans = 1 1 0 0

all(c7,3)

ans = 1 1 0 0 1 1 0 0

La funcin all devuelve un 0 si en la columna algn elemento es 0, en caso contrario devuelve un 1. Es lo que se muestra en el ejemplo.

EJERCICIO 28 A. x=[2 5 1 6]; y=x+16

y= 18 21 17 22

B.z=x(:,[1 3])+3

z= 5 4

C. x.^2

ans = 4 25 1 36

D. sqrt(x) ans =

1.4142

2.2361

1.0000

2.449

EJERCICIO 29 x=[3 2 6 8]'; y=[4 1 3 5]'; A. x.^y ans = 81 2 216 32768

B. y./x ans = 1.3333 0.5000 0.5000 0.6250

C. z=x.*y z=

12 2 18 40

D. z(1,1)+z(2,1)+z(3,1)+z(4,1) ans = 72

E. x'*y-z

ans = 60 70 54 32

EJERCICIO 30 y1=x; y2=x.^3; y3=exp(x); y4=exp(x.^2); subplot(2,2,1),plot(x,y1,'b'),grid subplot(2,2,2),plot(x,y2,'r'),grid subplot(2,2,3),plot(x,y3,'g'),grid subplot(2,2,4),plot(x,y4,'p'),grid

4 3 2 1 0

80 60 40 20 0

0 x 10
6

60

10

40 5 20

subplot(2,2,1),plot(log(x),y1,'b'),grid

Warning: Log of zero. subplot(2,2,2),plot(log(x),y2,'r'),grid Warning: Log of zero. subplot(2,2,3),plot(log(x),y3,'g'),grid Warning: Log of zero. subplot(2,2,4),plot(log(x),y4,'y'),gridWarning: Log of zero.
80 3 2 1 0 60 40 20 0 -1 x 10
6

60

10

40 5 20

0 -1

0 -1

subplot(2,2,1),plot(log(x),log(y1),'b'),grid Warning: Log of zero. Warning: Log of zero. subplot(2,2,2),plot(log(x),log(y2),'r'),grid Warning: Log of zero. Warning: Log of zero. subplot(2,2,3),plot(log(x),log(y3),'g'),grid Warning: Log of zero. subplot(2,2,4),plot(log(x),log(y4),'y'),grid Warning: Log of zero.

1.5 1 0.5 0 -0.5 -1 -1 0 1 2

6 4 2 0 -2 -4 -1 0 1 2

4 3 2 1 0 -1

20 15 10 5 0 -1

EJERCICIO 31

x=[0.01:0.001:0.1]; y=sin(1./x); plot(x,y)

1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

0.11

EJERCICIO 32 t=1790:1:2000; p=197273000./(1+exp(-0.0313.*(t-1913.25)));

plot(t,p)

EJERCICIO 33

teta=(0:0.1:2*pi); a=1; p1=a^2*cos(2*teta); x=a*(teta-sin(teta)); y=a*(1-cos(teta)); p2=a*(1-cos(teta)); polar(teta,p1) polar(x,y) polar(teta,p2) polar (x,y)

EJERCICIO 34

x=-5:1/100:5; y=(x.^2).*exp(-x.^2); plot(x,y)

EJERCICIO 35 x=0:1/100:10; y=(sin(x).*exp(-0.4.*x)); plot(x,y)

EJERCICIO 36

t=0:0.1:4*pi; subplot(2,2,1),plot(t,sin(t),'r'),grid subplot(2,2,2),plot(t,cos(t),'b'),grid subplot(2,2,3),plot(t,2*sin(t)-cos(2*t)+3*sin(3*t),'g'),grid

1 0.5 0 -0.5 -1

1 0.5 0 -0.5 -1

10

15

10

15

4 2 0 -2 -4 -6 0 5 10 15

EJERCICIO 37

x=-5:1/100:5; y=(x.^2).*exp(-x.^2); plot(x,y)

EJERCICIO 39 x=[0 1 1 0 0 1 1 0]; y=[0 0 1 1 1 1 0 0]; z=[0 0 0 0 1 1 1 1]; plot3(x,y,z) grid

EJERCICIO 41

w=0:0.1:2*pi; x=5*cos(w); y=5*sin(w); z=3*w; plot3(x,y,z),grid

Helice

20

15
Eje Z

10

0 5 5 0 -5 0 -5 Eje X

Eje Y

EJERCICIO 42 La diferencia de la funcin grid en 2D y 3D es que nos marca tambien las coordenadas de la variable que aadimos al incrementar la dimensin que es la variable z.

20

15

10

0 -5 5 0 5 0 -5

Cuando ejecutamos la funcin axis(ij) lo que ocurre es que cambia el sentido de la hl ice girando hacia el sentido contrario al que lo haca en el apartado anterior.

EJERCICIO 45 [X,Y]=meshgrid(0:.125:10); Z=(sin(sqrt(X.^2+Y.^2)))/(sqrt(X.^2+Y.^2)); mesh(X,Y,Z)

surf(X,Y,Z)

La diferencia que observamos entre la funcin surf y la funcin mesh es el color en el cual queda representada la funcin en el grafico ya que una tiene colores muy claros y la otra completamente opuesto; en colores muy oscuros.

mesh(Z)

Cuando ejecutamos esta funcin vemos claramente que la figura es la misma pero tomada en otras coordenadas.

contour(Z,20)

Esta imagen corresponde a la misma figura pero vista desde arriba y no en tres dimensiones contour3(X,Y,Z,20)

En esta funcin lo que nos ocurre es que en la representacin solo nos representa el contorno de la figura. mesh(Z),pause(5),surf(Z) Te dibuja la funcion mesh en primer lugar y a los cinco segundos camibia de color debido a la funcion surf. En esta funcin lo que nos ocurre es que en la representacin solo nos representa el contorno de la figura. surfc(Z)

En esta representacin vemos como se refleja la coordenada Z debajo de la figura, de esta manera podemos darnos cuenta de donde comienza la funcin.

meshz(Z)

Con esta funcin lo que vemos es que todo lo que esta por debajo de la figura nos lo rellena.

subplot(2,1,1),surf(Z) subplot(2,1,2),surfl(Z)

La primera grafica es la que hemos realizado con anterioridad y la segunda nos muestra la misma grafica pero tiene un cambio en los colores, se vuelven mas claros.

EJERCICIO 46 sphere(10)

0.5

-0.5

-1 1 0.5 0 -0.5 -1 -1 -0.5 0.5 0 1

colormap(cool) colormap(copper) colormap(gray) colormap(hot) colormap(hsv)

Colores frios. Marron. Gris. Colores calidos. Arco iris.

FLAT

FACETED

INTERP

COOL

COPPER

GRAY

HOT

HSV

Potrebbero piacerti anche