MATLAB 画图

本文详细介绍了MATLAB中图形窗口的管理、坐标系的设置以及二维图形的绘制方法,包括图形窗口句柄、坐标范围设定、plot函数的使用、对数坐标图和极坐标图的绘制。此外,还讲解了图形的修饰与标注,如添加标题、坐标轴说明、图例和使用鼠标选取点。最后,提到了图形对象的修改,如颜色、字体和坐标轴属性的调整。

MATLAB
第一节 图形窗口与坐标系
一.图形窗口

   1.MATLAB在图形窗口中绘制或输出图形,因此图形窗口就像一张绘图纸.
   2. 在MATLAB下,每一个图形窗口有唯一的一个序号h,称为该图形窗口的句柄.MATLAB通过管理图形窗口的句柄来管理图 形窗口;
  3.当前窗口句柄可以由MATLAB函数gcf获得;
  4.在任何时刻,只有唯一的一个窗口是当前的图形 窗口(活跃窗口);
   figure(h)----将句柄为h的窗口设置为当前窗口;
  5.打开图形窗口的方法有三种:
    1)调用 绘图函数时自动打开;
     2)用File---New---Figure新建;
    3)figure命令打开,close命令关 闭.
在运行绘图程序前若已打开图形窗口,则绘图函数不再打开,而直接利用已打开的图形窗口;若运行程序前已存在多个图形窗 口,并且没有指定哪个窗口为当前窗口时,则以最后使用过的窗口为当前窗口输出图形.


6.窗口中的图形打印:用图形窗口的File菜单中 的Print项.


7.可以在图形窗口中设置图形对象的参数.具体方法是在图形窗口的Edit菜单中选择Properties项,打开图 形对象的参数设置窗口,可以设置对象的属性.


二.坐标系
1.一个图形必须有其定位系统,即坐标系;
2.在一个图形 窗口中可以有多个坐标系,但只有一个当前的坐标系;
3.每个坐标系都有唯一的标识符,即句柄值;
4.当前坐标系句柄可以由 MATLAB函数gca获得;
5.使某个句柄标识的坐标系成为当前坐标系,可用如下函数:axes(h) h为指定坐标系句柄值.


6.一些有关坐标轴的函数:
1)定义坐标范围:一般MATLAB自动定义坐标范 围,如用户认为设定的不合适,可用:axis([Xmin, Xmax, Ymin, Ymax]) 来重新设定;
2) 坐标轴控制:MATLAB的缺省方式是在绘图时,将所在的坐标系也画出来,为隐去坐标系,可用axis off;axis on则显示坐标轴(缺省值).
3)通常MATLAB的坐标系是长方形,长宽比例大约是 4:3,为了得到一个正方形的坐标系可用:axis square
4)坐标系横纵轴的比例是自动设置的,比例可能不一样,要得到相同比 例的坐标系,可用:axis equal


第二节 二维图形的绘制
一. plot函数

plot 函数是最基本的绘图函数,其基本的调用格式为:
1.plot(y)------绘制向量y对应于其元素序数的二维曲线图, 如果y为复数向量,则绘制虚部对于实部的二维曲线图.
   例:绘制单矢量曲线图.
   y=[0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20];
   plot(y)
   由于y矢量有10个元素,x坐标自动定义为[1 2 3 4 5 6 7 8 9 10].图形为:
   12345678910


2.plot(x,y)------ 绘制由x,y所确定的曲线.
1)x,y是两组向量,且它们的长度相等,则plot(x,y)可以直观地绘出以x为横坐标,y为纵坐标的 图形.
   如:画正弦曲线:
   t=0:0.1:2*pi;
   y=sin(t);
   plot(t,y)


2)当 plot(x,y)中,x是向量,y是矩阵时,则绘制y矩阵中各行或列对应于 30 向量x的曲线.如果y阵中行的长度与x向量的 长度相同,则以y的行 数据作为一组绘图数据;如果y阵中列的长度与x向量的 长度相同,则 以y的列数据作为一组绘图数据;如果y阵中行, 列均与x向量的长度相 同,则以y的每列数据作为一组绘图数据.
例:下面的程序可同时绘出三条曲线.MATLAB在绘制多条曲 线时,会 按照一定的规律自动变化每条曲线的的颜色.
x=0:pi/50:2*pi;
y(1,:)=sin(x);
y(2,:)=0.6*sin(x);
y(2,:)=0.3*sin(x);

MATLAB 中进行绘图是一项常见的任务,适用于数据分析、信号处理、数学建模等多个领域。MATLAB 提供了强大的绘图功能,可以生成二维和三维图形,并支持动态更新和自定义设置。 ### 1. 基本的二维绘图 使用 `plot` 函数是绘制二维图形的基础方法。基本语法如下: ```matlab plot(x, y) ``` 其中,`x` 和 `y` 是等长的向量,分别表示横坐标和纵坐标数据。 例如: ```matlab x = 0:0.1:2*pi; y = sin(x); plot(x, y) ``` 可以通过为每条曲线分别设置图形属性来区分多条曲线。例如: ```matlab x = 0:0.1:2*pi; y1 = sin(x); y2 = cos(x); plot(x, y1, 'r--', x, y2, 'b:') ``` 在这里,`'r--'` 表示红色虚线,而 `'b:'` 表示蓝色点线 [^2]。 ### 2. 添加标题和标签 为了使图形更具可读性,可以添加标题、轴标签以及图例。 ```matlab title('Sine and Cosine Wave') xlabel('X-axis') ylabel('Y-axis') legend('sin(x)', 'cos(x)') ``` ### 3. 动态绘图 动态绘图通常用于实时数据监控或模拟过程中的可视化更新。一种实现方式是使用 `animatedline` 函数结合 `addpoints` 方法。 以下是一个简单的动态绘图示例: ```matlab h = animatedline; axis([0, 4*pi, -1, 1]) for t = 0:0.1:4*pi addpoints(h, t, sin(t)) drawnow end ``` 该代码创建了一个动态线条对象 `h`,并逐步将正弦波的值添加到图中,同时调用 `drawnow` 来刷新显示 [^1]。 ### 4. 多子图布局 如果需要在一个窗口中展示多个图形,可以使用 `subplot` 函数来创建子图。例如: ```matlab subplot(2, 1, 1) % 创建一个2行1列的子图区域,并选择第一个区域 plot(x, sin(x)) title('Sine') subplot(2, 1, 2) % 选择第二个区域 plot(x, cos(x)) title('Cosine') ``` ### 5. 自定义图形属性 除了基础绘图外,还可以进一步调整图形的样式,包括颜色、线型、标记等。此外,也可以通过 `set` 函数修改已有图形对象的属性,如线条宽度、字体大小等。 示例: ```matlab h = plot(x, y, 'LineWidth', 2, 'Color', [0.5, 0, 0.8]); set(gca, 'FontSize', 14) ``` ### 6. 保存图形 完成绘图后,可以使用 `saveas` 或 `print` 命令将图形保存为文件: ```matlab saveas(gcf, 'my_plot.png') % 保存为PNG格式 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值