记忆力比较差,把学习过程中常用的语法记录于此,方便回忆时索引
MATLAB总结2:画图相关
文章目录
一、linspace
在MATLAB中,linspace函数用于在指定的区间内生成均匀间隔的数值序列。它的语法如下:
linspace(start, end, n)
其中:
start 是序列的起始值。
end 是序列的结束值。
n 是序列中的点数(生成的数值个数)。
linspace函数将生成一个包含从 start 到 end 的 n 个数值的向量。这些数值在指定的区间内均匀分布。
下面是一个示例代码:
x = linspace(1, 10, 5);
disp(x);
上述代码将生成一个从1到10的向量,包含5个均匀间隔的数值。使用disp函数输出向量x的内容。
执行上述代码后,将在命令窗口中显示向量x的值:
1 3.25 5.5 7.75 10
这样,向量x将包含从1到10的5个均匀间隔的数值。
linspace函数在生成等间隔的数值序列时非常有用,特别是在绘图和数值计算中常常会使用到。
二、画图相关指令
1.plot:绘制折线图或曲线图。
x = 0:0.1:2*pi;
y = sin(x);
plot(x, y);
指定线型和颜色
使用 plot 命令绘制数据时,可以指定颜色、线型和标记(例如加号或圆圈):
plot(x,y,'color_style_marker')
2.添加轴标签和标题。
xlabel('x = 0:2\pi')
ylabel('Sine of x')
title('Plot of the Sine Function','FontSize',12)
3.legend
legend函数用于在图形中添加图例。图例是用于标识不同数据系列或图形元素的标签,使得阅读和理解图形更加直观和清晰。
legend('label1', 'label2', ...)
4.subplot
subplot函数用于在单个图窗中创建多个子图。它允许您将图形划分为多个均匀分布的子区域,并在每个子区域中分别绘制图形。
subplot函数的一般语法如下:
subplot(m, n, p)
其中,m是指定图窗的行数,n是指定图窗的列数,p是指定当前子图的位置。
5.轴和格线
设置网格线
grid 命令启用和禁用网格线。启用网格线:
grid on
再次禁用网格线。
grid off
轴
axis函数用于设置坐标轴的界限和刻度范围。
axis函数的一般语法如下:
axis([xmin xmax ymin ymax])
其中,xmin和xmax是指定x轴范围的最小值和最大值,ymin和ymax是指定y轴范围的最小值和最大值。
三、三维图像相关指令
1.基本指令:plot3,surf,mesh
MATLAB的内置函数plot3、surf和mesh等。这些函数提供了绘制三维曲线、曲面和网格的功能。
下面是使用这些函数绘制三维图像的示例:
绘制三维曲线:
% 生成数据
t = linspace(0, 2*pi, 100);
x = sin(t);
y = cos(t);
z = t;
% 绘制三维曲线
plot3(x, y, z, 'b', 'LineWidth', 2);
xlabel('X');
ylabel('Y');
zlabel('Z');
title('Three-Dimensional Curve');
grid on;
这里的grid很重要,让图像有层次感的关键
绘制三维曲面:
function myfun
[x, y] = meshgrid(-1:0.01:1, -1:0.01:1)
z=(x.^2+y.^2).^(1/2);
surf(x,y,z);
grid on;
colorbar;
shading interp;
1.meshgrid:
作用是将直线变为曲线,防止软件直接画出一个僵硬的图像。 对比如下
function myfun x=linspace(-1,1,1000); y=linspace(-1,1,1000); z=(x.^2+y.^2).^(1/2); plot3(x,y,z,'color','r','linewidth',2); grid on;
function myfun [x, y] = meshgrid(-1:0.1:1, -1:0.1:1) z=(x.^2+y.^2).^(1/2); plot3(x,y,z,'color','r','linewidth',2); grid on;
2. surf:渲染的关键一步
surf(X, Y, Z) 是一个函数,用于绘制三维曲面图。
surf函数会根据X、Y和Z的值绘制出相应的三维曲面。曲面的形状和外观会根据X、Y和Z的值进行插值和渲染。
对比如下
function myfun [x, y] = meshgrid(-1:0.01:1, -1:0.01:1) z=(x.^2+y.^2).^(1/2); plot3(x,y,z,'linewidth',2); grid on; colorbar;
function myfun [x, y] = meshgrid(-1:0.01:1, -1:0.01:1) z=(x.^2+y.^2).^(1/2); surf(x,y,z); grid on; colorbar;
3.shading interp:
shading interp 函数,用于在绘制三维曲面图时进行颜色插值,使曲面看起来更平滑。上面的变为:
绘制三维网格:
% 生成数据
[X, Y] = meshgrid(-2:0.2:2, -2:0.2:2);
Z = X.^2 - Y.^2;
% 绘制三维网格
mesh(X, Y, Z);
xlabel('X');
ylabel('Y');
zlabel('Z');
title('Three-Dimensional Mesh');
colorbar;
4.colorbar:
线条颜色,图中最右边的,表示不同高度的不同颜色
后续还会更新