Matlab Capítulo III Dibujo y gráficos
Conceptos básicos de dibujo en 2D
En este capítulo, es necesario abrir Matlab y dibujar usted mismo; el artículo solo proporciona el código correspondiente, lo animo a que lo pruebe usted mismo y dibuje hermosas imágenes de funciones
El dibujo de Matlab incluye principalmente 3 procesos:
- Definir función
- Especificar rango de dibujo
- Llamar a la función
plot(x,y)
Tomemos como ejemplo la función normal:
>> x=[ -5:1:5];
y=normpdf(x,0,1);
plot(x,y)
Pero la imagen dibujada de esta manera es aproximada. Esto se debe a que nuestro tamaño de paso es demasiado grande, por lo que debemos ajustar el intervalo de la función:
x = [inicio: intervalo: fin]; el valor predeterminado del intervalo es 1
También podríamos ajustar el tamaño del paso a 0,1:
>> x1=[-5:5];
x2=[-5:0.1:5];
y1=normpdf(x1,0,1);
y2=normpdf(x2,0,1);
plot(x1,y1,x2,y2)
Esta instrucción le ayudará a dibujar dos funciones normales con pasos de 1 y 0,1 en la misma imagen. ¡Puede ver claramente que la curva se ha vuelto más suave!
Podemos agregar etiquetas al eje a través de xlabel
y ylabel
, y usar para title
agregar un título, siempre que la última línea se cambie ligeramente:
plot(x1,y1,x2,y2),xlabel('x'),ylabel('f(x)'),title('标准正态函数的图像');
En particular, cuando la función de imagen que necesitamos dibujar incluye multiplicación, por ejemplo: f = exp(-2*t)*sin(t);
llamar a plot directamente provocará un error, debemos usar la multiplicación de matrices: f = exp(-2*t).*sin(t);
(equivalente al cuadrado)
O use la fplot
función fplot('exp(-2*t)*sin(t)',[0,4])
:;
sintaxis de fplot:
fplot ('cadena de función', [xstart, xend])
El comando del eje de coordenadas
axis square
genera una imagen cuadrada;
axis equal
genera una imagen con exactamente las mismas coordenadas;
también puede usarlo axis auto
para permitir que matlab elija el estilo apropiado;
axis()
puede establecer el rango del eje de coordenadas, la sintaxis es:axis([xmin xmax ymin ymax])
Agregar una leyenda Las
imágenes profesionales siempre van acompañadas de una leyenda para decirle al lector qué es una determinada curva. También solo es necesario agregarla plot(x,y)
más adelante. Sigamos tomando la imagen de distribución normal como ejemplo:
>> x = [-5:0.1:5];
y=normpdf(x,0,1);
plot(x,y),xlabel('x'),ylabel('f(x)'),legend('标准正态分布的概率密度函数')
Establecer líneas y colores
matlab contiene 4 tipos de líneas, a saber:
-
--
-.
:
Y puede llamar a muchos colores diferentes:
r-red; g-green; b-blue; k-black; w-white; y-yellow
Las subimágenes
subplot(m,n,p)
myn indican que la subimagen generada tiene m filas yn columnas, yp apunta a la ventana gráfica. Ilustremos con un ejemplo:
>> x=[-5:0.1:5];
y=sin(3*x);
z=2*cos(2*x);
subplot(1,2,1)
>>plot(x,y,'r'),xlabel('x'),ylabel('sin3x'),title('figure1')
>> subplot(1,2,2)
>> plot(x,z,'b'),xlabel('x'),ylabel('2cos2x'),title('figure2')
- Tenga en cuenta que primero debemos usar la subtrama para apuntar a una subgrafía específica y luego dibujarla con la
La superposición de linspace e image
x=linspace(a,b,n)
significa que n puntos se eliminan uniformemente entre ay b. El valor predeterminado de n es 100, por ejemplo:
>> x=linspace(0,2*pi);
>> plot(x,cos(x))
Cada vez que se vuelva a llamar a la función de trazado, se borrará la imagen original. Para dibujar imágenes superpuestas, podemos utilizar hold on
comandos, por ejemplo:
>> x=linspace(0,2*pi);
plot(x,cos(x))
>> hold on
>> plot(x,sin(x))
>> axis([0 2*pi -1.5 1.5]) %调整坐标轴以让我们的图像更为好看
De esta forma, las imágenes cosx y sinx superpuestas se pueden dibujar en una imagen.