26
TRATAMIENTO DIGITAL DE IMÁGENES Taller 00 Jhorman Gustavo Maldonado Villamizar Cód.: 1094246084

Taller PDI N00

Embed Size (px)

Citation preview

Page 1: Taller PDI N00

TRATAMIENTO DIGITAL DE IMÁGENES

Taller 00

Jhorman Gustavo Maldonado VillamizarCód.: 1094246084

Facultad de ciencias básicasFísica

Universidad de PamplonaPamplona

2012

Page 2: Taller PDI N00

1. Evalúe las siguientes expresiones en MATLAB:

(3+(4-3)/7)^(1/5); %ans=1.257 sin(3/15)*((12.3-1.33)^(3/5)); %ans=0.8361

((12-3.44)/(6-3.48))*(3.7)-log(3); %ans=11.4696

2. Realice las siguientes asignaciones:

promedio=(2+3+5+11)/4; %%disp(promedio)= 5.2500promedio=(2+3+11)/4; %%disp(promedio)= 4

NOTA: La diferencia que se encuentra está en la cantidad de datos que se evalúan, lo que genera un resultado diferente.

3. Asigne valores numéricos a tres variables. Almacene un string en una variable, nomvar='valor del string'; después utilice el comando who, ¿Cuál es el resultado?, ¿Qué diferencia existe entre who y whos?.

a=12;b=32;c=43;nomvar='jhorman';%who% a b c nomvar promedio%whos % Name Size Bytes Class Attributes % % a 1x1 8 double % ans 1x1 8 double % b 1x1 8 double % c 1x1 8 double % nomvar 1x7 14 char % promedio 1x1 8 double

RTA: Con el comando whos se muestran las variables con sus atributos, mientras que el comando who no especifica nada acerca del tipo de variables.

4. Al utilizar clear seguido del nombre de una variable ¿Qué sucede? ,¿Qué sucede al digitar clear sólo?.

RTA: En el primer caso solo borra el valor de la variable, en el segundo caso se borra el valor de todas las variables.

5. Cuando se digita una expresión demasiado larga para una sola línea se puede digitar ... (un espacio, puntos suspensivos) para continuar en la siguiente, verifíquelo y compruebe si el resultado es el mismo.

d1=1+2+3+4+5+6+87+91+12+2+3+4+5+6+78+2+345+6+78+98+73+21+3;%d1=935d2=1+2+3+4+5+6+87+91+12+2+3 ...

Page 3: Taller PDI N00

+4+5+6+78+2+345+6+78+98+73+21+3;%d2=935

6. ¿Que sucede al digitar ans y oprimir enter?

RTA: Me muestra el resultado de una operación, que no se guardó en una variable.

7. ¿Será que MATLAB es capaz de calcular 1/0? Ese resultado que significa?, ¿Se puede hacer alguna operación con ese resultado?. NaN quiere decir Not a Number y se obtiene al dividir 0/0. Verifique.

RTA: El resultado de la primera operación es inf. Quiere decir que es indeterminado, y que no se puede usar dicho resultado para ninguna operación. Para 0/0 pude comprobar que no retorna ningún número.

Las variables en MATLAB pueden almacenar cantidades escalares, vectoriales y matriciales...e=[1 3 5 7 9];A=[e;2 6 10 14 18];A(:,2);

NOTA: Al realizar el ejercicio me di cuenta como se organizan los datos en una matriz, como llamarlo y como modificarlo.

8. Usando e del ejercicio anterior, que se obtiene al digitar e(3)? e(0)? e(3.444)? e(3.7)?. ¿Cual es el diagnóstico en MATLAB en cada caso?

q1=e(3); %q1=5. q2=e(0); %??? Attempted to access e(0); index must be a positive integer or logical.q3=e(3.444);%??? Attempted to access e(3.444); index must be a positive integer or logical. q4=e(3.7);%??? Attempted to access e(3.7); index must be a positive integer or logical.

RTA: Las filas y las columnas siempre son números enteros.

9. Digite en líneas separadas: 1:5, 10:20, -5:5, 1:3/4:5, 2.22:.01:2.4, -2:2^2:10. ¿Qué conclusión puede extraer de los casos particulares anteriores?Generalice la forma en que se deben especificarlos rangos en MATLAB.

n1=1:5 % 1 2 3 4 5 n2=10:20 % -5 -4 -3 -2 -1 0 1 2 3 4 5n3=-5:5; % -5 -4 -3 -2 -1 0 1 2 3 4 5n4=1:3/4:5; % 1.00 1.75 2.50 3.25 4.00 4.75n5=2.22:.01:2.4;%2.22 2.23 2.24 2.25 2.26 2.27 2.28 2.29 2.3 2.31 2.32 2.33 2.34 2.35 2.36 2.37 2.38 2.39 2.4n6=-2:2^2:10; % -2 2 6 10

Page 4: Taller PDI N00

Conclusión: Cuando no se especifica el paso, se toma por defecto 1.Los rangos se escriben colocando primero el límite inferior, seguido de dos puntos, luego el paso al que se desea seguir, seguido de dos puntos y luego el límite superior.

10. Dos funciones de MATLAB son linspace y logspace y cada una se usa de la siguiente forma linspace(a,b,c) o logspace(a,b,c).Evalue linspace(1,5,10),linspace(3,0.1,4), logspace(0,2,64),logspace(-5,2,10).A partir de los resultados obtenidos, determine que significan los parámetros a,b,c para las dos funciones.

linspace(1,5,10);linspace(3,0.1,4);logspace(0,2,64);logspace(-5,2,10);

RTA: Tanto linspace como logspace generan un vector, donde se tiene en cuenta que para linspace, a es el límite inferior, b es el límite superior y c es el número de datos en el que se parte el espacio entre a y b. Para logspace a es el exponete al que se eleva 10 como límite inferior, b es el exponete al que se eleva 10 como límite superior y c es el número de puntos que se generan etre los límites.

11. Generar los rangos del numeral 9, usando linspace.

wi1=linspace(1,5,5); % 1 2 3 4 5 wi2=linspace(10,20,11); % 10 11 12 13 14 15 16 17 18 19 20wi3=linspace(-5,5,11); % -5 -4 -3 -2 -1 0 1 2 3 4 5wi4=linspace(1,5,6); % 1.00 1.75 2.50 3.25 4.00 4.75wi5=linspace(2.22,2.4,19);%2.22 2.23 2.24 2.25 2.26 2.27 2.28 2.29 2.3 2.31%2.32 2.33 2.34 2.35 2.36 2.37 2.38 2.39 2.4wi6=linspace(-2,10,4); % -2 2 6 10

12. Almacene 2 vectores en variables diferentes y realice operaciones de suma(a+b), resta(a-b), producto(a*b) y cociente(a/b). ¿Corresponden los resultados a lo esperado?

k=[2 4 6 8 9 5 4 3 5];g=[2 3 4 5 6 7 8 9 10];%%%SUMA:sum=k+g;%%%% 4 7 10 13 15 12 12 12 15.%%%RESTA:res=k-g;%%%%0 1 2 3 3 -2 -4 -6 -5.%%%PRODUCTO:%pro=k*g;%%% #########error########%%%COCIENTE:div=k/g;%%%%0.7240

RTA: No es lo esperado, pero se debe a que ciertas operaciones entre matrices no se pueden realizar si no cumplen con ciertas condiciones, como en el caso

Page 5: Taller PDI N00

de la multiplicación, el número de las columnas de a debe ser igual al número filas de de b.

13. Repita las operaciones pero ahora anteponiendo un punto. ¿Que opina de este hecho?

%%%PRODUCTO:pro=k.*g; %pro= 4 12 24 40 54 35 32 27 50%%%COCIENTE:div=k./g; %div= 1.00 1.33 1.50 1.60 1.50 0.714 0.50 0.33 0.50

RTA: Las operaciones se hacen punto a punto, es decir a cada elemento le corresponde uno en la otra matriz.

14. ¿Qué diferencia existe al almacenar un vector de la siguiente forma x=[3 5 6 7 8 10] o x=[3;5;6;7;8;10]? .¿Qué sucede al yuxtaponer un apóstrofe sencillo al nombre de un vector previamente almacenado?. ¿Qué nombre le pondría al operador'?, ¿Qué efecto se obtiene al usarlo dos veces seguidas? ¿Qué efecto tiene el operador cuando se aplica a un vector que tiene datos complejos?.

tt=[3 5 6 7 8 10]; % Genera un vector fila.ttt=[3;5;6;7;8;10]; % genera un vector columna.Ttt=[3;5;6;7;8;10]'; % Al yuxtaponer el apóstrofe, el vector columna se convierte en vector fila. Esto en algebra lineal se llama el operador traspuesta.Tt=[3;5;6;7;8;10]''; % Actúa dos veces y deja el vector en su forma original.comp=[3+2i 4+i 4i]'; % comp2=[3-2i 4-i -4i]

NOTA: Aplicado a un vector con números complejos, traspone los términos y aplica el complejo conjugado.

15. ¿Qué efecto tiene el apóstrofe precedido de un punto al aplicarse a un vector con componentes complejas?

comp2=[3+2i 4+i 4i].'; % comp2=[3+2i 4+i 4i]

RTA: Actúa sobre el vector transformando filas a columnas y viceversa, pero no como su complejo conjugado.

16. ¿Qué diferencia observa al utilizar who cuando las variables almacenan vectores?

RTA: No se observa ninguna diferencia, who no especifíca el tipo de variable o su tamaño.

17. Genere con una sola expresión en MATLAB las primeras 10 potencias de 2 ¿Existe una sola forma de hacerlo?for i=1:1:10 pot(i)=2^i;end

Page 6: Taller PDI N00

%existen muchas formas.Pot2=2^(1:1:10);

18. Genere 30 valores comprendidos entre 0 y 2pi utilizando dos estrategias diferentes en MATLAB.

dece1=linspace(0,2*pi,30);%0 0.2167 0.4333 0.6500 0.8666 1.0833 1.3000 1.5166 1.7333 1.9500 2.1666%2.3833 2.5999 2.8166 3.0333 3.2499 3.4666 3.6832 3.8999 4.1166 4.3332%4.5499 4.7666 4.9832 5.1999 5.4165 5.6332 5.8499 6.0665 6.2832dece2=0:(2*pi/29):2*pi; %0 0.2167 0.4333 0.6500 0.8666 1.0833 1.3000 1.5166 1.7333 1.9500 2.1666%2.3833 2.5999 2.8166 3.0333 3.2499 3.4666 3.6832 3.8999 4.1166 4.3332%4.5499 4.7666 4.9832 5.1999 5.4165 5.6332 5.8499 6.0665 6.2832se obtienen los mismos vectores.

19. Genere una matriz aleatoria de 5x10, utilizando rand y almacénela en una variable. Usando rangos como índices extraiga: la fila 3, la columna 7; una matriz que solo contenga las filas impares; una matriz que solo contenga las columnas pares; una submatriz de 3x3 cuyo elemento 1,1 corresponda a la 3,2 de la original.

matrix=rand([5,10]);%0.5590 0.1771 0.9884 0.4145 0.1781 0.1757 0.9121 0.1842 0.8949 0.0133%0.8541 0.6628 0.5400 0.4648 0.3596 0.2089 0.1040 0.5972 0.0715 0.8972%0.3479 0.3308 0.7069 0.7640 0.0567 0.9052 0.7455 0.2999 0.2425 0.1967%0.4460 0.8985 0.9995 0.8182 0.5219 0.6754 0.7363 0.1341 0.0538 0.0934%0.0542 0.1182 0.2878 0.1002 0.3358 0.4685 0.5619 0.2126 0.4417 0.3074

matfila3=matrix(3,1:10);%0.3479 0.3308 0.7069 0.7640 0.0567 0.9052 0.7455 0.2999 0.2425 0.1967

matcolumna7=matrix(1:5,7);% 0.9121% 0.1040% 0.7455% 0.7363% 0.5619

matfilaimpar=matrix(1:2:5,1:10);%0.5590 0.1771 0.9884 0.4145 0.1781 0.1757 0.9121 0.1842 0.8949 0.0133%0.3479 0.3308 0.7069 0.7640 0.0567 0.9052 0.7455 0.2999 0.2425 0.1967%0.0542 0.1182 0.2878 0.1002 0.3358 0.4685 0.5619 0.2126 0.4417 0.3074

matcolumnpar=matrix(1:5,2:2:10);%0.1771 0.4145 0.1757 0.1842 0.0133%0.6628 0.4648 0.2089 0.5972 0.8972%0.3308 0.7640 0.9052 0.2999 0.1967%0.8985 0.8182 0.6754 0.1341 0.0934%0.1182 0.1002 0.4685 0.2126 0.3074

Page 7: Taller PDI N00

submatriz=matrix(3:5,2:4);% 0.3308 0.7069 0.7640% 0.8985 0.9995 0.8182% 0.1182 0.2878 0.1002

20. El comando plot(y), elabora una gráfica bidimensional de los valores contenidos en el vector. Grafique la función f(x)=x*sin(1/x), usando 200 valores de x comprendidos entre 1x10^-3 y 0.1. ¿Qué valores acompañan las divisiones del eje horizontal? corresponden a los que usted utilizó para evaluar la función?

x=[linspace(1*10^(-3),0.1,200)];y=x.*sin(1./x);figure (1);plot(y);

Figura1. Gráfica de la función f(x), usando plot(y).

En el eje horizontal no aparecen los valores del vector x en el que se evaluó la función.

21. Al usar plot(x,y) MATLAB grafica los valores de la función evaluada contra los valores donde se evaluó.

figure(2);plot(x,y,'r');

Figura 2. Gráfica de la función f(x), usando plot(x,y).

Page 8: Taller PDI N00

22. Almacene en un vector z los valores correspondientes a la función g(x)=sin(10x)*exp(-x), utilizando para x los valores de 0 a 10 con incrementos de 0.1. Utilice el comando plot(x,y,x1,z).

x1=[0:0.1:10];z=sin(10.*x1).*exp(-x1);figure(3);plot(x,y,x1,z);

Figura3. Gráfica de las funciones f(x) y g(x). Utilizando plot(x,y,x1,z).

23. Para controlar el color y tipo de línea se utiliza el comando plot(a,b,'r') por ejemplo r para el rojo y : (Dos puntos) para línea punteada. Ensaye todas las posibilidades que MATLAB ofrece para modificar las imágenes.

figure(4)plot(x,y,'k:');figure(5)plot(x1,z,'b*');

Figuras 4 y 5. Variaciones en la forma de representar gráficamente las funciones f(x) y g(x) respectivamente.

24. ¿Qué sucede con la gráfica al digitar grid?. ¿Si lo hace nuevamente que sucede ahora?.Al digitar grid, aparece una nueva gráfica con una cuadrícula en líneas punteadas.

Page 9: Taller PDI N00

Al graficar usando grid se obtiene en la imagen la cuadrícula y se facilita el trabajo a la hora de analizar.

Figura6. Lo que sucede al utilizar el comando grid.

25. Añada títulos a los ejes de sus gráficas usando xlabel o ylabel.

xlabel('Eje de las exis.........')ylabel('Eje de las yes..........')

26. La ventana de gráficos se puede borrar utilizando clg. verifique.clg;En efecto la ventana se mantiene pero la gráfica desaparece.

27. Haga las gráficas en ventanas separadas.

Este paso lo he realizado en puntos anteriores, usando el comando figure().

28. loglog(y) es una función análoga a plot en la que los dos ejes son logarítmicos. Con semilogx(y) solo el eje horizontal es logarítmico y con semilogy(y) solo el eje vertical es logarítmico.U=[0:0.1:10];loglog(u);grid;xlabel('Eje x ');ylabel('Eje y ');

Figura7. Grafica de u, utilizando la función loglog().

Page 10: Taller PDI N00

29. Almacene en un vector t 200 valores comprendidos entre 0 y 2pi. Luego en un vector r evalúe la función r(t)=sin(2t)cos(2t) y utilice el comando polar (t,r). Se pueden usar con este nuevo comando todas las n variantes que se usaron con plot.

t=[linspace(0,2*pi,200)];r=sin(2.*t).*cos(2.*t);polar(t,r,'g+');grid;xlabel('jhorman');ylabel('gustavo');

Figura8. Visualización en coordenadas polares de la función r(t).

30. Utilice help y la experimentación para determinar el uso de las funciones bar y errorbar.

la función bar genera una gráfica de barras de la matrix.RA=[1 2 3 4; 5 6 7 8]bar(RA);

Figura9. Gráfica generada utilizando la función bar.

La función errorbar me grafica la curva y el error relativo al punto evaluado.JH =0:pi/10:2*pi;TR = 2*sin(JH);E = 0.05*ones(size(JH));errorbar(JH,TR,E);grid;

Page 11: Taller PDI N00

Figura10. Gráfica de la función TR(JH), con el margen de error, utilizando la función errorbar.

31. Determine cuantos ceros tiene la función f(x)=sin(1/x)en el intervalo de [-1,1], si es necesario elabore gráficas que correspondan a subintervalos del anterior.

x=[linspace(-1,1,1000)];y=sin(1./x);figure;plot(x,y,'g-');grid;

Figura11. Gráfica de la función y(x),en el intervalo de -1 a 1.

RTA: Con ayuda de el zoom pude contar 35 puntos por donde la función corta el eje x en y=0.

32. Teniendo la tabla de medidas. Elabore una gráfica de distancia contra tiempo donde se incluya toda la información de la tabla.

tiempo=[0.1:0.1:1];distancia=[1 4 7 9 12 8 6 3 1 0];error=[0.1 0.2 0.25 0.15 0.3 0.1 0.05 0.1 0.15 0.2]; figure;errorbar(tiempo,distancia,error);grid;xlabel(‘Eje X’);

Page 12: Taller PDI N00

ylabel(‘Eje y’);

Figura12. Gráfica de tiempo versus distancia, con margen de error, generada utilizando el comando errorbar.

33. Una campana de Gauss con media diferente de cero se rige por la expresión exp[((x-u)^2)/2r] donde r es la desviación estandart y u la media. usando una desviación estandart igual a 1 muestre en una sola gráfica como cambia la forma de la campana al variar la media. Igualmente dando un valor fijo a la media, como cambia la campana para diferentes valores de la desviación estandart. %a)u=1; %%r=1;x=[-10:0.1:10];for r=1:2:9 %%u=1:2:9; p=x-u; G=exp(-(x-u).*(x-u)/2.*r); hold on; plot(x,G);end

Figura13. Campana de Gauss Variando la media, dejando la desviación estandart fija igual a 1.Figura 14. Campana de Gauss Variando la desviación estandart , dejando la media fija.

Page 13: Taller PDI N00

NOTA: Variando la desviación estandart, entre mayor es el valor, más delgada es la campana. Variando la media lo que se observa es que la campana se desplaza.

34. De experimentos se obtuvieron los datos siguientes

tiemp=[1 2 4 8 16 32 64 128 256 512];densidad=[3 5 7.2 9.1 4.15 3.6 4.15 6.7 2.3 1.2];

Encuentre la presentación más adecuada en MATLABfigurestem(tiemp,densidad)

Figura15. Variación de la densidad en el tiempo.

35. ¿Qué diferencia existe en la forma que tiene la espiral logarítmica (r) y la espiral de Arquímedes (a). Trace una línea que pase por el origen y que cruce en al menos dos puntos las espirales. Observe los ángulos formados.X=[0:0.01:4*pi;];r=exp(0.05*X);a=0.05*X;t=X-0.5;figurepolar(X,r);hold on;polar(X,a)hold on;polar(X,t,'r-')

Figura16. Espirales graficadas con ayuda del comando polar.

Page 14: Taller PDI N00

RTA: La diferencia entre las espirales es la divergencia, la de Arquímedes se expande más rápido que la logarítmica, la cual inicia en un punto diferente del origen.

36. La fórmula de Stirling n!=e^(-n)*n^(n)*sqrt(2*pi*n), permite aproximar el factorial de un número. Verifique gráficamente.

n=[0:5];f1=gamma(n+1);f2=((n).^n).*sqrt(2*pi.*n).*exp(-n);close all;figureplot(n,f1,'r-');hold on;plot(n,f2,'b-');

Figura17. Aproximación del factorial de un número.

37. Una espiral se define paramétricamente de la forma x=sin(t), y=sin(t), z=t. Genere los tres vectores. Llame la gráfica como espiral.

b=[0:0.01:2*pi];x=sin(b);y=sin(b);z=b;figure;plot3(x,y,z);grid;xlabel('Eje x');ylabel('Eje y');zlabel('Eje z');title('Espiral');

Figura18. Espiral.

Page 15: Taller PDI N00

38. La función peaks genera una matriz de 20x20 con valores correspondientes a una función con varios picos y valles. Usando la función mesh(m) mire los valores generados por peaks, luego digite

color bar. ¿Qué relación existe entre el color de las líneas de la gráfica y los valores de la misma?

m=peaks;mesh(m);colorbar;

Figura19. Función peaks graficada con la ayuda del comando mesh.

RTA:El color representa la intensidad respecto al eje z.

39. Explore las posibilidades de la función surf(m), utilizando inicialmente los valores almacenados en m en el punto anterior. ¿Qué diferencia el resultado producido con el del punto anterior? Utilice ahora colormap(pink), para cambiar la apariencia del gráfico. Utilizando help colormap explore que otras posibilidades de coloreado se pueden emplear con su gráfico. Digite pink seguido por enter. ¿Tiene alguna teoría sobre el significado de estos números?, ¿Sabe como se forma un color determinado en el video del computador?

figure;surf(m);colormap(pink);colormap(gray);

Figuras 20 y 21. Uso del comando surf, combinado con el comando colormap.

Page 16: Taller PDI N00

La diferencia más notable es que el gráfico con la función mesh, aparece con lineas de colores, mientras que con la función surf, se colorea entre las lineas y esta son de color negro.

Al utilizar colormap(pink), el gráfico aparece en escala de rosa, siendo más intenso en los puntos más bajos. Al digitar pink aparecen tres columnas de números estas representan un color el primer elemento especifica la intensidad de la luz roja, el segundo verde, y el tercero azul.

40. La función meshgrid(x0:dx:xf,y0:dy:yf), genera dos matrices. En la primera se tienen réplicas horizontales del rango determinado por x0:dx:xf mientras que en la segunda se tienen réplicas verticales del rango y0:dy:yf.Ensaye por ejemplo[x,y]=meshgrid(-1:0.2:1,-5:2:5); Verifique y entienda el contenido de las matrices xy resultantes.

[x,y]=meshgrid(-1:0.2:1,-5:2:5);

RTA: Para el caso de x, la fila se repite la cantidad de veces como los datos de la columna de y, y para y, la columna se repite tanto como la longitud del vector fila generado en x.

41. Utilizando meshgrid, evalúe f(xy)=exp(-(x^2 + y^2))sin(x)sin(y). con x,y variando de -2 a 2. Genere inicialmente las matrices x, y para luego almacenar en una tercera matriz los valores de la función. Grafique.

[x,y]=meshgrid(-2:(4/19):2,-2:(4/19):2);f=(exp(-x^2 - y^2))*sin(x)*sin(y);figure;plot3(x,y,f);grid;xlabel('Eje x');ylabel('Eje y');zlabel('valor de la función');

Figura22. Gráfica de la función f(x,y).

Page 17: Taller PDI N00

42. Después de generar un gráfica en 3D, con el comando surf, utilizo el comando shading interp. ¿Cuál es el efecto obtenido? ahora ensaye con shading flat. Analice, ¿cuál es más rápido?

figure;a=peaks;surf(a);shading interp;figure;a=peaks;surf(a);shading flat;

Figuras 23 y 24. La primera utilizando el comando shading interp, y la segunda usando el comando shading flat.

El comando shading seguido de interp me suavisa la gráfica dando una apariencia mucho más atractiva, el mismo comando seguido de flat, hace algo parecido, sin embardo no es tán bueno como el otro, debido a esto creo que se ejecuta mucho más rápido que el primero.

43. El comando view([az,el]) cambia el ángulo de azimuth y elevación desde el cual se observa la grágfica. Estos valores se suministran en grados. Haga experimentos fijando az y dando valores múltiples a el. Invierta la situación fijando el y variando az. Describa por medio de un gráfico el significado del azimuth y la elevación.

[x,map]=imread('azimut.jpg','jpg');image(x),colormap(map),axis off,hold on;

Figura25. Como funciona el comando View(az,el).

Page 18: Taller PDI N00

44. Elabore gráficos de dos funciones tridimensionales y visualícelas con mesh o surf. [x,y]=meshgrid(-3:(0.2):3,-3:(0.2):3);

h=sin(x)*cos(y)+sin(y)*cos(x);g=cos(x)*sin(x)+cos(y)*sin(y);figure;mesh(x,y,h);figure;surf(x,y,g);

Figuras 26 y 27. Gráficas tridimensionales de las funciones h y g.

45. Escriba un scrib que genere una nueva ventana, haga una gráfica de una función de dos variables, visualice el mapa de colores y de nombres a los ejes.

run jh;

jh es un archivo con extensión .m, en el que se encuentra la gráfica. Jh.m [x,y]=meshgrid(-7:0.5:7,-7:0.5:7); f=(2*x+y)*sin(x)*cos(y); figure; grid; colorbar; mesh(x,y,f); xlabel('eje x'); ylabel('eje y'); zlabel('eje z');

Figura28. Imagen generada desde otro programa con ayuda del comando run.

Page 19: Taller PDI N00

46. Reemplace el comando que utilizó en el punto anterior por la función surf(M), donde M es la matriz que contiene los valores de la función, e introduzca el comando shanding interp. Introduzca también

el comando view, de manera que le permita obtener una buena perspectiva de la función.

M=f;surfl(M);shading interp;view(45,45);

Figura29. Imagen generada desde otor archive y modificada con el comando shading interp, con una vista de 45° de elevación y 45° de acimutal.