Matlab二维绘图

低级绘图命令line

有什么点就点哪里,然后连起来,没什么细节,不光滑,所以基本不会用到。

x=0:0.2*pi:2*pi;
y=sin(x);
line(x,y);%画一条sin函数线
line([-5,5],[2,2]);%画一条水平线
line([5,5],[0,2]);%画一条竖线

高级绘图命令plot

没有定细节的时候跟line长得是一样的,但可以确定更多的细节。这种用的是最多的,一个例子就能举例说清楚全部常用函数是怎么用的。

x=0:0.02*pi:2*pi;
y1=sin(x);
y2=sin(2*x);
y3=sin(x+pi/2);
plot(x,y1,'r:',x,y2,'+');%画一条sin函数线
hold on;%保持图形,不让后面画的图形覆盖之前画的图形
plot(x,y3,'-rs');%指定线型为实线,颜色为红色,数据点标记为方形
legend('y1','y2');%添加图例
legend('show');%显示图例off是清除hide是隐藏
colorbar;%添加颜色条
title('GUI二维绘图','FontWeight','Bold');%添加标题,字体设置为黑体
xlabel('横轴','FontSize',15);%X轴注释
ylabel('纵轴','FontSize',15);%Y轴注释
axis([0 5 -2 3]);%调整坐标轴范围X轴0到5,Y轴-2到3
axis('xy');%使用笛卡尔坐标系
axis('on');%打开网格线、坐标、注释
%axis也可以一次性加多个字符串
%axis([0 5 -2 3],'xy','on');
grid on;%添加网格线
text(2.5,2,'GoodJob','FontSize',25);%在(2.5,2)的位置加上文字
set(gca,'XTick',[0 1/3*pi pi]);%gca是当前坐标轴对象的句柄,XTick设置的是X轴刻度
set(gcf,'color','y');%gcf是当前当前图像对象的句柄,把背景颜色设置为黄色

效果如下图

样条函数spline

通过插值,将数据变化显得更加详细。

x=0:0.2:2*pi;
y=sin(x);
insertX=0:0.01:2*pi;
insertY=spline(x,y,insertX);
plot(x,y,'+r',insertX,insertY,'-g');

子图subplot

就是创造一些子图,看一个例子就懂了。

x=-5:5;
subplot(2,1,1);%2行1列,选择第1个子图。子图跟矩阵不同,是横着数的。
y1=rand(size(x));
y2=normpdf(x);
hold;%hold on和hold off之间切换,默认是hold off,这里就会变成hold on
plot(x,y1,'b');
hold;%这里就会变成hold off,后面绘制的图形会把前面的覆盖掉
plot(x,y2,'r');
title('hold off');
subplot(2,1,2);%2行1列,选择第2个子图
plot(x,y1,'b');
hold on;%后面绘制的图形不会覆盖前面的
plot(x,y2,'r');
title('hold on');

极坐标图polar

就是画个极坐标图,所以代码要用极坐标来算。

t=0:0.01*pi:2*pi;
r=2*sin(2*(t-pi/8)).*cos(2*(t-pi/8));
polar(t,r);

直角坐标系概率分布图

x=rand(500,1);%500*1矩阵
y=rand(500,3);%500*3矩阵
subplot(3,1,1);
hist(x);%x里面最大值和最小值的差平均分为10等分
subplot(3,1,2);
hist(x,100);%x里面最大值和最小值的差平均分为100等分
subplot(3,1,3);
hist(y,25);%x里面最大值和最小值的差平均分为25等分

画出来是这样的

极坐标系概率分布图

因为长得像玫瑰,所以也叫玫瑰图。

x=rand(1000,1)*100;
t=x*pi/180;
rose(t);
set(findobj(gca,'Type','Line'),'LineWidth',1.5);

柱状图

有两种,bar画横向柱状图,barh画纵向柱状图,格式如下:

bar(Y,option);%以1,2,3……为x坐标,option可选,下面的面积图等图形都有这个用法,不再赘述
bar(X,Y,option);%option如果为'stack'为累加式,如果为'group'为分组式

例子如下

x=[3 5 6;4 8 7;6 9 7];
subplot(1,2,1);bar(x);
subplot(1,2,2);barh(x,'stack');

面积图

有个小小的注意点就是要数据要变成列

x=[3 5 6 4 8]';
y=[4 8 6 9 4]';
subplot(1,2,1);area(x,y);%只画一条
subplot(1,2,2);area([x,y]);%累叠模式

饼状图

也就是计算个数据占比,不足100%的就空着。

x=rand(1,5);
y=[0.2 0.45 0.1];
subplot(1,2,1);pie(x);
subplot(1,2,2);pie(y);

离散数据绘图

x=0:0.2:10;
y=sin(x);
subplot(1,2,1);stem(x,y);%默认是空心小圆圈
subplot(1,2,2);stem(x,y,'fill');%画实心小圆圈

阶梯图

x=0:0.2:10;
y=sin(x);
stairs(x,y);
hold on;
plot(x,y);

等高线图

x=peaks;%生成的数据给到x
subplot(2,1,1);
contour(x);%绘制peaks图形等高线图,自动生成等高线
subplot(2,1,2);
[c,h]=contour(x,[3 1]);%c为等高矩阵,h为句柄列向量,指定等高线高度为3和1
clabel(c,h);%标注等高线标签,也就是等高线的数值
figure;%新建图形窗口
subplot(2,1,1);
[c,h]=contour(x,4);%指定等高线数量为4
clabel(c,h);
subplot(2,1,2);
contourf(x,4);%填充模式

一共画了4个图

你会发现用plot(x)打印出来的图跟等高线图是对应上的,它的本质其实是个三维图,我们后面讲三维图会讲到。

向量图

常用向量图有罗盘图、羽毛球图、向量场图。

x=rand(2,5);
y=rand(2,5);
subplot(2,2,1);
plot(x,y,'ro');
subplot(2,2,2);
compass(x,y);%绘制罗盘图,起点在原点
subplot(2,2,3);
feather(x,y);%绘制羽毛球图,起点在X轴上间隔单位长度的刻度点
subplot(2,2,4);
[x,y,z]=peaks(50);
contour(x,y,z,5);%等高线
[u,v]=gradient(z);%梯度
hold on;
quiver(x,y,u,v);%绘制向量场图

函数绘图

用M文件绘图

M文件定义

function y=Untitled(x)
y=exp(sin(x));

执行命令

fplot('Untitled',[0 2*pi]);%将[0 2*pi]传入m文件

执行效果


命令行窗口直接绘图

fplot('exp(sin(x))',[0 2*pi]);

匿名函数

f=@(x)exp(sin(x))%@代表将f定义为函数指针,f的入参为x
fplot(f,[0 2*pi]);

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

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

相关文章

1867_noweb简介

Grey 全部学习内容汇总: GitHub - GreyZhang/g_org: my learning trip for org-mode 1867_noweb简介 noweb是一个简单可扩展的文学式编程工具,操作简单且不限制编程语言。 主题由来介绍 本质上来说,我对noweb没有太多的了解欲望。但是我…

5.云原生安全之kubesphere应用网关配置域名TLS证书

文章目录 cloudflare配置使用cloudflare托管域名获取cloudflare API Token在cloudflare中配置SSL/TLS kubesphere使用cert-manager申请cloudflare证书安装证书管理器创建Secret资源创建cluster-issuer.yaml创建cert.yaml申请证书已经查看申请状态 部署harbor并配置ingress使用证…

机器学习笔记 - 基于OpenCV+稀疏光流的无监督运动检测

一、简述 在各种高级开源库的帮助下,检测固定摄像机拍摄的运动行为是轻而易举可以实现的,但检测移动的摄像机拍摄的移动物体的运动检测依然是一个复杂的问题。在这里,我们将继续基于稀疏光流,并检测移动的无人机相机的运动。 这里…

2024年道路运输企业主要负责人证考试题库及道路运输企业主要负责人试题解析

题库来源:安全生产模拟考试一点通公众号小程序 2024年道路运输企业主要负责人证考试题库及道路运输企业主要负责人试题解析是安全生产模拟考试一点通结合(安监局)特种作业人员操作证考试大纲和(质检局)特种设备作业人…

STL标准库与泛型编程(侯捷)笔记2

STL标准库与泛型编程(侯捷) 本文是学习笔记,仅供个人学习使用。如有侵权,请联系删除。 参考链接 Youbute: 侯捷-STL标准库与泛型编程 B站: 侯捷 - STL Github:STL源码剖析中源码 https://github.com/SilverMaple/STLSourceCo…

企业网盘全方位解读:热门云存储工具的优势与适用场景

企业网盘无疑是当下最热门的企业协同工具。什么是企业网盘?企业网盘与个人网盘又有什么不同呢?一文全方位解读企业网盘这一热门云存储工具。 什么是企业网盘 企业网盘为企业级文件存储、管理与共享平台,企业团队可以在企业网盘中存储企业文…

2024.1.6 关于 Redis 数据类型 Zset 常用命令

目录 Zset 基本概念 Zset 命令操作 ZADD ZRANGE ZREVRANGE ZCARD ZCOUNT ZRANGEBYSCORE ZPOPMAX BZPOPMAX ZPOPMIN BZPOPMIN ZRANK ZREVRANK ZSCORE ZREM ZREMRANGEBYRANK ZREMRANGEBYSCORE ZINCRBY Zset 基本概念 Set(集合) 元素具…

ARM笔记-----输入捕获

输入捕获可以对输入的信号的上升沿、下降沿或者双边沿进行捕获,常用的有测量输入信号的脉 宽,和测量 PWM 输入信号的频率和占空比这两种。 输入捕获的大概的原理 当捕获到信号的跳变沿的时候,把计数器 CNT 的值锁存到捕获寄 存器 CCR 中…

各种基础环境搭建

1、Python解释器安装 验证环境变量是否添加成功 winr --> cmd 输入python 会出现的问题 在命令行输入python弹出应用商城 是由于商城的环境变量在python的环境变量前面,移动到最下面就好 C:\Users…\AppData\Local\Microsoft*WindowsApps*

3d全景怎么拍摄?应用领域有哪些?

3d全景技术是综合了VR技术和全景拍摄的一种新型应用技术,通过3D全景技术可以为用户带来720度无死角的观看方式和真实的观看体验,那么3d全景是怎么拍摄制作的呢?应用领域又有哪些呢? 3d全景拍摄制作流程其实不难,常见的…

Linux-文件系统管理实验2

1、将bin目录下的所有文件列表放到bin.txt文档中,并将一共有多少个命令的结果信息保存到该文件的最后一行。统计出文件中以b开头的所有命令有多少个,并将这些命令保存到b.txt文档中。将文档中以p结尾的所有命令保存到p.txt文件中,并统计有多少…

多租户看这一篇就够了

什么是多租户?举个例子:马云、马化腾和刘强东三个人去租房子,他们因为家里经济困难所以勤工俭学,三个人决定合租一套三室一厅的房子,虽然每个人有自己的房间,但是家里的水电、厨房、卫生间和热水器都是大家…

攀登者1 - 华为OD统一考试

OD统一考试 分值: 100分 题解: Java / Python / C++ 题目描述 攀登者喜欢寻找各种地图,并且尝试攀登到最高的山峰。 地图表示为一维数组,数组的索引代表水平位置,数组的元素代表相对海拔高度。其中数组元素0代表地面。 例如:[0,1,2,4,3,1,0,0,1,2,3,1,2,1,0],代表如下…

2、Excel:基础概念、表格结构与常见函数

数据来源:八月成交数据 数据初探 业务背景 数据来源行业:金融行业(根据应收利息和逾期金额字段来判断) 可以猜测: 业务主体:某互联网金融公司(类似支付宝)也业务模式:给…

汽车电子行业的 C 语言编程标准

前言 之前分享了一些编程规范相关的文章,有位读者提到了汽车电子行业的MISRA C标准,说这个很不错。 本次给大家找来了一篇汽车电子行业的MISRA C标准的文章一同学习下。 什么是MISRA? MISRA (The Motor Industry Software Reliability Ass…

K8S-应用部署

1 应用管理解读 2 应用部署实践 资源对象管理关系 资源对象管理实践 手工方式: kubectl run pod名称 --imageimage地址资源清单方式: apiVersion: v1 kind: Pod metadata:labels:run: my-podname: my-pod spec:containers:- image: kubernetes-register.sswang.co…

报错curl: (6) Could not resolve host: raw.githubusercontent...的解决办法

我起初想要在macOS系统安装pip包,首先在终端安装homebrew,敲了命令:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent...)" 之后触发的报错,报错内容:curl: (6) Could not resolve host: raw.…

1870_使用flx来增强counsel-M-x的模糊匹配功能

Grey 全部学习内容汇总: https://github.com/GreyZhang/editors_skills 1870_使用flx来增强counsel-M-x的模糊匹配功能 这一次算是趁热打铁,把之前优化掉了的counsel-M-x的匹配功能再推进一步。虽然还是没有达到spacemacs中的乱序匹配效果&#xff0c…

性能分析与调优: Linux 监测工具的数据来源

目录 一、实验 1.环境 2. proc目录 3. sys目录 4.netlink 5.tracepoint 6.kprobes 7. uprobes 二、问题 1.systemd如何查看启动时间 2.CentOS与Ubuntu如何安装bpftrace 3.snap有哪些常用的命令 4.snap如何安装store 5.如何列出使用bpftracede的OpenJDK USDT探针 …

私有仓库Gogs搭建(docker环境)

文章目录 环境准备Gogs简介MYSQL(docker) 搭建gogs(docker) 部署gogs初始化配置配置管理员信息仓库创建项目代码上传仓库 环境准备 本地环境安装git,参考Git分布式版本控制工具学习管理面板1panel,安装参考Armbian安装1panel教程服务器docker环境(如果使…