数学建模笔记 day-03
第三章 Matlab绘图及视频读写
3.1 散点图
3.1.1 基于scatter函数的二维散点图
给定平面上的n个不同点的直角坐标(Xi,Yi)(i=1,2,......,n),两个坐标分量组成的向量分别用向量x和y表示。使用scatter函数绘制散点图,常用的3种格式如下:
scatter(x,y),scatter(x,y,sz),scatter(x,y,sz,c)
每个离散点默认用圆圈表示。在第二种格式中,sz表示圆圈大小,若s为标量,则所有圆圈大小相同;若sz为n维向量,则其分量值越大,圆圈越大。在第三种格式中,c表示颜色,当c为n维向量时,其分量取值越大,对应圆圈的颜色越红,反之越蓝;当c为1*3维向量时,它的分量分别表示R、G、B的值,这里RGB分别表示3种颜色red、green、blue。
a=rand(3)
b=rand(2,3)
save mydatal a b %保存一个以maydatal为名字的mat文件
load mydatal %将文件变量加载到工作区
load mydatal.mat %将文件变量加载到工作区
load('mydatal.mat') %将文件变量加载到工作区
subplot(121) %打开一行二列的第一个窗口进行操作
scatter(x,y)
subplot(122) %打开一行二列的第一个窗口进行操作
scatter(x,y,[],z)
实例分析:
clc ,clear
load seamount %加载Matlab内置文件seamount.mat
subplot(121),scatter(x,y,20,z) %圆圈大小为20
title('(A)s=20') %设置大标题
xlabel('$x$','Interpreter','Latex') %设置x轴
ylabel('$y$','Interpreter','Latex','Rotation',0) %设置y轴
subplot(122),scatter(x,y,30,'fill')
title('(A)s=30') %设置大标题
xlabel('$x$','Interpreter','Latex') %设置x轴
ylabel('$y$','Interpreter','Latex','Rotation',0) %设置y轴
3.1.2 基于scatter3的函数的三维散点图
在三维空间,n个点构成的横坐标,纵坐标和竖坐标向量分别为x,y,z,则绘制散点图的函数为scatter3,它的常用格式为
scatter3(x,y,z),scatter3(x,y,z,sz),scatter3(x,y,z,sz,c),其中sz和c的意义与scatter中的意义相同
实例分析:
clc,clear
load seamount.mat %加载Matlab内置文件seamount.mat
scatter3(x,y,z,30,z,'fill')
xlabel('$x$','Interpreter','Latex') %设置x轴
ylabel('$y$','Interpreter','Latex') %设置y轴
zlabel('$z$','Interpreter','Latex','Rotation',0) %设置z轴
注:scatter和scatter3默认用圆圈表示点,当然也可以用三角形、正方形、菱形、五角星和六角星等封闭符号来表示。若在scatter和scatter3中使用了fiied,则不建议使用非封闭的加号、黑点、叉号和星号等等符号。
3.2 基于plot函数的散点图和平面曲线绘制
已知二维平面上的n个点,构成的x坐标和y坐标向量分别为x,y,把这n个点按照先后顺序用线段相连,就得到过这n个点的折线图。Matlab无法绘制真正意义上的曲线,实际绘制的都是折线图;如果相邻两点之间不连线段,则绘制出散点图。
plot函数是绘制二维图形的最基本函数,它是针对向量或矩阵的列来绘制曲线的,可以绘制线段和曲线。函数plot的最典型调用方式是三元组形式:
plot(x,y,'Color|Linestyle|Marker')
其中x,y为同维数的向量(或矩阵),x作为点的横坐标,y作为点的纵坐标,plot命令用直线连接相邻两数据点绘制图形。Color、Linestyle和Marker分别是颜色、线型和数据点标记,它们之间没有先后顺序之分。
常用的颜色、线型和数据点符号如表所示
颜色符号 | 颜色 | 线型符号 | 线型 | 数据点符号 | 标记 |
b(默认) | 蓝色 | -(默认) | 实线 | + | 十字 |
r | 红色 | : | 短虚线 | * | 星号 |
y | 黄色 | -- | 长虚线 | 0 | 圆圈 |
g | 绿色 | -. | 点划线 | X | 叉号 |
c | 蓝绿色 | s | 正方形 | ||
m | 紫红色 | d | 菱形 | ||
k | 黑色 | p | 五角星 | ||
w | 白色 | h | 六角形 |
画二维曲线图时,当知道曲线的函数表达式时,可以使用2种方式画图:
(1) 用描点画图命令plot
(2)用函数画图命令fplot
示例1:
clc,clear,close all
load seamount
subplot(121),plot(x,y,'ro') %绘制二维散点图
title('(A)二维散点图')
subplot(122),plot3(x,y,z,'bo')%绘制三维散点图
注!!!:此时未指明线型符号,所以没有连线
示例2:
clc,clear,close all
t=0:1:2*pi;
x=cos(t);y=sin(t);
plot(x,y),axis square
figure %再开辟一个图形窗口
x=@(t)cos(t);y=@(t)sin(t);
fplot(x,y,[0,2*pi]),axis equal %[0,2*pu=i]为x的取值范围
示例3:画出单位圆的内接八边形
clc,clear, close all
t1=linspace(0,2*pi); %等间距取100个值
x1=cos(t1);y1=sin(t1);
plot(x1,y1) %化单位圆
hold on %图形保持
t2=linspace(0,2*pi,9) %等间距取9个不同点,0和2*pi对应的点重合
x2=cos(t2);y2=sin(t2);
plot(x2,y2,'.k-'),axis square
3.3 三维绘图命令
MATLAB也提供了一些三维基本画图命令,如三维曲线命令plot3,三维网格图命令mesh和三维表面图命令surf.
plot3(x,y,z)通过描点连线画出曲线,这里x,y,z分别表示数据点的横坐标、纵坐标和竖坐标,如果x和y是向量,x是m维的向量,y是n维的向量,则z是n*m维的向量,则z是n*m的矩阵。x,y,z也可以都是同维数的矩阵,命令mesh(x,y,z)将该数据点在空间中描出,并连成网格图。命令surf(x,y,z)画出三维表面图,这里x,y,z分别表示数据点的横坐标、纵坐标和竖坐标。
已知曲线或曲面的函数关系,提倡使用fplot3,fmesh,fsurf等命令画图。
三维空间的隐函数绘图命令为fimplicit3
示例1 画出三维螺旋线 x=tcost,y=tsint,z=t的图形
clc,clear
t=0:0.01:100;
x=t.*cos(t);
y=t.*sin(t);
subplot(121),plot3(x,y,t)
x=@(t)t.*cos(t);
y=@(t)t.*sin(t);
z=@(t)t;
subplot(122),fplot3(x,y,z,[0,100])
示例2 绘制出/4+/2= 的网格曲线图
clc,clear,close all
subplot(121)
x=@(t,z)2*z.*cos(t);
y=@(t,z)sqrt(2)*z*sin(t);
z=@(t,z)z;
fsurf(x,y,z,[0,2*pi,-5,5]),title('') %[0,2*pi]为t的取值范围,[-5,5]为z的取值范围
subplot(122)
fimplicit3(@(x,y,z)x.^2/4+y.^2/2-z.^2,[-10,10,-10,10,-5,5])
示例3 莫比乌斯环
注!!!:fplot3输入必须为一个或多个包含单个变量的函数。
clc,clear,close all
x=@(s,t)(2+(s/2).*cos(t/2)).*cos(t);
y=@(s,t)(2+(s/2).*cos(t/2)).*sin(t);
z=@(s,t)(s/2).*sin(t/2);
fmesh(x,y,z,[-1,1,0,2*pi])
附:contour(x,y,z) --矩阵的等高线图
作用:此 MATLAB 函数 创建一个包含矩阵 Z 的等值线的等高线图,其中 Z 包含 x-y 平面上的高度值。MATLAB 会自动选择要显示的等高线。Z的列和行索引分别是平面中的 x 和 y 坐标。
数学建模笔记 day-03相关推荐
- 数学建模笔记——插值拟合模型(二)
今天是8月21日,距离上次写文章好像将近一个月了--这段时间经历了建模校内选拔赛,考试周,以及与网络小说的斗智斗勇--好吧,其实也没干什么,除了考试就是荒废-- 我最近有在思考一个问题,就是我所关注的 ...
- 数学建模笔记之一起读论文2019年C题——机场的出租车问题
数学建模笔记之一起读论文--机场的出租车问题 2021-8-28 全国大学生数学建模竞赛 2019年C题 B站链接--国赛C题真题解析 1 赛题阅读与分析 原题再现: 问题C 机场的出租车问题 大多数 ...
- 数学建模笔记-第十四讲-主成分分析
文章目录 主成分分析 数据降维 主成分分析思想 PCA计算过程 主成分分析的应用 例1 主成分的说明 例2 MATLAB 对结果的解释 主成分分析的滥用:主成分得分 主成分分析用于聚类 主成分回归 说 ...
- 数学建模笔记-第五讲-相关系数
文章目录 相关系数 pearson相关系数 相关性可视化 误区 相关系数大小的解释 例题 描述性统计 matlab excel SPSS 矩阵散点图 计算相关系数 热力图美化结果 对相关系数进行假设检 ...
- 数学建模笔记——评价类模型之灰色关联分析
这一篇就简单介绍一下灰色关联分析吧.灰色关联分析主要有两个作用,一是进行系统分析,判断影响系统发展的因素的重要性.第二个作用就是用于综合评价问题,给出研究对象或者方案的优劣排名. 不过这里我只能简单介 ...
- 数学建模笔记-第七讲-回归分析
文章目录 回归分析 线性回归介绍 回归系数 内生性探究 蒙特卡罗代码 弱化无内生性条件 四种模型 回归系数的解释 四种模型回归系数的解释 虚拟变量 多分类的虚拟变量设置 含交互项的自变量 应用题(奶粉 ...
- 清风数学建模笔记——Excel画图保姆级教学
备注:本篇内容是在Office环境下作图,WPS不支持直方图和箱线图好像.免费的Office软件可以在微信搜索中搜"Office"然后挑一个下载即可 本文借鉴了数学建模清风老师的课 ...
- 数学建模笔记(1)——评价类问题
写在前面,以下为几天后的数学建模做准备,鉴于非工科背景出身,决定放弃A类题,以C类题为主,辅以B题开始学习. ( 内容主要参考知乎.CSDN及B站网课,会表明出处,侵删) 首先研究评价类问题 例如,2 ...
- python三次样条插值拟合的树行线_数学建模笔记——插值拟合模型(一)
啊好像距离上次写作又过了七天,啊好像我之前计划的一周两三篇,啊辣鸡小说毁我青春,啊我是一只可怜的鸽子. 不管怎样,我又回来了,并坚定地更新着hhh.再过两三天就是我们学校数学建模选拔,再过八九天就是期 ...
- 数学建模笔记——插值拟合模型(一)
啊好像距离上次写作又过了七天,啊好像我之前计划的一周两三篇,啊辣鸡小说毁我青春,啊我是一只可怜的鸽子. 不管怎样,我又回来了,并坚定地更新着hhh.再过两三天就是我们学校数学建模选拔,再过八九天就是期 ...
最新文章
- oracle更改控制文件位置
- Maatkit工具使用lt;一gt;之mysql主从数据校验工具
- 请解释Spring Bean 的生命周期?
- 中国现磨咖啡行业白皮书
- webserver之定时器
- ganlgia-rrdcached
- nginx nodejs环境配置_Linux 环境变量配置(Nodejs/MongoDB/JDK/Nginx)
- must be str,not int
- 漫游项目服务器,漫游Radius服务器的设计与实现
- edge下载网络问题无法下载
- CV2 找不到指定模块
- 快速学习编程语言,快速高效的入门
- java毕业设计的自助旅游导航系统mybatis+源码+调试部署+系统+数据库+lw
- windows11的便签在哪里,详细教您使用win11便签
- 计算机网络(二十四)UDP及TCP首部的格式
- java银行管理系统-文件版
- php. 生成器 send,PHP生成器细说
- 2021年中国智慧医疗行业白皮书 附下载
- matlab 的 regress、 nlinfit 、stepwise函数多元回归分析
- 云计算不还是服务器吗,云计算和服务器可以说是一个概念吗?