Matlab画图教程|二维曲线绘制保姆级教程

58次阅读
没有评论
Matlab画图教程|二维曲线绘制保姆级教程

30秒速读

痛点:数据有了,plot 一敲却报错;图出来了,坐标轴没标签、网格没有,看起来像草稿。本篇讲什么:Matlab二维曲线绘制保姆级教程——从数据向量准备、plot 基本调用,到标注、网格、多曲线叠加、线型自定义和子图排布,所有代码可直接复制运行。

一句话答案

Matlab 画二维曲线的核心就是 plot(x,y) 函数:先准备好 x 和 y 两组等长的数据向量,一行 plot 命令就能出图,再用 xlabel、ylabel、title、grid、legend 给图形加上标注,图形立刻变得专业可读。

适用版本与准备

适用于 Matlab R2016 及以上所有版本,plot 等基础绘图函数各版本通用。打开 Matlab 后在”命令行窗口”逐行输入命令,或新建脚本文件一次性运行。下面所有代码都可以直接复制运行。

三种绘图方式对比:明确推荐

方案 做法 优点 缺点 适合人群
plot 命令行绘图 写代码调用 plot 及修饰函数 可重复、可批量,最规范 要记函数名 写论文、做报告的人
图形窗口交互调整 在图形窗口里点菜单改样式 直观,所见即所得 关闭窗口即丢失,不可重复 临时看一眼数据
Live Script 混合排版 代码、文字、图形混排输出 文档和图一体,分享方便 版本兼容性要注意 做课程作业与技术分享

明确推荐:凡是以后还要复用的图,推荐用 plot 命令行方式,代码存下来随时重跑;只看一眼的临时数据,用图形窗口交互最快。本篇的代码模板就是按命令行方式组织的。

操作步骤

  1. 准备数据向量:曲线由一系列坐标点连成,所以先定义 x 和 y。x = linspace(0, 2*pi, 100) 表示在 0 到 2π 之间取 100 个等距点;y = sin(x) 计算每个 x 对应的正弦值。注意 x 和 y 的长度必须一致,否则 plot 会报错。
    x = linspace(0, 2*pi, 100);
    y = sin(x);
  2. 画出第一条曲线:plot(x, y) 是最基本的调用格式,第一个参数是横坐标,第二个是纵坐标。运行后会弹出图形窗口,看到一条正弦曲线。
    plot(x, y)
  3. 加上坐标轴标签和标题:xlabel 给横轴命名,ylabel 给纵轴命名,title 给整张图起标题。标签建议用英文,避免某些环境下中文显示为方框。
    xlabel('x');
    ylabel('sin(x)');
    title('Sine Curve');
  4. 显示网格线:grid on 打开网格,读数时更容易对应坐标值;不需要时用 grid off 关闭。这是让图形看起来”像那么回事”最简单的一步。
  5. 完整可运行示例:把上面几步连起来,就是一段完整的新手模板代码,复制到命令行窗口逐行运行即可出图。
    x = linspace(0, 2*pi, 100);
    y = sin(x);
    plot(x, y);
    xlabel('x');
    ylabel('sin(x)');
    title('Sine Curve');
    grid on;
  6. 同一张图画多条曲线:默认情况下新的 plot 会清空旧图。先执行 hold on 保持当前图形,再 plot 第二条曲线,最后 hold off 释放。新曲线会自动换颜色以示区分。
    x = linspace(0, 2*pi, 100);
    y1 = sin(x);
    y2 = cos(x);
    plot(x, y1);
    hold on;
    plot(x, y2);
    hold off;
    xlabel('x');
    ylabel('y');
    title('Sine and Cosine Curves');
    legend('sin(x)', 'cos(x)');
    grid on;
  7. 自定义线型和颜色:plot 的第三个参数可以指定样式,’r–‘ 表示红色虚线,’b-‘ 表示蓝色实线,’g:’ 表示绿色点线,’k-o’ 表示黑色带圆圈标记的实线。常用颜色字母:r 红、g 绿、b 蓝、k 黑。
    plot(x, y1, 'r--', 'LineWidth', 2);
  8. 一个窗口画多张子图:subplot(2, 2, 1) 表示把窗口分成 2 行 2 列,当前画第 1 张子图。适合对比多组数据,每张子图照常用 plot 画即可。
    subplot(2, 2, 1);
    plot(x, sin(x));
    title('sin(x)');
    subplot(2, 2, 2);
    plot(x, cos(x));
    title('cos(x)');

常见问题

  • 报错说向量长度不一致?plot(x, y) 要求 x 和 y 元素个数相同。用 length(x) 和 length(y) 分别检查,多数情况是计算 y 时用了矩阵乘法 * 而不是点乘 .*,改成点乘即可。
  • 第二条曲线把第一条覆盖了?因为没加 hold on。记住顺序:先 plot 第一条,hold on,再 plot 第二条,最后 hold off。
  • 中文标签显示为方框乱码?部分系统字体不支持。最简单的办法是标签全部用英文;如果必须用中文,先确认系统装有中文字体,或改用英文加图注说明。
  • 图形窗口一闪而过看不到?脚本运行结束图形窗口可能自动关闭。在脚本末尾加一行 pause 或 shg,让图形停留在屏幕上。
  • 想保存图片怎么办?图形窗口里点”文件-另存为”可以存成 png 或 jpg;写论文推荐用 print -dpng -r300 filename.png 命令,300 分辨率更清晰。

从模板到自己的数据:三步迁移

模板跑通后,换自己的数据只需三步:第一,把 x 换成你的自变量向量(注意长度与 y 一致);第二,把 y 换成你的因变量计算式(矩阵运算记得用点乘 .*);第三,把 xlabel、ylabel、title 改成你的实际含义。其他修饰代码原样保留,一套模板能覆盖八成以上的二维绘图需求。

二维绘图要点回顾

二维曲线绘制就记住一条公式:准备数据加 plot 出图,标注修饰靠 xlabel、ylabel、title、grid、legend,多条曲线用 hold on 叠加。把上面的正弦曲线模板跑通,再换成自己的数据,就掌握了 Matlab 绘图最常用的八成功能。

推广Matlab画图教程|二维曲线绘制保姆级教程

关注「软件教程管家」

回复软件名即取即下:网盘下载链接 + 提取码,一步直达,不用再跳转。

版权与使用提示

本站资源仅供个人学习交流,请勿用于商业用途。软件与资料版权归原作者所有;如有侵权,请通过公众号「软件教程管家」联系我们,我们将在 24 小时内下架处理。查看免责声明 ›

上次编辑至今:13天 · 内容还比较新鲜

公告

契机库网站正式上线!

了解更多
正文完
 0
评论(没有评论)