【MATLAB绘图】

MATLAB绘图函数:Plot函数详解

介绍

MATLAB是一种常用的科学计算和数据可视化工具,它提供了强大的绘图函数,使用户能够创建各种类型的图表和图形。

基本语法

plot函数的基本语法如下:

plot(x, y)

其中,xy是长度相等的向量,分别表示要绘制的数据点的横坐标和纵坐标。通过传入不同的xy向量,我们可以创建不同类型的图形。

绘制简单折线图

首先,让我们来看一个简单的示例,绘制一条折线图:

x = 1:10;
y = [1 3 5 2 4 6 8 7 9 10];
plot(x, y)

在这个例子中,我们定义了一个长度为10的横坐标向量x,和一个长度为10的纵坐标向量yplot函数会根据这两个向量的值绘制出相应的折线图。

自定义线型和颜色

plot函数还可以通过指定线型和颜色参数,来自定义绘制的线条样式。

plot(x, y, 'LineStyle', '--', 'Color', 'r')

在上述示例中,我们通过添加额外的参数来指定线型为虚线(--),颜色为红色(r)。通过这种方式,我们可以根据需求定制绘图的样式。

绘制多个曲线

除了绘制单条曲线,plot函数还可以绘制多个曲线在同一个坐标系中,使其在同一个图形中显示。

x = 1:10;
y1 = [1 3 5 2 4 6 8 7 9 10];
y2 = [2 4 6 8 10 12 14 16 18 20];
plot(x, y1, x, y2)

在上面的示例中,我们定义了两个纵坐标向量y1y2,并使用相同的横坐标向量x进行绘制。通过在plot函数中传入多组xy向量,我们可以绘制多个曲线在同一个图形中。

子图绘制

MATLAB提供了subplot函数,可以在同一个图形窗口中绘制多个子图。通过指定行数和列数,以及当前子图的位置,我们可以在不同位置绘制不同的图形。

x = 1:10;
y1 = [1 3 5 2 4 6 8 7 9 10];
y2 = [2 4 6 8 10 12 14 16 18 20];

subplot(2, 1, 1);
plot(x, y1);
title('曲线1');

subplot(2, 1, 2);
plot(x, y2);
title('曲线2');

在上述示例中,我们使用subplot函数创建了一个2行1列的图形窗口,并在第一个子图位置绘制了曲线1,第二个子图位置绘制了曲线2。

极坐标绘制

使用polarplot函数来绘制极坐标系下的曲线图。

theta = linspace(0, 2*pi, 100);
rho = sin(2*theta);

polarplot(theta, rho)

在上面的示例中,我们定义了角度向量theta和极径向量rho,并使用polarplot函数绘制了对应的极坐标图形。

柱状图绘制

通过设置'bar'参数来指定绘图类型为柱状图。

x = categorical({'A', 'B', 'C', 'D'});
y = [3 5 2 7];

bar(x, y)

在上述示例中,我们使用了categorical函数创建了一个分类变量x,并定义了对应的高度向量y。通过设置'bar'参数,我们可以绘制出相应的柱状图。

三维图像绘制

我们可以使用meshgrid函数生成二维网格,然后计算函数值,并用surf函数绘制曲面图。

考虑以下的二元函数:

z = f(x, y) = sin(x) + cos(y)

下面是绘制三维曲面图的MATLAB代码:

% 定义范围和步长
x = -pi:0.1:pi;
y = -pi:0.1:pi;

% 生成二维网格
[X, Y] = meshgrid(x, y);

% 计算函数值
Z = sin(X) + cos(Y);

% 绘制三维曲面
figure;
surf(X,

 Y, Z);

% 设置坐标轴标签和标题
xlabel('X');
ylabel('Y');
zlabel('Z');
title('三维曲面:z = sin(x) + cos(y)');

% 添加颜色条
colorbar;

运行这段MATLAB代码后,将会绘制出一个三维曲面,显示出函数z = sin(x) + cos(y)[-π, π]范围内的分布情况。

散点图绘制

通过scatter函数绘制一组数据点的散点图。

以下是一个随机生成数据并绘制散点图的MATLAB代码示例:

% 生成随机数据
n = 50; % 数据点的数量
x = randn(n, 1); % 随机生成n个标准正态分布的x坐标
y = 2 * x + randn(n, 1); % 根据x生成y坐标,同时添加一些噪声

% 绘制散点图
figure;
scatter(x, y, 'filled', 'MarkerFaceColor', 'b');

% 设置坐标轴标签和标题
xlabel('X');
ylabel('Y');
title('散点图示例:y = 2*x + noise');

% 添加网格线
grid on;

运行这段MATLAB代码后,将会绘制出一个散点图,显示出数据点在坐标平面上的分布情况。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue 本地应用 图片切换 v-show v-bind实践

点击切换图片的本质,其实修改的是img标签的src属性。 图片的地址有很多个,在js当中通过数组来保存多个数据,数组的取值结合索引,根据索引可以来判断是否是第一张还是最后一张。 图片的变化本质是src属性被修改了,属性…

Shell输出帮助手册

代码: 帮助手册雏形 function help(){echo -e "Help manual":echo -e " -h. -- help View the help manual"echo -e " install Installation"echo -e " uninstall Uninstall" }case "$1&qu…

设计模式——单例模式

1 概述 单例模式就是保证一个类只有一个对象实例。 为了保证无法创建多余的对象实例,单例类中需要自己创建对象实例,并把自己的构造方法私有化以防止其他地方调用创建对象,且需要提供一个公共的方法给其他类来获取该单例类的实例。 同时单例…

初识TDMQ

目录 一:需求背景二:相关文档三:验证TDMQ广播消息 一:需求背景 目前公司需要将决策引擎处理的结果, 一部分数据交给下游分析/入黑/通知等功能。因此就需要决策引擎生产结果让多方下游去消费。 而我需要实现下游的一部…

flutter开发实战-jsontodart及 生成Dart Model类

flutter开发实战-jsontodart及 生成Dart Model类。 在开发中,经常遇到请求的数据Json需要转换成model类。这里记录一下Jsontodart生成Dart Model类的方案。 一、JSON生成Dart Model类 在开发中经常用到将json转成map或者list。通过json.decode() 可以方便 JSON 字…

AMEYA360谈:村田新款超声波传感器,能实现15cm近距离检测

随着近年来ADAS的精度越来越高,对用于自动刹车和自动泊车的障碍物检测系统提出了更高的检测性能要求。配备在障碍物检测系统中的超声波传感器需要在短距离和长距离的情况下都具有很高的检测精度,并且谐振频率和静电容量的公差很小,以稳定精度…

AI学习笔记三:编写检测的yolov5测试代码

若该文为原创文章,转载请注明原文出处。 通过detect.py代码测试通过后,阅读detect.py代码发现,有些难以看懂,看得有点蒙蒙的, 所以编写了一个简单的测试程序。 代码如下: import cv2 import numpy as np…

基于AOP实现登录日志和操作日志(新手入门版)

基于AOP实现登录日志和操作日志 目录结构代码PostMan测试代码控制台查看输出解析成JSON如果你觉得对你有帮助的话,请点赞收藏 目录结构 代码 package com.demo.mymaintest.constants;import java.lang.annotation.Documented; import java.lang.annotation.ElementT…

Emvirus: 基于 embedding 的神经网络来预测 human-virus PPIs【Biosafety and Health,2023】

研究背景: Human-virus PPIs 预测对于理解病毒感染机制、病毒防控等十分重要;大部分基于 machine-learning 预测 human-virus PPIs 的方法利用手动方法处理序列特征,包括统计学特征、系统发育图谱、理化性质等;本文作者提出了一个…

全志F1C200S嵌入式驱动开发(spi-nor image制作)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 一般soc系统里面添加spi-nor flash芯片,特别是对linux soc来说,都是把它当成文件系统来使用的。spi-nor flash和spi-nand flash相比,虽然空间小了点,但是胜在稳定,这是很多工业…

linux编译内核

新安装的ubuntu18,补齐依赖工具包。 sudo apt install vim sudo apt install net-tools sudo apt-get install libncurses5-dev libssl-dev build-essential openssl sudo apt-get install flex sudo apt-get install bison -y sudo apt-get install openssh-s…

数据结构【栈和队列】

第三章 栈与队列 一、栈 1.定义:只允许一端进行插入和删除的线性表,结构与手枪的弹夹差不多,可以作为实现递归函数(调用和返回都是后进先出)调用的一种数据结构; 栈顶:允许插入删除的那端&…

logback-spring.xml日志配置文件详解

目录 前言logback-spring.xml 配置 前言 打印日志是一个系统的基本功能&#xff0c;系统出现异常可以通过查找日志弄清楚是什么原因&#xff0c;从而更加快速地定位问题&#xff0c;修复系统。 logback-spring.xml 配置 文件位置 具体配置 <?xml version"1.0"…

代理模式(java)

目录 结构 静态代理案例 代码实现 售票类 火车站类 代理类 测试类 优缺点 优点 缺点 结构 代理&#xff08;Proxy&#xff09;模式分为三种角色&#xff1a; 抽象主题&#xff08;Subject&#xff09;类&#xff1a; 通过接口或抽象类声明真实主题和代理对象实现的业务…

Windows Server 2022 中文版、英文版下载 (updated Jul 2023)

Windows Server 2022 中文版、英文版下载 (updated Jul 2023) Windows Server 2022 正式版&#xff0c;2023 年 7 月更新 请访问原文链接&#xff1a;https://sysin.org/blog/windows-server-2022/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&a…

【HTML5】拖放详解及实现案例

文章目录 效果预览代码实现 效果预览 代码实现 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>一颗不甘坠落的流星</title><style>#div1,#div2 {float: left;width: 100px;height: 27px;margin: 10px;paddin…

性能测试Ⅱ(压力测试与负载测试详解)

协议 性能理论&#xff1a;并发编程 &#xff0c;系统调度&#xff0c;调度算法 监控 压力测试与负载测试的区别是什么&#xff1f; 负载测试 在被测系统上持续不断的增加压力&#xff0c;直到性能指标(响应时间等)超过预定指标或者某种资源(CPU&内存)使用已达到饱和状…

Baumer工业相机堡盟工业相机如何通过BGAPI SDK获取相机当前实时帧率(C++)

Baumer工业相机堡盟工业相机如何通过BGAPISDK里函数来计算相机的实时帧率&#xff08;C&#xff09; Baumer工业相机Baumer工业相机的帧率的技术背景Baumer工业相机的帧率获取方式CameraExplorer如何查看相机帧率信息在BGAPI SDK里通过函数获取相机帧率 Baumer工业相机通过BGAP…

成都爱尔蔡裕:泡在“糖”里的脆弱血管,暴露在眼睛深处

糖尿病是一组由多病因引起的以慢性高血糖为特征的终身性代谢性疾病。长期血糖增高&#xff0c;大血管、微血管受损并危及心、脑、肾、周围神经、眼睛、足等。医生临床数据显示&#xff0c;糖尿病发病后10年左右&#xff0c;将有30%&#xff5e;40%的患者至少会发生一种并发症&a…

Spring使用注解进行对象装配(DI)

通过五大类注解可以更便捷的将对象存储到 Spring 中&#xff0c;同样也可以使用注解将已经储存的对象取出来&#xff0c;直接赋值到注解所在类的一个属性中&#xff0c;这一个过程也叫做对象的装配或者叫对象的注入&#xff0c;即 DI。 一. 什么是对象装配 获取 Bean 对象也叫…