Diseño de gráficos en matlab. Trazar gráficos de Matlab

3. gráficos 3D .

Las gráficas de funciones de dos variables son piezas de superficies que cuelgan sobre los dominios de definición de las funciones. De esto se desprende claramente que representar gráficas de funciones de dos variables requiere la implementación de "gráficos tridimensionales" en una pantalla plana de computadora.

El subsistema de gráficos de alto nivel de MATLAB implementa automáticamente gráficos tridimensionales sin esfuerzo especial por parte del usuario. Calculemos el valor de la función z=f(x,y) en un punto con coordenadas x1,y1 y sea igual a z1. En algún otro punto (es decir, con un valor diferente de los argumentos) x2,y2 se calcula el valor de la función z2. Continuando con este proceso, se obtiene un conjunto (conjunto) de puntos (x1,y1,z1), (x2,y2,z2), (xN,yN,zN) en la cantidad de N piezas, ubicadas en el espacio tridimensional. Las funciones especiales del sistema MATLAB dibujan superficies lisas a través de estos puntos y muestran sus proyecciones en la pantalla plana del ordenador.

Muy a menudo, los puntos de argumento se ubican en el dominio de definición de la función regularmente en forma de una cuadrícula rectangular (es decir, una matriz). Dicha cuadrícula de puntos genera dos matrices de la misma estructura: la primera matriz contiene los valores de las primeras coordenadas de estos puntos (x - coordenadas), y la segunda matriz contiene los valores de las segundas coordenadas (y - coordenadas). Designemos la primera matriz como X y la segunda como Y. También hay una tercera matriz: la matriz de valores de función z=f(x,y) con estos argumentos. Denotaremos esta matriz con la letra Z.

La función más simple para trazar una función de dos variables en MATLAB es la función

trama3(X, Y, Z)

donde X, Y y Z son matrices mismos tamaños, cuyo significado acabamos de explicar.

MATLAB tiene una función especial para obtener matrices bidimensionales X e Y a partir de matrices unidimensionales x, y.

P P> Dejemos que al eje x se le dé un rango de valores en forma de vector

u=-2:0.1:2

y a lo largo del eje y este rango es

v=-1:0.1:1

Para obtener las matrices X e Y que representan la primera y segunda coordenadas de la cuadrícula rectangular de puntos resultante, utilice una función especial de MATLAB:

[ X , Y ] = cuadrícula de malla (u, v)

Como podemos ver, esta función recibe dos matrices unidimensionales (vectores) como entrada, que representan matrices de puntos en los ejes de coordenadas, y devuelve las dos matrices bidimensionales deseadas a la vez. Sobre una grilla rectangular de puntos calculamos los valores de la función, por ejemplo funciones exp:

Z = exp(- X.^2 - Y.^2)

Finalmente, usando la función plot3 descrita anteriormente, obtenemos la siguiente imagen de una gráfica tridimensional de esta función:

De esta figura queda claro que la función plot3 construye un gráfico en forma de un conjunto de líneas en el espacio, cada una de las cuales es una sección de una superficie tridimensional por planos, paralelo al plano onzas. En otras palabras, podemos decir que cada línea se obtiene de segmentos rectos

, conectando un conjunto de puntos cuyas coordenadas se toman de las mismas columnas de las matrices X, Y y Z. Es decir, la primera línea corresponde a las primeras columnas de las matrices X, Y Z; la segunda línea - a las segundas columnas de estas matrices y así sucesivamente.

Para construir líneas tridimensionales definidas paramétricamente, se utiliza otra forma de llamar a la función plot3:

trama3(x, y, z)

donde x, y y z son matrices unidimensionales de coordenadas de puntos, que deben estar conectados secuencialmente mediante segmentos de línea recta. Por ejemplo, el siguiente fragmento de código

t = 0: pi/50: 10*pi;

x = pecado(t);

y = cos(t);

trama3(x, y, t);

cuadrícula en

donde se utiliza el comando conocido de gráficos planos

cuadrícula en

colocar una cuadrícula de valores de coordenadas en el área de trazado del gráfico (también está permitido usar comandos y funciones para diseñar gráficos, discutidos anteriormente para el caso "plano"), le permite construir una hélice, cuya imagen es se muestra en la siguiente figura: Además de esto función más simple

El sistema MATLAB tiene una serie de otras funciones que le permiten lograr un mayor realismo en la visualización de gráficos tridimensionales. Estas son las funciones mesh, surf y surfl.

La función de malla conecta los puntos adyacentes calculados de la superficie del gráfico con segmentos de línea recta y muestra en la ventana de gráficos de MATLAB una proyección plana de dicho cuerpo volumétrico de "malla de estructura alámbrica". En lugar de la gráfica de la función mostrada anteriormente usando la función plot3

exp(- X.^2 - Y.^2)

puedes obtener esta imagen Para mejor percepción "tridimensionalidad" de la imagen, diferentes bordes se colorean automáticamente en. Además (a diferencia de la función plot3), se eliminan las líneas invisibles. Si cree que el cuerpo acanalado que se muestra es transparente y no debe ocultar las líneas traseras, puede ingresar el comando de desactivación oculta, después de lo cual dichas líneas aparecerán en la imagen. Se puede lograr una imagen de superficie más densa si, en lugar de

La función de malla aplica la función de navegación (X, Y, Z).

El resultado es la siguiente imagen que representa una superficie de malla densa (opaca) y células individuales Los (bordes) de esta superficie de malla (cuadrángulos planos) se pintan automáticamente en diferentes colores.

Utilizando la función de surf, aunque coloreadas artificialmente, se obtienen imágenes muy visuales. Si queremos conseguir formas más naturales y objetivas de pintar superficies, entonces deberíamos utilizar la función surfl.

La función surfl trata la superficie del gráfico como una superficie de material con ciertas propiedades fisicas por reflexión de la luz. De forma predeterminada, se especifica una determinada fuente de luz que ilumina dicha superficie del material, después de lo cual se calculan las trayectorias de los rayos reflejados que ingresan a la lente de una cámara convencional. La imagen de dicha cámara se muestra en la ventana gráfica del sistema MATLAB.

Porque diferentes materiales refleja los rayos incidentes de manera diferente, luego puede seleccionar algún material para obtener la mejor imagen (desde el punto de vista del usuario). En particular, puedes utilizar la función.

mapa de colores (cobre)

con cuya ayuda se selecciona un conjunto de colores (en inglés - mapa de colores) para la imagen gráfica, que es característico de la luz reflejada por una superficie de cobre (cobre en inglés - cobre). Después de esto, usando la función

navegar(X, Y, Z)

en lugar de surf(X,Y,Z) da como resultado un gráfico muy visual y de apariencia muy realista:

Puede eliminar las líneas negras que representan los bordes de dicho gráfico y también lograr una transición aún más suave de la iluminación de la superficie si ejecuta el comando

intermediario de sombreado

lo que significa que ahora el color (iluminación) cambiará incluso dentro de caras (celdas) individuales. Como resultado, obtendrás una imagen muy real de algunas figura volumétrica. Si esto es mejor o peor para la tarea de representar gráficas de funciones de dos variables, depende del usuario individual juzgar.

Una representación particularmente clara de las superficies la proporcionan los gráficos de cuadrícula que utilizan sombreado funcional de celdas. Por ejemplo, el color de la pintura de la superficie. z(x, y) se puede ajustar para adaptarse a la altura z superficies con elección de tonos oscuros para pequeñas alturas y tonos claros para grandes alturas. Para construir tales superficies, se utilizan comandos de clase. navegar(…):

  • navegar (X, Y, Z. C)- construye un color superficie paramétrica según los datos de las matrices X, Y y Z con el color especificado por la matriz C;
  • navegar (X.Y.Z)- similar al comando anterior, donde C=Z, por lo que el color se establece según la altura de una celda de superficie particular;
  • navegar (x.y.Z) Y navegar (x.y.Z.C) con dos argumentos vectoriales x e y: los vectores x e y reemplazan los dos primeros argumentos matriciales y deben tener longitudes longitud(x)=n y longitud(y)=m, donde =tamaño(Z). En este caso, los vértices de las áreas de superficie están representados por tripletas de coordenadas (x(j), yd), Z(1,j)). Tenga en cuenta que x corresponde a las columnas de Z e y corresponde a las filas;
  • navegar (Z) Y navegar (Z.C) utilice x = 1:n y y = 1:m. En este caso, la altura Z es única. función específica, definido geométricamente por una cuadrícula rectangular;
  • h=surfear (…)- construye una superficie y devuelve un identificador al objeto de clase superficie.

equipos eje, caxi, mapa de colores, sostener, sombreado Y vista Defina ejes de coordenadas y propiedades de superficie que se pueden usar para mostrar una superficie o forma de manera más efectiva.

A continuación se muestra un ejemplo sencillo de construcción de una superficie: un paraboloide:

> > = meshgrid([ - 3: 0.15: 3 ]);

> > Z = X. ^ 2 + Y. ^ 2 ;

> > Navegar(X,Y,Z)

El gráfico correspondiente a este ejemplo se muestra en la Fig. 6.25.

Arroz. 6.25. Gráfico paraboloide con coloración funcional células

Cabe señalar que gracias a la coloración funcional, el gráfico de superficie es mucho más expresivo que en las construcciones sin dicha coloración presentadas anteriormente (e incluso en el caso en que el gráfico de color está impreso en blanco y negro).

El siguiente ejemplo utiliza pintura de sombra funcional. gris con una pantalla de escala de colores:

> > = meshgrid([ - 3: 0.1: 3 ]);

> > Z = pecado(X). / (X.^2 + Y.^2 + 0,3);

> > navegar(X.Y.Z)

> > mapa de colores (gris)

>> intermediario de sombreado

>> barra de colores

En este ejemplo el comando mapa de colores (gris) establece los tonos de coloración de grises y el comando sombreado interp. proporciona la eliminación de la imagen de malla y establece la interpolación de los tonos de color de la superficie volumétrica. En la figura. La Figura 6.26 muestra el gráfico generado en este ejemplo.


Arroz. 6.26. Parcela de superficie con coloración funcional en gris.

Normalmente, el uso de la interpolación para colorear da a las superficies y formas una apariencia más realista, pero las formas alámbricas proporcionan datos cuantitativos más precisos sobre cada punto.

A partir de la versión 4.0, el sistema MATLAB incluye un potente subsistema de gráficos que admite medios de visualización de gráficos bidimensionales y tridimensionales en la pantalla del terminal y medios de gráficos de presentación. Cabe destacar varios niveles de trabajo con objetos gráficos. Se trata principalmente de comandos y funciones orientados al usuario final diseñados para crear gráficos de coordenadas rectangulares y polares, histogramas y gráficos de barras, superficies tridimensionales y líneas de nivel, animaciones. Comandos de gráficos alto nivel controle automáticamente la selección de escala y color, sin necesidad de manipular las propiedades de los objetos gráficos. La interfaz de bajo nivel correspondiente la proporcionan los gráficos descriptores, donde cada objeto gráfico está asociado con un soporte gráfico (descriptor) al que se puede hacer referencia al acceder a este objeto.

Utilizando gráficos de mango, puede crear menús, botones de llamada, paneles de texto y otros objetos GUI.

Debido al alcance limitado de esta guía de referencia, solo se incluyen funciones y comandos gráficos con descriptores gráficos mínimos. El lector interesado debe consultar la documentación del sistema MATLAB, especialmente el libro recién publicado "Using MATLAB Graphics" (Natick, 1996). Elemental funciones graficas Los sistemas MATLAB le permiten construir en la pantalla e imprimir siguientes tipos

gráficas: lineal, logarítmica, semilogarítmica, polar.

Para cada gráfico, puede establecer un título, etiquetar los ejes y aplicar una cuadrícula de escala.

  • gráficos 2D
  • PLOT - trazar en una escala lineal
  • LOGLOG - gráfico en escala logarítmica
  • SEMILOGX, SEMILOGY - gráfico en escala semilogarítmica

POLAR - gráfico en coordenadas polares

MATLAB proporciona varios comandos y funciones para construir gráficos tridimensionales.

  • Se considera que los valores de los elementos de una matriz numérica son las coordenadas z de los puntos sobre el plano definido por las coordenadas xey.
  • Hay varias formas posibles de conectar estos puntos. El primero de ellos es conectar puntos en una sección (función plot3), el segundo es construir superficies de malla (funciones de malla y surf).
  • Una superficie creada con la función de malla es una superficie de malla cuyas celdas tienen un color de fondo y cuyos bordes pueden tener un color determinado por la propiedad EdgeColor del objeto gráfico de superficie. Una superficie construida utilizando la función de navegación es una superficie de malla que puede tener un color especificado no sólo para su borde, sino también para sus celdas; este último está controlado por la propiedad FaceColor del objeto gráfico de superficie. El nivel de presentación de este libro no requiere que el lector tenga conocimientos de programación orientada a objetos. Su volumen no nos permite describir completamente el subsistema de gráficos, que se basa en este enfoque. Se anima al lector interesado a consultar la documentación del sistema MATLAB, especialmente el libro recién publicado Usando MATLAB Graphics (Natick, 1996).
  • PLOT3: trazar líneas y puntos en un espacio tridimensional
  • MESHGRID: formación de matrices bidimensionales X e Y
  • MESH, MESHC, MESHZ - superficie de malla tridimensional
  • SURF, SURFC - superficie de malla sombreada
  • SURFL - superficie sombreada con retroiluminación
  • AXIS: escalado y visualización de ejes
  • GRID - aplicación de cuadrícula
  • HOLD - controla el modo de guardar de la ventana gráfica actual
  • SUBPLOT: dividir la ventana de gráficos
  • ZOOM - control de escala del gráfico
  • MAPA DE COLORES - paleta de colores
  • CAXIS: establecimiento de una correspondencia entre la paleta de colores y la escala de los ejes SOMBREADO - sombreado de superficies
  • CONTOURC: formación de una serie de descripciones de líneas de nivel

CONTORNO - imagen de líneas de nivel para

  • superficie tridimensional
  • CONTOUR3 - imagen de líneas de nivel tridimensionales
  • Inscripciones y explicaciones de gráficos.
  • TÍTULO: títulos para gráficos bidimensionales y tridimensionales.
  • XLABEL, YLABEL, ZLABEL - designación de ejes
  • CLABEL - marcado de líneas de nivel
  • TEXTO: agregar texto al gráfico actual

GTEXT: coloca el texto especificado en el gráfico usando el mouse

La sección de gráficos especiales incluye comandos y funciones de gráficos para crear gráficos de barras, histogramas, trazadores de vectores y elementos complejos, generando secuencias de datos discretas, así como trayectorias en movimiento para gráficos bidimensionales y tridimensionales. Esta sección ha recibido su mayor desarrollo en la versión del sistema MATLAB 5.0, donde se mejoran y amplían significativamente herramientas gráficas especiales.

MATLAB tiene un sistema excepcionalmente potente para crear una variedad de gráficos 2D y 3D, así como para personalizarlos, editarlos y formatearlos. Los tipos y subtipos de gráficos MATLAB son muy diversos. Se puede obtener una lista de funciones de gráficos 2D con el comandoayuda2 gráfico d Se puede obtener una lista de funciones de gráficos 2D con el comandoayuda3 gráfico.

, tridimensional – Los gráficos se muestran en ventanas gráficas separadas usando el comando vercifra() norte cifra(, Dónde – número de ventana gráfica. En un gráfico puedes trazar varias curvas que difieren en color y tipos de líneas y puntos. Los gráficos se pueden copiar y pegar en otras aplicaciones: Word, Excel, PowerPoint, etc. Para ello, utilice el comando/ Editar Copiar Cifra

ventanas gráficas.

Comandos utilizados con frecuencia al trazar

plot(t,y) % Gráfica de la función continua y(t)

plot(x1, y1, x2, y2) % Gráficas de y1 versus x1 e y2 versus x1 raíz(x,y) %Gráfico función discreta

(señal)y(x)

escaleras(x,y) % Gráfico de líneas de paso

loglog(f,Y) %Gráfico con escalas logarítmicas en x e y

semilogx(f,Y) % Escala logarítmica x y lineal x

polar(phi,r) % Gráfico en coordenadas polares

título('título') % Muestra el título del gráfico

xlabel('tiempo') % etiqueta del eje x

ylabel('Voltaje') % Etiqueta del eje

legend(‘Respuesta de frecuencia del sistema‘) % Muestra un texto explicativo

axis() % Configuración de escalas a lo largo de los ejes x e y

xlim() % Establecer la escala del eje x

Los gráficos se muestran en ventanas gráficas separadas usando el comando ver cifra( ylim() % Estableciendo la escala a lo largo del eje y cifra() % Establece una cifra (ventana)

activo subtrama (, r, cifra( do subtrama ( * r) % Divide la ventana gráfica en alféizar y subtrama ( rcn cifra( ) % establece la subventana

como activo.

gridon% agrega una cuadrícula al gráfico

Holdon% le permite trazar múltiples gráficos en una ventana

Holdoff% cancela la retención del gráfico actual.

text% le permite colocar texto en el gráfico

zoomon/off% habilita/deshabilita la capacidad de aumentar el % de fragmentos del gráfico usando

% botones izquierdo y derecho del mouse

Ejemplos simples:

>> x=0:0.01:2*pi;

>> y=pecado(x); Trazar un gráfico de dependencia de funciones y del índice de matriz (número de elemento)

incógnita

Trazar la dependencia y(x)

>>trazar(x,y) Múltiples pares de argumentos para una función. Le permite trazar varios gráficos en una ventana gráfica. En este caso, MATLAB utiliza un color de línea independiente para cada gráfico.

Ejemplo.

>> x = 0:pi/100:2*pi;

>> y = pecado(x);

>>y2 = pecado(x-.5);

>>y3 = pecado(x+.5);

>>trazar(x,y,x,y2,x,y3)

>> leyenda("pecado(x)","pecado(x-.5)","pecado(x+.5)")

El color, el tipo de línea y la designación (tipo) de puntos son los argumentos de la función. trama, se puede obtener información de ayuda relevante utilizando el comando de ayuda trama de ayuda.

Para dividir la ventana gráfica en subventanas, use el comando trama(m,n,p) o trama (mnp), en el cual metro– número de líneas, cifra(- número de columnas, pag- número de subventana. Ejemplo de trazar una función
en dos subventanas usando la función trama() en un caso y funciones provenir() en otro con límites diferentes a lo largo del eje argumental (Fig. 7):

t=linspace(0, 8, 401); % cálculo de 402 puntos en un intervalo

x = t.*exp(-t).*cos(2*pi*4*t);

eje()

Otro ejemplo

Fs=1024; % Tasa de muestreo

f1=50; % frecuencia armónica

N=512; % número de muestras de señal

t=0:1/Fs:(N-1)/Fs;

% vector de tiempo

% generación de señal

x=cos(2*pi*f1*t)+0.5*cos(2*pi*f2*t)+randn(1,longitud(t));

plot(t,x), gráfico de señal % de cuadrícula

título("Señal")

xlabel("Tiempo, s") sostener Para agregar gráficos a los existentes, use el comando

en

x1=sin(2*pi*4*t);

x2=cos(2*pi*4*t);

trama(t,x1+x2, "--b")

leyenda("x1=sin(2*pi*4*t)", "x2=cos(2*pi*4*t)","x1+x2") sostener Para agregar gráficos a los existentes, use el comando Para cancelar una acción sostener (liberar ventana de gráficos) uso.

Ejemplo apagado

construir una gráfica en el sistema de coordenadas polares

>> t=0:pi/100:2*pi;

>> polar(t,cos(6*t))

En la ventana gráfica de MATLAB, puede realizar varias configuraciones de la ventana gráfica y sus objetos usando el menú o la barra de herramientas (Fig. 9).

En la ventana del editor o usando el menú contextual con el botón derecho del mouse, se realizan las configuraciones necesarias (color, tamaño, tipo, grosor de línea, etc.) del objeto de la ventana gráfica.

Las posibilidades para este tipo de configuraciones de gráficos interactivos son muy amplias. En primer lugar, los proporciona el botón Editar gráfico en la barra de herramientas de la ventana.

Los gráficos tridimensionales MATLAB están muy desarrollados y son variados, siendo en sí mismos una parte muy importante del programa, pero rara vez se utilizan en el curso de Señales y Sistemas.

Algunos de los comandos de trazado 3D

>> plot3(…) % traza una imagen axonométrica de una superficie 3D

>> mesh(…) % construye superficies 3D con lo especificado

Ejemplo.

% coloración

>> =malla([-3:0.1:3]);

>> Z=X.^2+Y.^2;

>> malla(X,Y,Z)
.

Un ejemplo de cómo trazar la función de transferencia de un sistema de segundo orden con una función de transferencia

Ceros y polos del sistema:

H=(s+0)./((s+1).^2+1);

malla(x,y,abs(H))

Mostrar una función como una tabla es conveniente si hay una cantidad relativamente pequeña de valores de función. Supongamos que desea mostrar una tabla de valores de funciones en la ventana de comandos.

en los puntos 0,2, 0,3, 0,5, 0,8, 1,3, 1,7, 2,5.
El problema se resuelve en dos etapas.
1. Se crea un vector de fila. INCÓGNITA, que contiene las coordenadas de puntos específicos.
2. Se calculan los valores de la función. Trazar un gráfico de dependencia de funciones(incógnita)de cada elemento del vector incógnita y los valores resultantes se escriben en un vector de fila Ud.
Los valores de la función se deben encontrar para cada uno de los elementos del vector fila. INCÓGNITA, por lo que las operaciones en la expresión de la función deben realizarse elemento por elemento.

" x =
x=
0,2000 0,3000 0,5000 0,8000 1,3000 1,7000 2,5000 » y = sin(x).^2./(l+cos(x))+exp(-x).*log(x)
Y =

Tenga en cuenta que cuando intenta utilizar las operaciones de exponenciación ^, división / y multiplicación * (que no son por elementos), se muestra un mensaje de error cuando sin(x) se eleva al cuadrado:

» y = sin(x)^2/(1+cos(x))+exp(-x)*log(x)
??? Error al usar ==> ^
La matriz debe ser cuadrada.

El hecho es que en MatLab las operaciones * y ^ se utilizan para multiplicar matrices de tamaños apropiados y elevar una matriz cuadrada a una potencia.
La tabla se puede hacer más legible colocando los valores de la función directamente debajo de los valores de los argumentos:

"X
x=
0,2000 0,3000 0,5000 0,8000 1,3000 1,7000 2,5000 » años
y =
-1.2978 -0.8473 -0.2980 0.2030 0.8040 1.2258 1.8764

A menudo es necesario mostrar el valor de una función en puntos de un segmento que están espaciados entre sí. igual distancia(paso). Supongamos que necesita mostrar una tabla de valores de funciones. Trazar un gráfico de dependencia de funciones(incógnita) en un segmento con un paso de 0,2. Por supuesto, puedes ingresar un vector de fila de valores de argumento. x= desde la línea de comando y calcule todos los valores de la función como se describe anteriormente. Sin embargo, si el paso no es 0,2, sino, por ejemplo, 0,01, entonces queda mucho trabajo para ingresar el vector. INCÓGNITA.
MatLab le permite crear fácilmente vectores, cada elemento de los cuales difiere del anterior en valor constante, es decir. un paso. Para ingresar dichos vectores, use dos puntos (no debe confundirse con la indexación usando dos puntos). Los dos operadores siguientes conducen a la formación de vectores de fila idénticos. Convencionalmente podemos escribir

" x =
x=
" x =
x=
1.0000 1.2000 1.4000 1.6000 1.8000 2.0000

Convencionalmente podemos escribir

x = [ valor inicial:paso: valor final]

No es necesario asegurarse de que la suma del valor del penúltimo paso sea igual al valor final, por ejemplo, al ejecutar el siguiente operador de asignación.

" x =
x=
1.0000 1.2000 1.4000 1.6000 1.8000

El vector de fila se completará hasta un elemento que no exceda el valor final que definimos. El paso también puede ser negativo:

" x =
x=
1.9000 1.7000 1.5000 1.3000 1.1000

En el caso de un paso negativo, para obtener un vector de fila no vacío, el valor inicial debe ser mayor que el valor final.
Para llenar un vector de columna con elementos que comienzan en cero y terminan en 0,5 en incrementos de 0,1, complete el vector de fila y luego use la operación de transposición:

" x = "
x=
0
0.1000
0.2000
0.3000
0.4000
0.5000

Tenga en cuenta que los elementos de un vector lleno de dos puntos solo pueden ser reales, por lo que puede usar un apóstrofe en lugar de un punto con un apóstrofe para la transposición.
Paso, igual a uno, puede no especificarse al completar automáticamente:

" x =
x=
1 2 3 4 5

Supongamos que desea mostrar una tabla de valores de funciones.

en un segmento con un paso de 0,05,
Para completar esta tarea debes hacer lo siguiente:
1. Generar un vector de fila incógnita usando dos puntos.
2. Calcular valores en(incógnita)de elementos incógnita.
3. Escribe el resultado en un vector de fila. y.
4. Retirarse incógnita Y Ud.

" x = ;
» y = exp(-x).*sin(10*x);
"X
x=
Columnas 1 a 7
О 0,0500 0,1000 0,1500 0,2000 0,2500 0,3000
Columnas 8 a 14
0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500
Columnas 15 a 21
0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000
» y
Y =
Columnas 1 a 7
0 0.4560 0.7614 0.8586 0.7445 0.4661 0.1045
Columnas 8 a 14
-0.2472 -0.5073 -0.6233 -0.5816 -0.4071 -0.1533 0.1123
Columnas 15 a 21
0.3262 0.4431 0.4445 0.3413 0.1676 -0.0291 -0.2001

Vectores de fila x e y Constan de veintiún elementos y no caben en la pantalla en una línea, por lo que se muestran en partes. Porque incógnita Y Trazar un gráfico de dependencia de funciones almacenados en matrices bidimensionales con dimensiones de uno por veintiuno, se muestran en columnas, cada una de las cuales consta de un elemento. Primero, se muestran las columnas del uno al siete (columnas del 1 al 7), luego las columnas del ocho al catorce (columnas del 8 al 14) y, finalmente, las columnas del quince al veintiuno (columnas del 15 al 21). Es más visual y conveniente. representación gráfica funciones.

2. Graficar una función de una variable

2.1. Gráficas de funciones en escala lineal.

MatLab tiene capacidades gráficas bien desarrolladas para la visualización de datos. Consideremos primero construir la gráfica más simple de una función de una variable usando el ejemplo de la función

,

definido en el segmento. La salida de una función en forma de gráfica consta de los siguientes pasos:
1. Especificar un vector de valores de argumentos INCÓGNITA.
2. Cálculo de vectores en valores de función Trazar un gráfico de dependencia de funciones(incógnita).
3. Llame al comando de trazado para trazar un gráfico.
Comandos para especificar un vector incógnita y es mejor finalizar los cálculos de funciones con un punto y coma para suprimir la salida de sus valores a la ventana de comando (no es necesario poner un punto y coma después del comando de trazado, ya que no envía nada a la ventana de comando).

" x = ;
» y = exp(-x).*sin(10*x);
» trama (x, y)

Después de ejecutar los comandos, aparece una ventana en la pantalla. Copiar No. 1 con la gráfica de la función. La ventana contiene un menú, una barra de herramientas y un área de gráficos. A continuación, se describirán los comandos diseñados específicamente para diseñar un gráfico. Ahora nos interesa el principio de construcción de gráficas y algunas de las posibilidades más simples para visualizar funciones.
Para trazar una gráfica de función en ambiente de trabajo En MatLab se deben definir dos vectores de la misma dimensión, por ejemplo incógnita Y Ud. La matriz correspondiente x contiene los valores de los argumentos e y contiene los valores de la función de estos argumentos. El comando de trazado conecta puntos con coordenadas (x(i), y(i)) con líneas rectas, escalando automáticamente los ejes para posicionar de manera óptima el trazado en la ventana. Al construir gráficos, es conveniente colocar la ventana principal de MatLab y la ventana con el gráfico una al lado de la otra en la pantalla para que no se superpongan.
La gráfica construida de la función tiene problemas. Para trazar la gráfica con mayor precisión, se debe calcular la función. Trazar un gráfico de dependencia de funciones(incógnita) V. más puntos en el segmento, es decir establecer un paso más pequeño al ingresar un vector incógnita:

" x = ;
» y = exp(-x).*sin(10*x);
» trama (x, y)

El resultado es una gráfica de la función en forma de curva más suave.
Es conveniente comparar varias funciones mostrando sus gráficas en los mismos ejes. Por ejemplo, construyamos gráficos de funciones en el intervalo [-1, -0.3]
,

usando la siguiente secuencia de comandos:

"x = [-1:0.005:-0.3];
» f = pecado(x.^-2);
» g = pecado(1.2*x.^-2);
» trama (x, f, x, g)

Las funciones no tienen que estar definidas en el mismo segmento. En este caso, al construir gráficos, MatLab selecciona el segmento máximo que contiene el resto. Sólo es importante indicar en cada par de vectores de abscisas y ordenadas los vectores correspondientes entre sí, por ejemplo:

"x1 = [-1:0.005:-0.3];
» f = pecado(x1.^-2);
"x2 = [-1:0.005:0.3];
» g = pecado(1.2*x2.^-2);
» trama (x1, f, x2, g)

De manera similar, al especificar en la gráfica, separados por comas, se construyen pares de argumentos de la forma: vector de abscisas, vector de ordenadas, gráficos. cualquier numero funciones.

Nota 1

El uso de plot con un argumento (un vector) da como resultado la construcción de un "gráfico vectorial", es decir dependencia de los valores de los elementos vectoriales de sus números. El argumento del gráfico también puede ser una matriz; en este caso, los gráficos de columnas se muestran en los mismos ejes de coordenadas.
A veces es necesario comparar el comportamiento de dos funciones cuyos valores son muy diferentes entre sí. La gráfica de una función con valores pequeños prácticamente se fusiona con el eje x y no se puede establecer su apariencia. En esta situación, ayuda la función plotyy, que muestra gráficos en una ventana con dos ejes verticales, teniendo una escala adecuada.
Compare, por ejemplo, dos funciones: y

" x = ;
» f = x.^-3;
"F = 1000*(x+0,5).^-4;
» trazado(x, f, x, F)

Al ejecutar este ejemplo, observe que el color del gráfico coincide con el color de su eje y correspondiente.
La función de trazado utiliza una escala lineal en ambos ejes de coordenadas. Sin embargo, MatLab brinda al usuario la capacidad de trazar funciones de una variable en una escala logarítmica o semilogarítmica.

2.2. Gráficas de funciones en escalas logarítmicas.

Para trazar gráficos en escalas logarítmicas y semilogarítmicas, utilice las siguientes funciones:
- loglog (escala logarítmica en ambos ejes);
- semilogx (escala logarítmica solo a lo largo del eje de abscisas);
-semilogía (escala logarítmica sólo en ordenadas).

Los argumentos loglog, semilogx y semilogy se especifican como un par de vectores de valores de abscisas y ordenadas de la misma manera que para la función de trazado descrita en el párrafo anterior. Construyamos, por ejemplo, gráficas de funciones. Y en un segmento en escala logarítmica a lo largo del eje incógnita:

" x = ;
» f = iniciar sesión(0,5*x);
» g = pecado(log(x));
» semilogx(x,f,x,g)

2.3. Establecer propiedades de línea en gráficos de funciones

Los gráficos de funciones construidos deben ser lo más fáciles de entender posible. A menudo es necesario aplicar marcadores, cambiar el color de las líneas y, al prepararse para la impresión monocromática, establecer el tipo de línea (sólida, punteada, rayada y punteada, etc.). MatLab brinda la capacidad de controlar la apariencia de gráficos creados usando plot, loglog, semilogx y semilogy, para los cuales se coloca un argumento adicional después de cada par de vectores. Este argumento está encerrado entre apóstrofos y consta de tres caracteres que especifican: color, tipo de marcador y tipo de línea. Se utilizan una, dos o tres posiciones, según los cambios necesarios. La tabla muestra valores posibles argumento dado que indica el resultado.

Tipo de marcador

tipo de línea

sólido

punteado

guiones y puntos

signo más

discontinuo

estrella

Triángulo apuntando hacia abajo

Triángulo apuntando hacia arriba

Triángulo apuntando hacia la izquierda

triangulo apuntando hacia la derecha

estrella de cinco puntas

estrella de seis puntas

Si, por ejemplo, necesita trazar el primer gráfico con marcadores de puntos rojos sin una línea y el segundo gráfico con una línea de puntos negra, entonces debe usar el comando plot(x, f, "r.", x, g , "k:").

2.4. Diseño de gráficos de funciones.

La facilidad de uso de los gráficos depende en gran medida de elementos de diseño adicionales: cuadrícula, etiquetas de ejes, título y leyenda. La cuadrícula se aplica con el comando grid on, las etiquetas para los ejes se colocan usando xlabel, ylabel, el título se proporciona con el comando title. La presencia de varios gráficos sobre los mismos ejes requiere colocar una leyenda con el comando leyenda con información sobre las líneas. Todos los comandos enumerados son aplicables a gráficos en escalas lineales, logarítmicas y semilogarítmicas. Los siguientes comandos muestran gráficos de cambios diarios de temperatura, que cuentan con toda la información necesaria.

" tiempo = ;
" temp1 = ;
" temp2 = ;
» trama(tiempo, temp1, "ro-", tiempo, temp2, "ir-")
» cuadrícula en
» título("Temperaturas diarias")
» xlabel("Tiempo (hora)")
» ylabel("Temperatura (C)")
» leyenda("10 de mayo, 11 de mayo")

Al agregar una leyenda, tenga en cuenta que el orden y la cantidad de argumentos del comando de leyenda deben coincidir con las líneas del gráfico. El último argumento adicional puede ser la posición de la leyenda en la ventana gráfica:

* -1 - fuera del gráfico de la derecha esquina superior ventana gráfica;
* 0: se selecciona la mejor posición dentro del gráfico para que los gráficos se superpongan lo menos posible;
* 1 - en la esquina superior derecha del gráfico (esta posición se utiliza de forma predeterminada);
* 2 - en la esquina superior izquierda del gráfico;
* 3 - en la esquina inferior izquierda del gráfico;
* 4 - en la esquina inferior derecha del gráfico.

En el título del gráfico, la leyenda y las etiquetas de los ejes, puede agregar fórmulas y cambiar estilos de fuente usando el formato TeX.
MatLab muestra gráficos en diferentes colores. Una impresora monocromática imprimirá gráficos en diferentes tonos de gris, lo que no siempre es conveniente. El comando de trazado le permite configurar fácilmente el estilo y el color de la línea, por ejemplo

» trama(x,f,"k-",x,g,"k:")

construye el primer gráfico con una línea negra continua y el segundo con una línea de puntos negra. Los argumentos "k-" y "k:" especifican el estilo y el color de la primera y segunda línea. Aquí k significa negro y un guión o dos puntos significa una línea continua o de puntos. La ventana del gráfico se puede cerrar haciendo clic en el botón con una cruz en la esquina superior derecha.

3. Trazar gráficas de funciones de dos variables.

Trazar una función de dos variables en MatLab en un dominio rectangular de definición de variables implica dos etapas preliminares:
1. Dividir el área de definición con una cuadrícula rectangular.
2. Calcule los valores de la función en los puntos de intersección de las líneas de la cuadrícula y escríbalos en la matriz.
Trazamos la función z(del índice de matriz (número de elemento),en)= incógnita 2 + en 2 sobre el dominio de definición en forma de cuadrado incógnita pertenece a Trazar un gráfico de dependencia de funciones- . Es necesario dividir el cuadrado con una cuadrícula uniforme (por ejemplo, con un paso de 0,2) y calcular los valores de las funciones en los nodos indicados por los puntos.
Es conveniente utilizar dos matrices bidimensionales xey, de seis por seis de tamaño, para almacenar información sobre las coordenadas de los nodos. La matriz x consta de líneas idénticas que contienen las coordenadas del índice de matriz (número de elemento) 1, incógnita 2, ..., incógnita 6, y la matriz en contiene columnas idénticas con y1, en 2, ..., en 6. Escribimos los valores de la función en los nodos de la cuadrícula en una matriz z de la misma dimensión (6 x 6) y calculamos la matriz. z usar una expresión para una función, pero con elemento por elemento operaciones matriciales. Entonces, por ejemplo z(3.4) será exactamente igual al valor de la función z(x,y)en el punto (x3, en 4). Para generar matrices de cuadrícula incógnita Y en utilizando las coordenadas de los nodos, MatLab proporciona la función meshgrid para construir un gráfico en forma de superficie de estructura alámbrica, se utiliza la función mesh. Las siguientes declaraciones hacen que aparezca una ventana con un gráfico de funciones en la pantalla (no se coloca un punto y coma al final de las declaraciones para controlar la generación de matrices):

" = cuadrícula de malla (0:0.2:1,0:0.2:1)
X =

0 0.2000 0.4000 0.6000 0.8000 1.0000
0 0.2000 0.4000 0.6000 0.8000 1.0000
0 0.2000 0.4000 0.6000 0.8000 1.0000
0 0.2000 0.4000 0.6000 0.8000 1.0000
0 0.2000 0.4000 0.6000 0.8000 1.0000
y=
0 0 0 0 0 0
0.2000 0.2000 0.2000 0.2000 0.2000 0.2000
0.4000 0.4000 0.4000 0.4000 0.4000 0.4000
0.6000 0.6000 0.6000 0.6000 0.6000 0.6000
0.8000 0.8000 0.8000 0.8000 0.8000 0.8000
1.0000 1.0000 1.0000 1.0000 1.0000 1.0000

» Z = X.^2+Y.^2

z=
0 0.0400 0.1600 0.3600 0.6400 1.0000
0.0400 0.0800 0.2000 0.4000 0.6800 1.0400
0.1600 0.2000 0.3200 0.5200 0.8000 1.1600
0.3600 0.4000 0.5200 0.7200 1.0000 1.3600
0.6400 0.6800 0.8000 1.0000 1.2800 1.6400
1.0000 1.0400 1.1600 1.3600 1.6400 2.0000

¿Qué desventajas tiene el gráfico construido? ¿Y cómo eliminarlos? La gráfica construida y la nueva deben incluirse en el informe electrónico de laboratorio.

MatLab te permite trazar información adicional, en particular, hacer coincidir colores con valores de función. La malla se genera usando el comando meshgrid, llamado con dos argumentos. Los argumentos son vectores cuyos elementos corresponden a la cuadrícula del área rectangular donde se construye la función. Se puede utilizar un argumento si el área de construcción de la función es un cuadrado. Para evaluar una función, debe utilizar operaciones por elementos. .

Consideremos las principales capacidades proporcionadas por MatLab para visualizar funciones de dos variables, usando el ejemplo de trazar una función.

en un área de definición rectangular incógnita pertenece a [-1, 1], Trazar un gráfico de dependencia de funciones .
Preparemos matrices con coordenadas de nodos de cuadrícula y valores de funciones:

" = meshgrid(-1:0.05:1, 0:0.05:1);
» Z = 4*sin(2*pi*X).*cos(1.5*pi*Y).*(1-X.^2).*Y.*(1-Y);

Para construir una superficie de estructura alámbrica, use la función de malla, llamada con tres argumentos:

El color de las líneas de la superficie corresponde a los valores de la función. MatLab sólo dibuja parte visible superficies.

Usando el comando escondido Puede hacer que la superficie del marco sea "transparente" agregando una parte oculta. El comando oculto en elimina la parte invisible de la superficie, devolviendo los gráficos a su apariencia anterior.

Función navegar construye una superficie de estructura alámbrica del gráfico de funciones y llena cada celda de la superficie con un color determinado, dependiendo de los valores de la función en los puntos correspondientes a las esquinas de la celda. Dentro de cada celda el color es constante. Ver los resultados de ejecutar el comando

Equipo sombreado plano le permite eliminar líneas de marco. Para obtener una superficie suavemente rellena con un color dependiendo de los valores de la función, use el comando shading interp.
Con el sombreado facetado puedes volver a una superficie con líneas de estructura alámbrica.
Los gráficos 3D producidos por los comandos descritos anteriormente son útiles para tener una idea de la forma de una superficie, pero son difíciles de juzgar los valores de una función. MatLab define el comando colorbar, que muestra una barra al lado del gráfico que establece la correspondencia entre el color y el valor de la función. Utilizando el surf, construya un gráfico de superficie y complételo con información de color.

» navegar(X,Y,Z)
» barra de colores

El comando barra de colores se puede utilizar en combinación con todas las funciones que construyen objetos tridimensionales.

Usando una superficie coloreada, es difícil sacar una conclusión sobre el valor de la función en un punto particular del plano. xy. Los comandos meshc o surfc proporcionan una comprensión más precisa del comportamiento de la función. Estos comandos construyen una superficie de estructura alámbrica o una superficie de estructura alámbrica coloreada y la colocan en el plano. xy líneas de nivel de función (líneas de constancia de valores de función):

» surfc(X,Y,Z)
» barra de colores

MatLab le permite construir una superficie que consta de líneas de nivel usando la función contour3. Esta función se puede utilizar de la misma manera que mesh, surf, meshc y surfc descritas anteriormente con tres argumentos. En este caso, el número de líneas de nivel se selecciona automáticamente. Es posible especificar como cuarto argumento para contour3 el número de líneas de nivel o un vector cuyos elementos sean iguales a los valores de la función mostrados como líneas de nivel. Especificar un vector (el cuarto nivel de argumento) es conveniente cuando necesita examinar el comportamiento de una función en un cierto rango de sus valores (sección de función). Construya, por ejemplo, una superficie que consta de líneas de nivel correspondientes a valores de función de 0 a 0,5 con un paso de 0,01:

" niveles = ;
» contorno3(X, Y, Z, niveles)
» barra de colores

4. Construcción de gráficas de contorno de funciones de dos variables.

MatLab brinda la oportunidad de recibir varios tipos trazados de contorno utilizando las funciones de contorno y contornof. Veamos sus capacidades usando el ejemplo de función.

Usando contorno con tres argumentos.

» contorno(X,Y,Z)

da como resultado un gráfico que muestra líneas de nivel en un plano xy, pero sin especificar valores numéricos sobre ellos . Un gráfico de este tipo no es muy informativo; no permite conocer los valores de la función en cada una de las líneas de nivel. El uso del comando de la barra de colores tampoco le permitirá determinar con precisión los valores de la función. A cada línea de nivel se le puede dotar del valor que sobre ella toma la función en estudio, utilizando la función definida en Funciones de MatLab etiqueta. La función Clabel se llama con dos argumentos: una matriz que contiene información sobre las líneas de nivel y un puntero al gráfico en el que aplicar las marcas. El usuario no necesita crear los argumentos de las etiquetas por sí mismo. La función de contorno, llamada con dos salidas, no sólo traza las líneas de nivel, sino que también encuentra los parámetros necesarios para la etiqueta. Utilice el contorno con los argumentos de salida CMatr y h (la matriz CMatr contiene información sobre las líneas de nivel y la matriz h contiene punteros). Finalice la llamada al contorno con un punto y coma para suprimir los valores de salida y trazar la cuadrícula:

" = contorno(X, Y, Z);
» etiqueta(CMatr, h)
» cuadrícula en

Un argumento adicional para la función de contorno (igual que el contorno3 descrito anteriormente) puede ser el número de líneas de nivel o un vector que contiene los valores de la función para los cuales se deben dibujar líneas de nivel.
La información visual sobre el cambio de función se proporciona rellenando un rectángulo en el plano. xy color dependiendo del valor de la función en los puntos del plano. Para construir tales gráficos, se utiliza la función de contorno, cuyo uso no es diferente del uso de contorno. El siguiente ejemplo muestra un gráfico que consta de veinte líneas de nivel y los espacios entre ellas se rellenan con colores correspondientes a los valores de la función en estudio:

» contorno(X, Y, Z, 20)
» barra de colores

5. Diseño de gráficas de funciones.

Sencillo y de manera eficiente Cambiar la combinación de colores de un gráfico es configurar la paleta de colores usando la función de mapa de colores. El siguiente ejemplo demuestra la preparación de una gráfica de una función para imprimir en una impresora monocromática usando la paleta de grises.

» surfc(X, Y, Z)
»barra de colores
» mapa de colores (gris)
» título("Gráfica de la función z(x,y)")
» etiquetax("x")
» ylabel("y")
» zlabel("z")

Tenga en cuenta que el comando mapa de colores (gris) cambia la paleta de la ventana de gráficos, es decir. siguientes gráficos Se mostrará en esta ventana también en tonos grises. Para restaurar el valor original de la paleta, utilice el comando mapa de colores ("predeterminado"). Las paletas de colores disponibles en MatLab se dan en la tabla. 2.

Tabla 2


Paleta

cambio de color

Cambio suave de rojo - naranja - amarillo.

Similar a la paleta de grises, pero con un ligero tono azul.

Cada color cambia de oscuro a brillante.

Tonos de azul y morado.

Tonos de color cobre.

Cambio cíclico rojo - blanco - azul - negro.

Tonos de gris.

Cambio suave negro - rojo - naranja - amarillo - blanco.

Cambio suave como los colores del arco iris.

Cambio suave azul - azul - rojo - verde - amarillo - rojo.

Similar a la paleta de grises, pero con un ligero matiz. marrón

Cambio cíclico rojo - naranja - amarillo - verde - azul - violeta.

Tonos de morado y amarillo.

Tonos de verde y amarillo.

Paleta de Windows de dieciséis colores.

Un color blanco.

Tono de azul y verde.

6. Mostrar múltiples gráficos en los mismos ejes.

Para mostrar varias gráficas de funciones de una variable en los mismos ejes, se utilizaron las capacidades de las funciones. trama, plotyy, semilogx, semilogía, loglog. Le permiten trazar múltiples funciones especificando los argumentos vectoriales correspondientes en pares, como plot(x,f,x,g). Sin embargo, no se pueden utilizar para combinar gráficos 3D. Para combinar dichos gráficos, se utiliza el comando de retención, que debe especificarse antes de trazar. En el siguiente ejemplo, la combinación de dos gráficas (un plano y un cono) da como resultado su intersección. El cono se especifica paramétricamente mediante las siguientes dependencias:

, , , .

Para mostrar un cono gráficamente, primero debe generar un vector de columna y un vector de fila usando dos puntos, que contienen los valores de los parámetros en un intervalo determinado (es importante que tu m. Un vector columna y un vector fila son matrices en las que una de las dimensiones es igual a uno. De hecho, CON = abT, donde la multiplicación ocurre según la regla producto matricial. Para calcular el producto matricial en MatLab se utiliza el operador asterisco. Definamos el producto exterior de dos vectores:

" a = ;
" b = ;
"C = a*b"
C=
5 6 7
10 12 14
15 18 21

Formemos matrices incógnita,Y, necesario para la visualización gráfica del cono:

» X = 0,3*u*cos(v);
» Y = 0,3*u*sen(v);

Matriz z debe ser del mismo tamaño que las matrices incógnita Y Y. Además, debe contener valores correspondientes a los valores de los parámetros. Si la función incluía el producto. Y Y v, entonces la matriz z podría completarse de manera similar a las matrices incógnita Y Y utilizando un producto externo. Por otra parte, la función z(u,v) se puede representar en la forma , donde . Por lo tanto, para calcular z se puede aplicar el producto exterior de los vectores y , donde el vector fila tiene la misma dimensión que v, pero consta de unidades:

» Z = 0,6*u*ones(tamaño(v));

Se han creado todas las matrices necesarias para visualizar el cono. El avión se especifica de la siguiente manera:

" = meshgrid(-2:0.1:2);
» Z = 0,5*X+0,4*Y;

Ahora no es difícil escribir la secuencia completa de comandos para construir un cono y un plano que se cruzan:

"u = [-2*pi:0.1*pi:2*pi]";
»v = [-2*pi:0.1*pi:2*pi];
» X = 0,3*u*cos(v);
» Y = 0,3*u*sen(v);
» Z = 0,6*u*ones(tamaño(v));
» navegar (X, Y, Z)
" = meshgrid(-2:0.1:2);
» Z = 0,5*X+0,4*Y;
"esperar"
» malla (X, Y, Z)
» escondido

El comando de apagado oculto se utiliza para mostrar la parte del cono ubicada debajo del avión.
Tenga en cuenta que el comando de retención se aplica a todas las salidas de gráficos posteriores en ventana actual. Para colocar gráficos en ventanas nuevas, use el comando de espera. El comando mantener presionado también se puede utilizar para organizar varias gráficas de funciones de una variable, por ejemplo,

» trama(x,f,х,g)

es equivalente a la secuencia

» trama(x,f)
"esperar"
» trama(x,g)

Los resultados del trabajo que recibí:



¿Te gustó el artículo? ¡Comparte con tus amigos!