matlab使用教程(7)—基本画图函数

news2025/4/6 15:09:38

1.创建绘图

plot 函数具有不同的形式,具体取决于输入参数。
• 如果 y 是向量, plot(y) 会生成 y 元素与 y 元素索引的分段线图。
• 如果有两个向量被指定为参数, plot(x,y) 会生成 y x 的图形。
使用冒号运算符创建从 0 2 π x 值向量,计算这些值的正弦,并绘制结果。
x = 0:pi/100:2*pi;
y = sin(x);
plot(x,y)

添加轴标签和标题。 xlabel 函数中的字符 \pi 用于创建符号 π title 函数中的 FontSize 属性用于增大标题所用的文本大小。
xlabel('x = 0:2\pi')
ylabel('Sine of x')
title('Plot of the Sine Function','FontSize',12)
 

2绘制多个图形

        通过调用一次 plot ,多个 x-y 对组参数会创建多幅图形。MATLAB® 对每条线使用不同的颜色。 例如,下列语句绘制 x 的三个相关函数:
x = 0:pi/100:2*pi;
y = sin(x);
y2 = sin(x-.25);
y3 = sin(x-.5);
plot(x,y,x,y2,x,y3)

legend 函数提供了一种标识各条线的简单方法:
legend('sin(x)','sin(x-.25)','sin(x-.5)')

3指定线型和颜色

使用 plot 命令绘制数据时,可以指定颜色、线型和标记(例如加号或圆圈):
plot(x,y,'color_style_marker')
color_style_marker 包含一至四个字符(包括在单引号中),这些字符根据颜色、线型和标记类型构造而成。例如,
plot(x,y,'r:+')
使用红色点线绘制数据,并在每个数据点处放置一个 + 标记。color_style_marker 由下列元素的组合形式构成。

 

4绘制线条和标记

如果指定标记类型,但未指定线型,MATLAB 仅使用标记创建图形,而不会创建线条。例如,
plot(x,y,'ks')
在每个数据点绘制黑色正方形,但不会使用线条连接标记。语句
plot(x,y,'r:+')
绘制红色点线,并在每个数据点处放置加号标记。

5在每十个数据点处放置标记

此示例展示如何使用比绘制线条所用的数据点更少的数据点来绘制标记。它使用点线图和标记图(分别采用不同数目的数据点)绘制两次数据图:
x1 = 0:pi/100:2*pi;
x2 = 0:pi/10:2*pi;
plot(x1,sin(x1),'r:',x2,sin(x2),'r+')

6绘制虚数和复数数据

将多个复数值作为参数传递给 plot 时,MATLAB 会忽略虚部,但传递一个复数参数时除外。对于这一特殊情况,该命令是绘制虚部对实部的图的一种快捷方式。因此,
plot(Z)
其中 Z 是复数向量或矩阵,等效于
plot(real(Z),imag(Z))
下列语句将绘制一个具有 20 条边的多边形,并在各顶点处绘制一个小圆圈。
t = 0:pi/10:2*pi;
plot(exp(1i*t),'-o')
axis equal

axis equal 命令使 x 和 y 轴上的各刻度线增量的长度相同,这会使此绘图看起来更加圆润。

7将绘图添加到现有图形中

hold 命令用于将绘图添加到现有图形中。当键入 hold on 时,MATLAB 不会在您发出其他绘图命令时替换现有图形。MATLAB 而会将新图形与当前图形合并在一 起。例如,下列语句首先创建 peaks 函数的曲面图,然后叠加同一函数的等高线图:
[x,y,z] = peaks;
% Create surface plot
surf(x,y,z)
% Remove edge lines a smooth colors
shading interp
% Hold the current graph
hold on
% Add the contour graph to the pcolor graph
contour3(x,y,z,20,'k')
% Return to default
hold off

8图窗窗口

如果尚未创建图窗窗口,绘图函数会自动打开一个新的图窗窗口。如果打开了多个图窗窗口,MATLAB 将使用指定为“当前图窗”(通常为上次使用的图窗)的图窗窗口。
要将现有图窗窗口设置为当前的图窗,请将指针放置在该窗口中并点击鼠标,或者也可以键入
figure(n)
其中 n 是图窗标题栏中的编号。要打开新的图窗窗口并将其作为当前图窗,请键入
figure
9清空图窗以便创建新绘图
如果某图窗已存在,大多数绘图命令会清除轴并使用此图窗创建新绘图。但是,这些命令不会重置图窗属性,例如,背景色或颜色图。如果已在以前的绘图中设置图窗属性,您可以先使用带有 reset 选项的 clf 命令。
clf reset
然后创建新绘图,以便将此图窗的属性恢复为其默认值。

9在一幅图窗中显示多个绘图

subplot 命令用于在同一窗口中显示多个绘图,或者在同一张纸上打印这些绘图。键入以下命令
subplot(m,n,p)
会将图窗窗口划分为由多个小子图组成的 m × n 矩阵,并选择第 p 个子图作为当前绘图。这些绘图沿图窗窗口的第一行进行编号,然后沿第二行进行编号,依此类推。例如,下列语句在图窗窗口的三个子区域绘制数据:
x = 0:pi/20:2*pi;
subplot(3,1,1); plot(sin(x))
subplot(3,1,2); plot(cos(x))
subplot(3,1,3); plot(sin(x).*cos(x))

10控制轴

axis 命令提供了许多用于设置图形的比例、方向和纵横比的选项。

10.1自动改变坐标轴范围和刻度线

默认情况下,MATLAB 查找数据的最大值和最小值,并选择坐标轴范围来覆盖此范围。MATLAB 选择范围和轴刻度线值,以便生成可清楚地显示数据的图形。但是,您可以使用 axis xlim ylim zlim 函数来设置您自己的范围。
注意 更改一个轴的范围可能会导致其他范围也发生更改,从而更好地表示数据。要禁用自动范围设置,请输入 axis manual 命令。

10.2设置坐标轴范围

axis 命令用于指定您自己的范围:
axis([xmin xmax ymin ymax])
或者对于三维图形,
axis([xmin xmax ymin ymax zmin zmax])
请使用命令
axis auto
重新启用自动范围选择。

10.3设置轴纵横比

axis 命令还可用于指定多种预定义模式。例如,
axis square
使 x 轴和 y 轴的长度相同。
axis equal
使 x 轴和 y 轴上的各个刻度线增量的长度相同。这意味着
plot(exp(1i*(0:pi/10:2*pi)))
(后跟 axis square axis equal )会将椭圆形转变为正圆:
axis auto normal
将轴比例恢复为其默认的自动模式。

10.4设置轴可见性

使用 axis 命令可以显示或隐藏轴。
axis on
显示轴。这是默认设置。
axis off
隐藏轴。

10.5设置网格线

grid 命令启用和禁用网格线。语句
grid on
启用网格线,而
grid off
再次禁用网格线。

10.6添加轴标签和标题

此示例展示如何创建图形并增强其显示:
• 定义 x 和 y 轴的范围 ( axis )
• 对 x 和 y 轴添加标签( xlabel ylabel
• 添加标题 ( title )
• 在图形中添加文本附注 ( text )
使用 LaTeX 表示法生成数学符号。如需关于在图形中放置箭头、方框和圆圈的信息,请参阅 annotation 函数。

11保存图窗

通过从 文件 菜单中选择 保存来保存图窗。这会将图窗写入到文件,包括属性数据、图窗菜单、uicontrol 和所有注释(即整个窗口)。如果这个图窗以前未被保存过, 另存为对话框则会出现。此对话框提供用于将图窗另存为 .fig 文件或将其导出为图形格式的选项。
如果以前保存过这个图窗,再次使用 保存 会以“静默”方式保存图窗,而 另存为 对话框不会出现。
要使用标准图形格式(例如,TIFF 或 JPG)保存图窗以便用于其他应用程序,请从 文件 菜单中选择 另存为 (如果需要其他控件,则选择 导出设置 )。
注意 当指定保存图窗的格式时,下次保存该图窗或新图窗时,将再次使用该文件格式。如果您不希望按以前使用的格式保存,请使用 另存为 ,并确保将 保存类型下拉菜单设置为要写入的文件类型。也可通过以下命令行进行保存:
• 使用 savefig 函数将图窗及其包含的图形对象保存为 .fig 文件。
• 使用包含任意选项的 saveas 命令,以各种格式保存图窗。

11.1加载图窗

您可以使用以下函数将图窗加载到 MATLAB:
• 使用 openfig 函数加载保存为 .fig 文件的图窗。
• 使用 imread 函数将标准图形文件(包括保存图窗)读入到 MATLAB 中。

11.2生成 MATLAB 代码以便再建图窗

通过从图窗 文件 菜单中选择 生成代码,可以生成用于再建图窗及其所包含的图形的 MATLAB 代码。如果您已使用绘图工具创建图形,并且希望使用相同或不同数据创建类似图形,此选项尤其有用。

12保存工作区数据

通过从图窗 文件 菜单中选择 将工作区另存为 ,可以保存工作区中的变量。使用图窗 文件 菜单中的 导入数据项可以重新加载保存的数据。MATLAB 支持多种数据文件格式,包括 MATLAB 数据文件,该数据文件的扩展名为 .mat

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/822030.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ISO-15031/ISO-15765 诊断说明

注:15765诊断可参考15031,两者诊断逻辑相同 1: ISO15031 目录说明 ISO15031-1: 这里边介绍的是一般信息和用例定义; ISO15031-2: 术语、定义、缩写词和首字母缩写词[技术报告] ISO15031-3: 这里边主要介绍了诊断连接器及相关电路&#xff1…

掌握Python的X篇_17_循环语句(while;for var in ;range)

文章目录 1. 为什么需要循环2. while循环3. for...in循环4. range函数 1. 为什么需要循环 循环语句方便我们做重复的事情,比如: for i in range (0,3):print("重要的事情说三遍")运行效果如下: Python中有while循环和for循环两…

IDEA中Git面板操作介绍 变基、合并、提取、拉取、签出

IDEA中Git面板操作介绍 变基、合并、提取、拉取、签出 面板介绍 变基、合并 提取、拉取 签出、Checkout 面板介绍 如图,在IDEA的Git面板中,仓库会分为本地仓库和远程仓库,代码仓库里面放的是各个分支。 分支前面的书签🔖标志…

基于总线加锁和缓存锁(CPU实现原子操作的两种方式)

总线锁 总线锁就是使用处理器提供的一个 LOCK#信号,当一个处理器在总线上输出此信号时,其他处理器的请求将被阻塞住,那么该处理器可以独占共享内存。 CPU和内存之间的通信被锁!! 如果多个 处 理器同 时对 …

【数据预测】基于白鲸优化算法BWO的VMD-KELM光伏发电功率预测 短期功率预测【Matlab代码#54】

文章目录 【可更换其他算法,获取资源请见文章第6节:资源获取】1. 白鲸优化算法BWO2. 变分模态分解VMD3. 核极限学习机KELM4. 部分代码展示5. 仿真结果展示6. 资源获取 【可更换其他算法,获取资源请见文章第6节:资源获取】 1. 白鲸…

Vue 2.x 项目升级到 Vue 3详细指南【总结版】

文章目录 0.前言1.升级教程1.1. 升级 Vue CLI:1.2. 安装 Vue 3:1.3. 更新 Vue 组件:1.4. 迁移全局 API:1.5. 迁移路由和状态管理器:1.6. 迁移 TypeScript:1.7. 迁移测试代码: 2.迁移总结2.0. 这…

C++类和对象(下部曲)

构造函数 1 构造函数体赋值 在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值 虽然对象中已经有了一个初始值,但是不能将其称为对对象中成员变量的初始化 构造函数体中的语句只能将其称为赋初值,而…

十大排序|十大排序

稳定排序&#xff1a;冒泡排序、插入排序、归并排序、基数排序、桶排序 不稳定排序&#xff1a;选择排序、快速排序、希尔排序、堆排序 二、插入排序&#xff1a; 代码&#xff1a; #include<iostream> #include<cstdio> #include<stdlib.h> #include<ve…

真机搭建中小网络

这是b站上的一个视频&#xff0c;演示了如何搭建一个典型的中小网络&#xff0c;供企业使用 一、上行端口&#xff1a;上行端口就是连接汇聚或者核心层的口&#xff0c;或者是出广域网互联网的口。也可理解成上传数据的端口。 二、下行端口&#xff1a;连接数据线进行下载的端…

Vue源码学习 - 虚拟Dom 和 diff算法

目录 前言一、认识虚拟DOM用 JS 对象模拟 DOM 结构用JS对象模拟DOM节点的好处为什么要使用虚拟 DOM 呢&#xff1f;虚拟Dom 和 diff算法的关系 二、认识diff算法diff算法的优化key的作用diff算法 在什么时候执行&#xff1f; 三、深入diff算法源码patch 函数sameVnode 函数patc…

简要介绍 | 生成模型的演进:从自编码器(AE)到变分自编码器(VAE)和生成对抗网络(GAN),再到扩散模型

注1:本文系“简要介绍”系列之一,仅从概念上对生成模型(包括AE, VAE, GAN,以及扩散模型)进行非常简要的介绍,不适合用于深入和详细的了解。 生成模型的演进:从自编码器(AE)到变分自编码器(VAE)和生成对抗网络(GAN),再到扩散模型 一、背景介绍 生成模型在机器学习领域…

【Linux后端开发】poll/epoll多路转接IO服务器

目录 一、poll原理 二、poll实现多路转接IO服务器 三、epoll函数接口 四、epoll的工作原理 五、epoll实现多路转接IO服务器 一、poll原理 poll函数接口 #include <poll.h> int poll(struct pollfd *fds, nfds_t nfds, int timeout);// pollfd结构 struct pollfd …

搜索二叉树_SearchBinaryTree

目录 搜索二叉树的原理 搜索二叉树的搜索时间复杂度 二叉搜索树实现_key 模型 节点 构造函数 查找 中序遍历 插入 循环 递归 删除 循环 1.删除叶子节点 2.删除有一个孩子的节点 3.左右孩子都不为空 递归 析构函数 拷贝构造 operator key_value 模型 节点 …

JDBC-笔记

JDBC 1. JDBC介绍 JDBC&#xff08;Java Database Connectivity&#xff09;是一种用于连接和操作数据库的 Java API。 通过Java操作数据库的流程 第一步&#xff1a;编写Java代码 第二步&#xff1a;Java代码将SQL发送到MySQL服务端 第三步&#xff1a;MySQL服务端接收到SQ…

ems

【python爬虫】邮政包裹物流查询 目标网站 ems 邮政快递包裹查询: https://www.ems.com.cn/ 截图 接口预览 getPic请求滑动验证码的背景图片和滑块图片&#xff0c;返回的是base64编码的图片 getLogisticsTestFlag发送验证码的验证信息 xpos为滑动的距离&#xff0c;本站没…

CUDA编译器环境配置篇

cuda教程目录 第一章 指针篇 第二章 CUDA原理篇 第三章 CUDA编译器环境配置篇 第四章 kernel函数基础篇 第五章 kernel索引(index)篇 第六章 kenel矩阵计算实战篇 第七章 kenel实战强化篇 第八章 CUDA内存应用与性能优化篇 第九章 CUDA原子(atomic)实战篇 第十章 CUDA流(strea…

CHI中的System Debug, Trace, and Monitoring

Data Source indication □ Read request的completer&#xff0c;可以在CompData, DataSepResp, SnpRespData, and SnpRespDataPtl response中的datasource域段中指定data的来源&#xff1b;即使响应中带有错误&#xff0c;该datasource也是有效的&#xff1b; □ 该域段也可复…

Flutter 之Bloc入门指南实现倒计时功能

Flutter Timer By Bloc 前言Stream.periodic实现倒计时定义Bloc状态定义Bloc事件定义Bloc组件定义View层参考资料前言 使用Bloc开发Flutter的项目,其项目结构都很简单明确,需要创建状态,创建事件,创建bloc,创建对应的View。flutter_timer项目来分析下Bloc的使用方法。 通…

逻辑回归变量系数可为负数吗?应该如何解释?

之前很多学员来问逻辑回归变量系数是否都应该为正数&#xff0c;如果出现负的变量系数该怎么办&#xff1f;是否需要重新建模&#xff1f;这些学员都是在网上搜索时&#xff0c;被错误信息误导。网上信息可以随意转载&#xff0c;且无人审核对错。我见过最多情况时很多文章正确…

软工导论知识框架(三)结构化的设计

一.传统软件工程方法学采用结构化设计技术&#xff08;SD&#xff09; 从工程管理角度结构化设计分两步&#xff1a; 概要设计&#xff1a; 将软件需求转化为数据结构和软件系统结构。详细设计&#xff1a;过程设计&#xff0c;通过对结构细化&#xff0c;得到软件详细数据结构…