MATLAB平面图像绘制

本文仅供参考,更多用法和细节还需读者们自己探索

平面图像绘制

一、plot

plot的基本形式是 plot(X,Y),其中X、Y是长度相等的行向量,两个向量对应的位置元素会组成一个坐标点,最后在figure中显示该坐标点。

标题、坐标轴名称

title用于修改标题

xlabel用于修改x轴标签

ylabel用于修改x轴标签

图像样式

plot中的线型、线的颜色、粗细,点型、点的颜色(轮廓和填充)都可以修改。

线型

        

线型默认为  '-'(直线),可以修改为  '--'(虚线)、':'(点)、'-.'(点画线)

1.线的颜色

常见颜色可以用缩写表示:'r'(红色)、'g'(绿色)、'b'(蓝色)等

也可以用rgb三元组表示

也可用十六进制颜色代码表示

(以上两种方式在使用时需要在前面加上 'Color',不然识别不出来)

2.线的粗细

修改线的粗细前需要加 'LineWidth',默认值为0.5

3.点型

默认无点型,可以修改为:'o'(圆圈)、'+'(+号)、'*'(*号)、'.'(点型)

4.点的颜色

修改边缘颜色,前面需要加 'MarkerEdgeColor',颜色同上

修改填充颜色,前面需要加 'MarkerFaceColor',颜色同上

5.修改多种特征

1.可选择单独修改,标记出每个要修改的特征,然后一个一个改(类似上面的颜色填充,修改边缘颜色就在前面写'MarkerEdgeColor',修改填充颜色就在前面写'MarkerFaceColor')

2.同时修改(如下),同时修改更简洁,但是不能调整更细节的部分。

多个图像绘制

在处理数据中,我们可能需要同时绘制多组数据,但是直接使用plot会将上一次的图像覆盖掉

1.绘制于同一坐标系

可以选择一个plot输出多组数据

也可以选择使用hold on(默认为hold off),使图像不会被覆盖,然后使用多次plot

2.同一个窗口绘制多幅图

此时需要用到subplot函数

格式为subplot(m,n,p)

m为创建的行数,n为列数,p可以为向量,也可以为标量(从左往右,然后换行从左往右)

使用向量则表示跨多个区域

3.多窗口

利用figure指令生成新的窗口

图例

利用legend函数生成图例

legend默认在右上角,其图例顺序与plot的先后顺序有关(plot输出多组数据、多个plot输出于同一个fugure效果一样)

二、contour(等高线图)

等高线图所需要的数据包含XYZ三组,XY为坐标,Z为数据(Z坐标),其中XY要组成一个网格,即X和Y是两个大小一样的矩阵Z一般由XY生成,所以也是大小一样的矩阵),这样才能表示三维坐标,三个矩阵中同一位置的数组成一个三维坐标点(如:X矩阵中第二行第二列,Y矩阵中第二行第二列和Z矩阵中第二行第二列组成一个坐标点

点电荷电势为例

此处20意为画20条等高线

可以自定义选取的位置

此处选取的是这两个特定大小的等高线(直接从U里复制的)

三、quiver(矢量图)

矢量图所需要的数据为四个:x(箭头起始点x坐标)y(箭头起始点y坐标)u(箭头x分量)v(箭头y分量)。

以点电荷电场方向为例

因为此处矢量图仅表示方向而非大小,故将向量单位化。

  • 17
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过以下步骤在 MATLAB绘制平面与圆锥相交的曲线: 1. 定义圆锥面的方程。例如,考虑一个半径为 r,高度为 h 的圆锥,其方程为: `(x^2 + y^2)^(1/2) = (h/r) * z` 2. 定义平面的方程。例如,考虑一个过原点的平面,其方程为: `ax + by + cz = 0` 其中 a、b、c 是平面的法向量。 3. 将平面方程代入圆锥面方程,得到一个二次方程。解这个二次方程,可以得到曲线在三维空间中的参数方程。 4. 使用 MATLAB 中的 `ezplot3` 函数绘制这个参数曲线。为了让曲线在另一个图像中呈现出来,可以将这个曲线保存为一个变量,并在另一个图像中使用 `plot3` 函数绘制。 下面是一个示例代码,绘制一个半径为 2,高度为 4 的圆锥与一个过原点的平面相交的曲线: ```matlab % 定义圆锥面的方程 r = 2; h = 4; [x,y,z] = cylinder(r); z = h * z; % 定义平面的方程 a = 1; b = 2; c = 3; % 将平面方程代入圆锥面方程,解二次方程 syms t; eqn = (a*x + b*y + c*z)^2 - (h/r)^2 * (x^2 + y^2) == 0; solt = solve(eqn, t); % 计算曲线在三维空间中的参数方程 x1 = eval(x(t)); y1 = eval(y(t)); z1 = eval(z(t)); x2 = eval(x(-t)); y2 = eval(y(-t)); z2 = eval(z(-t)); % 绘制曲线 figure; ezplot3(x1, y1, z1, [-r, r]); hold on; ezplot3(x2, y2, z2, [-r, r]); xlabel('x'); ylabel('y'); zlabel('z'); title('Intersection of a Cone and a Plane'); % 在另一个图像中绘制曲线 figure; plot3(x1, y1, z1, '-r', 'LineWidth', 2); hold on; plot3(x2, y2, z2, '-b', 'LineWidth', 2); xlabel('x'); ylabel('y'); zlabel('z'); title('Intersection of a Cone and a Plane'); ``` 运行代码后,会得到两个图像,第一个图像中显示了圆锥与平面的交线,第二个图像中只显示了交线。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值