Está en la página 1de 4

Ejercicios de MATLAB II Los ejercicios propuestos pretenden: 1) que los alumnos se familiaricen con el manejo de los comandos, funciones

y operaciones bsicas de Matlab, para lo que se recomienda analizar los resultados de cada uno de los ejercicios 2) aprendan a utilizar el help de Matlab, por tal motivo en los primeros 3 apartados se recomienda consultar toolboxes especficas. Para los apartados IV y V, se recomienda consultar el help para cada una de las funciones que se utilizan. Bibliografa: Csar Prez, Prentice Hall, 2002. MATLAB y sus Aplicaciones en las Ciencias y la Ingeniera.

I.

Comandos que trabajan con ficheros

Los datos en Matlab pueden guardarse en ficheros .mat, estos ficheros son legibles slo por Matlab. Tambin se pueden guardar en ficheros ASCII legibles por cualquier aplicacin. El comando save permite guardas datos en este tipo de ficheros. Hacer (ejercicios para aprender a guardar datos): a) b) c) d) e) f) g) h) i) j) k) A = inv(rand(3)) B = inv(2*ones(3) eye(3)) save matriz.asc A B ascii dir type matriz.asc clear load matriz.asc whos matriz A = matriz(1:3,1:3) B = matriz(4:6,1:3)

II.

Comandos de entrada/salida

Matlab dispone de un grupo de comandos denominados de entrada/salida que actan sobre ficheros y que permiten abrir y cerrar ficheros, leer y escribir en ficheros, controlar la posicin en un fichero y exportar e importar datos. (Ver help iofun) Hacer (ejercicios para aprender a abrir y cerrar ficheros): a) type fclose.m; b) fid = fopen(fclose.m,r); c) F = fread(fid);

d) e) f) g)

S = char (F) Fid = fopen(id4.bin,w+) Fwrite(fid,eye(4),integer*4) Fclose(valor de fid)

Hacer (ejercicios para leer y escribir ficheros ASCII con formato) a) b) c) d) e) f) g) h) x = 0:.1:1; y = [x; exp(x)]; fid = fopen(exponen.txt, w); fprintf(fid, %6.2f %12.8f\n, y); fclose(valor de fid) S = sprintf(Un numero aureo es %6.3f, (1+sqrt(5))/2) T = 2.7183 3.1416; A = sscanf(S, %f)

III.

Soluciones de ecuaciones y sistemas

Ver el help de funfun y matfun Hacer: Resolver la ecuacin 2x 3 + 11x 2 + 12x 9 = 0 a) roots([2 11 12 9]) b) solve(2*x^3+11*x^2+12*x-9,x) La ecuacin xsen(x) = puede resolverse en entornos de 2, 4 y 6. c) [fzero(x*sin(x)-1/2,2), fzero(x*sin(x)-1/2,4), fzero(x*sin(x)-1/2,6)] El sistema de ecuaciones x+y+z=1, 3x+y=3, x-2y-z=0 puede resolverse como sigue: d) [x,yz] = solve(x+y+z=1, 3x+y=3, x-2y-z=0, x, y, z)

IV. Polinomios Hacer (ejercicios con polinomios). Ver help polyfun a) Calcular las races del polinomio x 3 6x 2 72x 27 p = [1 6 72 -27]; r = roots(p) b) Calcular la derivada del producto de polinomios dado por 3x 2 + 6x + 9)( x 2 + 2x ) y tambin su cociente: a = [3 6 9]; 2

b = [1 2 0]; k = polyder(a,b) [q,d] = polyder(b,a) c) Consideremos la matriz:


3 1 1 M = 1 i 1 2i i 1 i2

Calcular sus autovalores, sus autovectores, su rango y su polinomio caracterstico. (Ver help matfun) IV. Hacer: a) Representar un grfico de barras definidas por la funcin e x*x x = -2.9:0.2:2.9 bar(x, exp(-x.*x) barh(x, exp(-x.*x) b) y = randn(10000,1); hist(y) hist(y,20) c) x = [1 3 0.5 2.5 2]; pie(x) y = [0 1 0 0 0]; plot(x,y) d) x = 0:0.05:10; y = sin(x).*exp(-0.4*x); plot(x,y) e) t = 0:0.1:2*pi; x = 4*cos(t) cos(4*t); y = 4*sin(t) sin(4*t); fplot([sin(x), sin(2*x), sin(3*x)], [0,2*pi], -,o,*); legend(Sen(x), Sen(2x), Sen(3x)) f) fplot([sin(x), sin(2*x), sin(3*x)], [0,2*pi], -,o,*); text(3, 0.8,y=sen(2x)) text(1, -0.6,y=sen(3x)) text(1.5, 1,y=sen(x)) g) x = 0:0.01:3; y = abs(exp(-0.5*x).*sin(5*x)); subplot(2,2,1) 3 Grficos bsicos 2D

plot(x,y) title(normal) hold on subplot(2,2,2) loglog(x,y) title(logaritmica) subplot(2,2,3) semilogx(x,y) title(semilogaritmica en eje x) subplot(2,2,4) semilogy(x,y) title(semilogaritmica en eje y) V. Hacer a) t = 0:pi/50:10*pi; plot3(sin(t), cos(t),t) grid on axis square b) X = linspace(0,1,10); Y = X./2; Z = sin(X) + cos(Y); stem3(X,Y,Z,fill) sphere axis equal c) Representar la superficie cuya ecuacin explcita es la siguiente:
z= sen ( x 2 + y 2 ) x 2 + y2

Grficos 3D

[x,y] = meshgrid(-7.5:.5:7.5); z = sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2); figure(1) surf(x,y,z) figure(2) surfc(x,y,z) figure(3) contour(z) figure(4) contour3(z,50)

También podría gustarte