cursos-de-matlab-1205855996363813-4

91
Lenguajes de Programación 1 Capítulo 2. MATLAB

Transcript of cursos-de-matlab-1205855996363813-4

  • Captulo 2. MATLAB

    Lenguajes de Programacin

  • 1. OPERACIONES CON MATRICES Y VECTORES

    Lenguajes de Programacin

  • MATLAB es fundamentalmente un programa para clculomatricial.Para definir una matriz no hace falta establecer de antemanosu tamao (de hecho, se puede definir un tamao y cambiarloposteriormente). Las matrices se definen por filas; loselementos de una misma fila estn separados por blancos ocomas, mientras que las filas estn separadas por pulsacionesintro o por caracteres punto y coma (;).

    Lenguajes de Programacin

  • >> A=[1 2 3; 4 5 6; 7 8 9]La respuesta del programa es la siguiente:A =1 2 34 5 67 8 9

    Lenguajes de Programacin

  • Una sencilla operacin con A es hallar su matriz traspuesta.En MATLAB el apstrofo (') es el smbolo de trasposicinmatricial. Para calcular A' (traspuesta de A) basta teclear losiguiente (se aade a continuacin la respuesta del programa):>> A'ans =1 4 72 5 83 6 9

    Lenguajes de Programacin

  • La variable ans puede ser utilizada como operando en lasiguiente expresin que se introduzca. Tambin podrahaberse asignado el resultado a otra matriz llamada B:>> B=A'B =1 4 72 5 83 6 9

    Lenguajes de Programacin

  • Ahora ya estn definidas las matrices A y B, y es posibleseguir operando con ellas. Por ejemplo, se puede hacer elproducto B*A (deber resultar una matriz simtrica):>> B*Aans =66 78 9078 93 10890 108 126

    Lenguajes de Programacin

  • En MATLAB se accede a los elementos de un vectorponiendo el ndice entre parntesis (por ejemplo x(3) x(i)).Los elementos de las matrices se acceden poniendo los dosndices entre parntesis, separados por una coma (por ejemploA(1,2) A(i,j)). Las matrices se almacenan por columnas(aunque se introduzcan por filas, como se ha dicho antes), yteniendo en cuenta esto puede accederse a cualquier elementode una matriz con un slo subndice. Por ejemplo, si A es unamatriz (3x3) se obtiene el mismo valor escribiendo A(1,2) queescribiendo A(4).

    Lenguajes de Programacin

  • Invertir una matriz es casi tan fcil como trasponerla. Acontinuacin se va a definir una nueva matriz A -no singular-en la forma:>> A=[1 4 -3; 2 1 5; -2 5 3]A = 1 4 -3 2 1 5-2 5 3

    Lenguajes de Programacin

  • Ahora se va a calcular la inversa de A y el resultado seasignar a B. Para ello basta hacer uso de la funcin inv( )B=inv(A)B = 0.1803 0.2213 -0.1885 0.1311 0.0246 0.0902-0.0984 0.1066 0.0574

    Lenguajes de Programacin

  • Para comprobar que este resultado es correcto basta premultiplicar A por B;>> B*Aans =1.0000 0.0000 0.00000.0000 1.0000 0.00000.0000 0.0000 1.0000

    Lenguajes de Programacin

  • De forma anloga a las matrices, es posible definir un vectorfila x en la forma siguiente (si los tres nmeros estnseparados por blancos o comas, el resultado ser un vectorfila):>> x=[10 20 30] % vector filax =10 20 30MATLAB considera comentarios todo lo que va desde elcarcter tanto por ciento (%) hasta el final de la lnea.

    Lenguajes de Programacin

  • Si los nmeros estn separados por intros o puntos y coma (;)se obtendr un vector columna:>> y=[11; 12; 13] % vector columnay =111213

    Lenguajes de Programacin

  • MATLAB tiene en cuenta la diferencia entre vectores fila yvectores columna. Por ejemplo, si se intenta sumar losvectores x e y se obtendr el siguiente mensaje de error:

    >> x+y??? Error using ==> +Matrix dimensions must agree.

    Lenguajes de Programacin

  • Estas dificultades desaparecen si se suma x con el vectortraspuesto de y:

    >> x+y'ans =21 32 43

    Lenguajes de Programacin

  • Operaciones con matrices

    +adicin o sumasustraccin o resta*multiplicacin'traspuesta^potenciacin\divisin-izquierda/divisin-derecha.*producto elemento a elemento./ y .\divisin elemento a elemento.^elevar a una potencia elemento a elemento

    Lenguajes de Programacin

  • Los operadores anteriores se pueden aplicar tambin de modomixto, es decir con un operando escalar y otro matricial. Eneste caso la operacin con el escalar se aplica a cada uno delos elementos de la matriz. Considrese el siguiente ejemplo:

    >> A=[1 2; 3 4]A =1 23 4

    Lenguajes de Programacin

  • Considrese el siguiente sistema de ecuaciones lineales,

    Ax = b

    en donde x y b son vectores columna, y A una matrizcuadrada invertible. La resolucin de este sistema deecuaciones se puede escribir en las 2 formas siguientes:

    x = inv(A)*b x = A\b

    Lenguajes de Programacin

  • En MATLAB existe tambin la posibilidad de aplicarelemento a elemento los operadores matriciales (*, ^, \ y /).Para ello basta precederlos por un punto (.). Por ejemplo:>> [1 2 3 4]^2??? Error using ==> ^Matrix must be square.>> [1 2 3 4].^2ans =1 4 9 16

    Lenguajes de Programacin

  • > [1 2 3 4]*[1 -1 1 -1]??? Error using ==> *Inner matrix dimensions must agree.

    >> [1 2 3 4].*[1 -1 1 -1]ans =1 -2 3 -4

    Lenguajes de Programacin

  • Tipos de datosMATLAB es un programa preparado para trabajar convectores y matrices. Como caso particular tambin trabajacon variables escalares (matrices de dimensin 1). MATLABtrabaja siempre en doble precisin, es decir guardando cadadato en 8 bytes, con unas 15 cifras decimales exactas. Ya sever ms adelante que tambin puede trabajar con cadenas decaracteres (strings) y, desde la versin 5.0, tambin con otrostipos de datos: Matrices de ms dos dimensiones, matricesdispersas, vectores y matrices de celdas, estructuras y clasesy objetos.

    Lenguajes de Programacin

  • Otras formas de definir matricesExisten en MATLAB varias funciones orientadas a definircon gran facilidad matrices de tipos particulares. Algunas deestas funciones son las siguientes:

    eye(4) forma la matriz unidad de tamao (4x4)zeros(3,5) forma una matriz de ceros de tamao (3x5)zeros(4) dem de tamao (4x4)ones(3) forma una matriz de unos de tamao (3x3)ones(2,4) idem de tamao (2x4)

    Lenguajes de Programacin

  • linspace(x1,x2,n) genera un vector con n valores igualmente espaciados entre x1 y x2logspace(d1,d2,n) genera un vector con n valores espaciados logartmicamente entre 10^d1 y 10^d2. Si d2 es pi6, los puntos se generan entre 10^d1 y pirand(3) forma una matriz de nmeros aleatorios entre 0 y 1, con distribucin uniforme, de tamao (3x3)rand(2,5) idem de tamao (2x5)

    Lenguajes de Programacin

  • randn(4) forma una matriz de nmeros aleatorios de tamao (4x4), con distribucin normal, de valor medio 0 y varianzamagic(4) crea una matriz (4x4) con los nmeros 1, 2, ... 4*4, con la propiedad de que todas las filas y columnas suman lo mismohilb(5) crea una matriz de Hilbert de tamao (5x5). La matriz de Hilbert es una matriz cuyos elementos (i,j) responden a la expresin (1/(i+j-1)). Esta es una matriz especialmente difcil de manejar por los grandes errores numricos a los que conduce

    Lenguajes de Programacin

  • Formacin de una matriz a partir de otrasA continuacin se describen algunas de las funciones quecrean una nueva matriz a partir de otra o de otras,comenzando por dos funciones auxiliares:

    [m,n]=size(A) devuelve el nmero de filas y de columnas de la matriz A. Si la matriz es cuadrada basta recoger el primer valor de retornon=length(x) calcula el nmero de elementos de un vector x

    Lenguajes de Programacin

  • zeros(size(A)) forma una matriz de ceros del mismo tamao que una matriz A previamente creadaones(size(A)) dem con unosA=diag(x) forma una matriz diagonal A cuyos elementos diagonales son los elementos de un vector ya existente xx=diag(A) forma un vector x a partir de los elementos de la diagonal de una matriz ya existente A

    Lenguajes de Programacin

  • diag(diag(A)) crea una matriz diagonal a partir de la diagonal de la matriz Ablkdiag(A,B) crea una matriz diagonal de submatrices a partir de las matrices que se le pasan como argumentostriu(A) forma una matriz triangular superior a partir de una matriz A (no tiene por qu ser cuadrada).tril(A) dem con una matriz triangular inferior

    Lenguajes de Programacin

  • OPERADOR DOS PUNTOS (:)Defnase un vector x con el siguiente comando:

    >> x=1:10x =1 2 3 4 5 6 7 8 9 10

    En cierta forma se podra decir que el operador (:) representaun rango: en este caso, los nmeros enteros entre el 1 y el 10.

    Lenguajes de Programacin

  • Por defecto el incremento es 1, pero este operador puedetambin utilizarse con otros valores enteros y reales, positivoso negativos. En este caso el incremento va entre el valorinferior y el superior.>> x=1:2:10x =1 3 5 7 9>> x=10:-1:1x =10 9 8 7 6 5 4 3 2 1

    Lenguajes de Programacin

  • Operadores relacionales

    OperadorDescripcinMayor que=Mayor o igual que= =Igual que~ =Distinto que

    Lenguajes de Programacin

  • Operadores lgicos

    OperadorDescripcin&and|or~negacin lgica

    Lenguajes de Programacin

  • Funciones matemticas elementales que operan de modo escalar

    FuncinDescripcinsin(x)Senocos(x)Cosenotan(x)Tangenteasin(x)Arco senoacos(x)Arco cosenoatan(x)Arco Tangentesinh(x)Seno hiperblico

    Lenguajes de Programacin

  • FuncinDescripcincosh(x)Coseno hiperblicotanh(x)Tangente hiperblicoasinh(x)Arco seno hip.acosh(x)Arco coseno hip.atanh(x)Arco tangente hip.log(x)Logaritmo naturallog10(x)Logaritmo decimal

    Lenguajes de Programacin

  • FuncinDescripcinexp(x)funcin exponencialsqrt(x)raz cuadradasign(x)devuelve -1 si 0.rem(x,y)resto de la divisinmod(x,y)similar a remround(x)redondeo hacia el entero ms prximofix(x)redondea hacia el entero ms prximo a 0

    Lenguajes de Programacin

  • FuncinDescripcinfloor(x)valor entero ms prximo hacia -ceil(x)valor entero ms prximo hacia +real(x)partes realesimag(x)partes imaginariasabs(x)valores absolutosangle(x)ngulos de fase

    Lenguajes de Programacin

  • Funciones que actan sobre vectores

    FuncinDescripcin[xm,im]=max(x)mximo elemento de un vector. Devuelve el valor mximo xm y laposicin que ocupa immin(x)mnimo elemento de un vector. Devuelve el valor mnimo y la posicin que ocupasum(x)suma de los elementos de un vector

    Lenguajes de Programacin

  • FuncinDescripcincumsum(x)devuelve el vector suma acumulativa de los elementos de un vectormean(x)valor medio de los elementos de un vectorstd(x)desviacin tpicaprod(x)producto de los elementos de un vector

    Lenguajes de Programacin

  • FuncinDescripcincumprod(x)devuelve el vector producto acumulativo de los elementos de un vector[y,i]=sort(x)ordenacin de menor a mayor de los elementos de un vector x. Devuelve el vector ordenado y, y un vector i con las posiciones iniciales en x de los elementos en el vector ordenado y.

    Lenguajes de Programacin

  • Funciones que actan sobre matrices

    FuncinDescripcinB = A'calcula la traspuesta (conjugada) de lamatriz AB = A.'calcula la traspuesta (sin conjugar) de la matriz Av = poly(A)devuelve un vector v con los coeficientes del polinomio caracterstico de la matriz cuadrada A

    Lenguajes de Programacin

  • FuncinDescripcint = trace(A)devuelve la traza t (suma de los elementos de la diagonal) de una matriz cuadrada A[m,n] = size(A)devuelve el nmero de filas m y de columnas n de una matriz rectangular An = size(A)devuelve el tamao de una matriz cuadrada Anf = size(A,1)devuelve el nmero de filas de Anc = size(A,2)devuelve el nmero de columnas de A

    Lenguajes de Programacin

  • 2. PROGRAMACIN DE MATLAB

    Lenguajes de Programacin

  • SENTENCIA IFEn su forma ms simple, la sentencia if se escribe en la formasiguiente

    if condicion sentenciasend

    Lenguajes de Programacin

  • Existe tambin la bifurcacin mltiple,

    if condicion1 bloque1 elseif condicion2 bloque2 else bloque4end

    Lenguajes de Programacin

  • SENTENCIA SWITCHswitch switch_expresion case case_expr1, bloque1 case {case_expr2, case_expr3, case_expr4,...} bloque2 ... otherwise, % opcin por defecto bloque3end

    Lenguajes de Programacin

  • SENTENCIA FORfor i=1:n sentenciasend

    o bien,for i=vectorValores sentenciasenddonde vectorValores es un vector con los distintos valoresque tomar la variable i.

    Lenguajes de Programacin

  • SENTENCIA WHILEwhile condicion sentenciasend

    donde condicion puede ser una expresin vectorial omatricial. Las sentencias se siguen ejecutando mientras hayaelementos distintos de cero en condicion, es decir, mientrashaya algn o algunos elementos true. El bucle se terminacuando todos los elementos de condicion son false

    Lenguajes de Programacin

  • SENTENCIA BREAKla sentencia break hace que se termine la ejecucin del buclems interno de los que comprenden a dicha sentencia.

    Lenguajes de Programacin

  • SENTENCIA CONTINUELa sentencia continue hace que se pase inmediatamente a lasiguiente iteracin del bucle for o while, saltando todas lassentencias que hay entre el continue y el fin del bucle en laiteracin actual.

    Lenguajes de Programacin

  • SENTENCIAS TRY...CATCH...ENDLa construccin try...catch...end permite gestionar los errores.try sentencias1catch sentencias2endEn el caso de que durante la ejecucin del bloque sentencias1se produzca un error, el control de la ejecucin setransfiere al bloque sentencias2. Si la ejecucin transcurrieranormalmente, sentencias2 no se ejecutara nunca.

    Lenguajes de Programacin

  • FUNCIN INPUTLa funcin input permite imprimir un mensaje en la lnea decomandos de MATLAB y recuperar como valor de retorno unvalor numrico o el resultado de una expresin tecleada por elusuario.

    >> n = input('Teclee el nmero de ecuaciones')

    Lenguajes de Programacin

  • FUNCIN DISPLa funcin disp permite imprimir en pantalla un mensaje detexto o el valor de una matriz, pero sin imprimir su nombre.

    >> disp('El programa ha terminado')>> A=rand(4,4)>> disp(A)

    Lenguajes de Programacin

  • FUNCION FPRINTFLa cadena de control contiene los formatos de escritura. Porejemplo:

    vol = 2.0393938; fprintf('El volumen de la esfera es: %12.5f \ n',vol);El volumen de la esfera es: 2.03939

    Lenguajes de Programacin

  • En el ejemplo expuesto, El volumen de la esfera es la cadenaque se exhibir, %12.5f es el formato, y \n es el operador decambio de lnea.

    Lenguajes de Programacin

  • DEFINICIN DE FUNCIONESLa primera lnea de un fichero llamado name.m que defineuna funcin tiene la forma:

    function [lista de valores de retorno] = name(argumentos)

    donde name es el nombre de la funcin. Entre corchetes yseparados por comas van los valores de retorno (siempre quehaya ms de uno), y entre parntesis tambin separados porcomas los argumentos.

    Lenguajes de Programacin

  • EVALUACIN DE FUNCIONES MEDIANTE REFERENCIASPara evaluar una referencia de funcin MATLAButiliza la funcin feval, que se llama de la formasiguiente:[r1, r2, r3, ...] = feval(fh, arg1, arg2, arg3, ...)donde fh es una referencia de funcin y r1, r2, r3, ...y arg1, arg2, arg3, ... son respectivamente losvalores de retorno y los argumentos de la funcincuya referencia es fh.

    Lenguajes de Programacin

  • EjerciciosCree un archivo M de funcin, fun_es(x) que calcule la siguiente funcin: y = 0.5 e - x sen(x) El argumento debe aceptar tanto un escalar como un vector. Pruebe su funcin tecleando en MATLAB fun_es(3) fun_es([1 2 3]) x/32

    Lenguajes de Programacin

  • 2. Implementar un programa que permita evaluar evaluar el factorial de un nmero entero positivo. Por ejemplo: Si n = 5: S = 5*4*3*2*1 Si n = 3: S = 3*2*13. Implementar programas que permitan evaluar las siguientes series:

    a. La suma de los n primeros trminos de la serie: S = 2 - 4 + 6 - 8+ ...

    Lenguajes de Programacin

  • b. La suma de los n primeros trminos de la funcin:

    4. Realizar un programa que permita obtener n nmeros diferentes al azar, comprendidos entre otros dos a y b.

    Lenguajes de Programacin

  • 3. GRFICOS BIDIMENSIONALES

    Lenguajes de Programacin

  • Funciones grficas 2D elementales

    FuncinDescripcinplot()crea un grfico a partir de vectores y/o columnas de matrices, con escalas lineales sobre ambos ejesloglog()dem con escala logartmica en ambos ejessemilogx()dem con escala lineal en el eje de ordenadas y logartmica en el eje de abscisassemilogy()dem con escala lineal en el eje de abscisas y logartmica en el eje de ordenadas

    Lenguajes de Programacin

  • FuncinDescripcintitle('ttulo')aade un ttulo al dibujoxlabel('tal')aade una etiqueta al eje de abscisas. Con xlabel off desapareceylabel('cual')aade una etiqueta al eje de ordenadas. Con ylabel off desaparece

    Lenguajes de Programacin

  • FuncinDescripcintext(x,y,'texto')introduce 'texto' en el lugar especificado por las coordenadas x e y. Si x e y son vectores, el texto se repite por cada par de elementos. Si texto es tambin un vector de cadenas de texto de la misma dimensin, cada elemento se escribe en las coordenadas correspondientes

    Lenguajes de Programacin

  • FuncinDescripcingtext('texto')introduce texto con ayuda del ratn: el cursor cambia de forma y se espera un clic para introducir el texto en esa posicingridactiva la inclusin de una cuadrcula en el dibujo. Con grid off desaparece la cuadrcula

    Lenguajes de Programacin

  • >> x=[-10:0.2:10]; y=sin(x).*exp(-x);>> plot(x,y)

    Lenguajes de Programacin

  • Colores, estilos de lnea y marcadores en la funcin plot

    Lenguajes de Programacin

  • >> x=[-10:0.2:10]; y=sin(x).*exp(-x);>> plot(x,y,ko)

    Lenguajes de Programacin

  • Aadir lneas a un grfico ya existenteSe utilizan para ello los comandos hold on y hold off. Elprimero de ellos hace que los grficos sucesivos respeten losque ya se han dibujado en la figura (es posible que haya quemodificar la escala de los ejes); el comando hold off deshaceel efecto de hold on.

    Lenguajes de Programacin

  • >> clear; clf;>> x=[0:0.2:10]; y1=0.2*sin(x); y2=0.2*cos(x);>> y3=sin(x).*exp(-0.2*x);>> plot(x,y1,k)>> hold on>> plot(x,y2,r)>> plot(x,y3,b)>> hold off

    Lenguajes de Programacin

  • Lenguajes de Programacin

  • COMANDO SUBPLOTUna ventana grfica se puede dividir en m particioneshorizontales y n verticales, con objeto de representarmltiples grficos en ella. Cada una de estas subventanastiene sus propios ejes, aunque otras propiedades son comunesa toda la figura. La forma general de este comando es:

    subplot(m,n,i)

    donde m y n son el nmero de subdivisiones en filas ycolumnas, e i es la subdivisin que se convierte en activa.

    Lenguajes de Programacin

  • >> x=0:0.2:10;>> y=sin(x); z=cos(x); w=exp(-x*.1).*y; v=y.*z;>> subplot(2,2,1), plot(x,y)>> subplot(2,2,2), plot(x,z)>> subplot(2,2,3), plot(x,w)>> subplot(2,2,4), plot(x,v)

    Lenguajes de Programacin

  • Lenguajes de Programacin

  • axis([xmin, xmax, ymin, ymax])mientras que :axis('auto')devuelve el escalado de los ejes al valor por defecto oautomtico.

    Control de los ejes

    Lenguajes de Programacin

  • axis('ij') utiliza ejes de pantalla, con el origen en la esquina superior izda.y el eje j en direccin vertical descendenteaxis('xy') utiliza ejes cartesianos normales, con el origen en la esquinainferior izda. y el eje y vertical ascendenteaxis('equal') el escalado es igual en ambos ejesaxis('square') la ventana ser cuadradaaxis('image') la ventana tendr las proporciones de la imagen que sedesea representar en ella (por ejemplo la de una imagen bitmap que sedesee importar) y el escalado de los ejes ser coherente con dicha imagenaxis('normal') elimina las restricciones introducidas por 'equal' y 'square'axis('off') elimina las etiquetas, los nmeros y los ejesaxis('on') restituye las etiquetas, los nmeros y los ejes

    Lenguajes de Programacin

  • FUNCIN LINE()La funcin line() permite dibujar una o ms lneasque unen los puntos cuyas coordenadas se pasancomo argumentos.Para dibujar un segmento de color verde entre dospuntos, esta funcin se llamara de la siguientemanera:line([xini, xend]', [yini, yend]', 'color', 'g')

    Lenguajes de Programacin

  • Se puede tambin dibujar dos lneas a la vezutilizando la forma:

    line([xini1 xini2; xend1 xend2], ([yini1 yini2; yend1yend2]);

    Se pueden controlar las caractersticas de la lnea por mediode pares parmetro/valor, como por ejemplo:

    line(x,y,'Color','r','LineWidth',4,'MarkerSize',12,'LieStyle',','Markr,'*')

    Lenguajes de Programacin

  • Preparacin de pelculas o "movies"Para preparar pequeas pelculas o movies se puedenutilizar las funciones movie, moviein y getframe

    M = moviein(17);x=[-2*pi:0.1:2*pi]';for j=1:17 y=sin(x+j*pi/8); plot(x,y); M(:,j) = getframe;endmovie(M,10,15)

    Lenguajes de Programacin

  • EjerciciosGrafique las funciones en el dominio que se indica y = , 0 x 4p

    y = ,0 x 4sen(x)1+cos(x)11+(x-2)2

    Lenguajes de Programacin

  • 4. GRFICOS TRIDIMENSIONALES

    Lenguajes de Programacin

  • DIBUJO DE LNEAS: FUNCIN PLOT3La funcin plot3 es anloga a su homloga bidimensionalplot. Su forma ms sencilla es la siguiente:

    >> plot3(x,y,z)

    que dibuja una lnea que une los puntos (x(1), y(1), z(1)),(x(2), y(2), z(2)), etc. y la proyecta sobre un plano parapoderla representar en la pantalla.

    Lenguajes de Programacin

  • >> clear; clf>> fi=[0:pi/20:6*pi]; plot3(cos(fi),sin(fi),fi,k')

    Lenguajes de Programacin

  • DIBUJO DE MALLADOS: FUNCIONES MESHGRID, MESH Y SURFSean x e y dos vectores que contienen las coordenadas en unay otra direccin de la retcula (grid) sobre la que se va adibujar la funcin. Despus hay que crear dos matrices X(cuyas filas son copias de x) e Y (cuyas columnas son copiasde y). Estas matrices se crean con la funcin meshgrid. Estasmatrices representan respectivamente las coordenadas x e y detodos los puntos de la retcula. La matriz de valores Z secalcula a partir de las matrices de coordenadas X e Y.Finalmente hay que dibujar esta matriz Z con la funcinmesh.

    Lenguajes de Programacin

  • >> clear; clf;>> x=-1:0.1:1;y=-1:0.1:1;>> [X,Y]=meshgrid(x,y);>> Z=exp(-(X.^2+Y.^2));>> mesh(X,Y,Z)>> xlabel('x');ylabel('y');zlabel('z')

    Lenguajes de Programacin

  • Lenguajes de Programacin

  • surf(U,V,W)

    Lenguajes de Programacin

  • alpha(0.4) %Transparencia

    Lenguajes de Programacin

  • >> mesh(X,Y,Z,'EdgeColor','Black')

    Lenguajes de Programacin

  • DIBUJO DE LNEAS DE CONTORNO: FUNCIONES CONTOUR >> [X,Y]=meshgrid([-1:0.1:1],[-1:0.1:1]);>> Z=exp(-(X.^2+Y.^2))

    Lenguajes de Programacin

  • >> contour(X,Y,Z,12) %12 curvas de nivel

    Lenguajes de Programacin

  • >>contour3(X,Y,Z,20)

    Lenguajes de Programacin

  • surfc(X,Y,Z)

    Lenguajes de Programacin