Matlab数据的可视化
更新时间:2024-03-28 03:15:01 阅读量: 综合文库 文档下载
- MATLAB数据可视化推荐度:
- 相关推荐
Matlab数据的可视化
一、二维作图 1. plot函数
plot(x,y)其中x,y为长度相同的向量,存储x坐标和y坐标。plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。
2.含多个输入参数的plot函数
plot(x1,y1,x2,y2,…,xn,yn) plot函数可以包含若干组向量对,每一组可以绘制出一条曲线。 3.含选项的plot函数
线型 - 实线 : 虚线 -. 点划线 -- 双划线 颜色 b蓝色 g绿色 r红色 c青色 m品红 y黄色 k黑色 . 点 o 圆圈 × 叉号 + 加号 * 星号 标记符号 s 方块 d 菱形 ∨朝下三角符号 ∧朝上三角符号 <朝左三角符号 >朝右三角符号 p 五角星 w白色 h 六角星 4.双纵坐标函数plotyy plotyy(x1,y1,x2,y2)把具有不同量纲,不同数量级的两个函数绘制在同一个坐标中,有利于图形数据的对比分析。:x1,y1对应一条曲线,x2,y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左边的对应x1,y1数据对,右边的对应x2,y2。 二.绘制图形的辅助操作 1.图形标注
title(’图形名称’) xlabel(’x轴说明’) ylabel(’y轴说明’) text(x,y,’图形说明’) legend(’图例1’,’图例2’,…) 其中,title、xlabel和ylabel函数分别用于说明图形和坐标轴的名称。text函数是在坐标点(x,y)处添加图形说明。(P88 或用gtext命令)。legend函数用于绘制曲线所用线型、颜色或数据点标记图例,图例放置在空白处,用户还可以通过鼠标移动图例,将其放到所希望的位置。除legend函数外,其他函数同样适用于三维图形,在三维中z坐标轴说明用zlabel函数。 2.坐标控制
axis([xmin xmax ymin ymax zmin zmax])如果只给出前四个参数,则按照给出的x、y轴的最小值和最大值选择坐标系范围,绘制出合适的二维曲线。如果给出了全部参数,则绘制出三
维图形。
axis其常用的用法有:
axis equal:纵横坐标轴采用等长刻度
axis square:产生正方形坐标系(默认为矩形) axis auto:使用默认设置 axis off:取消坐标轴 axis on:显示坐标轴
grid on/off命令控制画还是不画网格线,不带参数的grid命令在两种之间进行切换。 box命令控制给坐标加边框用。和grid一样用法 3.图形保持
hold on/off保持原有图形或刷新原有图形,不带参数的hold命令在两者之间进行切换。 4.图形窗口分割-------subplot函数
subplot(m,n,p)用来将当前窗口分割成若干个绘图区,每个区域代表一个独立的子图,也是一个独立的坐标系,可以通过subplot函数激活某一区,该区为活动区,所发出的绘图命令都是作用于该活动区域。该函数把当前窗口分成m×n个绘图区,m行,每行n个绘图区,区号按行优先编号。其中第p个区为当前活动区。每一个绘图区允许以不同的坐标系单独绘制图形。 三、三维绘图 1、三维曲线
plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…)用法与二维相同,不再累述 2、三维曲面
(1)平面网格坐标矩阵的生成
当绘制z=f(x,y)所代表的三维曲面图时,先要在xy平面选定一矩形区域,假定矩形区域为D=[a,b]×[c,d],然后将[a,b]在x方向分成m份,将[c,d]在y方向分成n份,由各划分点做平行轴的直线,把区域D分成m×n个小矩形。生成代表每一个小矩形顶点坐标的平面网格坐标矩阵,最后利用有关函数绘图。
产生平面区域内的网格坐标矩阵有两种方法: 1、利用矩阵运算生成。 x=a:dx:b; y=(c:dy:d)’;
X=ones(size(y))*x; Y=y*ones(size(x));
经过上述语句执行后,矩阵X的每一行都是向量x,行数等于向量y的元素个数,矩阵Y的每一列都是向量y,列数等于向量x的元素个数。 2、利用meshgrid函数生成; x=a:dx:b; y=c:dy:d;
[X,Y]=meshgrid(x,y);
语句执行后,所得到的网格坐标矩阵和上法,相同,当x=y时,可以写成meshgrid(x) (2)绘制三维曲面的函数 mesh(x,y,z,c)
surf(x,y,z,c)mesh函数和surf函数来绘制三维曲面图。mesh函数用来绘制三维网格图,而surf用来绘制三维曲面图,各线条之间的补面用颜色填充。一般情况下,x,y,z是维数相同的矩阵,x,y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度
下的颜色范围。c省略时,Matlab认为c=z,也即颜色的设定是正比于图形的高度的。这样就可以得到层次分明的三维图形。当x,y省略时,把z矩阵的列下标当作x轴的坐标,把z矩阵的行下标当作y轴的坐标,然后绘制三维图形。当x,y是向量时,要求x的长度必须等于z矩阵的列,y的长度必须等于必须等于z的行,x,y向量元素的组合构成网格点的x,y坐标,z坐标则取自z矩阵,然后绘制三维曲线。
此外,还有两个和mesh函数相似的函数,即带等高线的三维网格曲面函数meshc和带底座的三维网格曲面函数meshz,其用法和mesh类似。不同的是,meshc还在xy平面上绘制曲面在z轴方向的等高线,meshz还在xy平面上绘制曲面的底座。
surf函数也有两个类似的函数,即具有等高线的曲面函数surfc和具有光照效果的曲面函数surfl。
例:[x,y]=meshgrid(-8:0.5:8);
z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps); subplot(2,2,1); meshc(x,y,z); title('meshc'); subplot(2,2,2); meshz(x,y,z); title('meshz'); subplot(2,2,3); surfc(x,y,z); title('surfc'); subplot(2,2,4); surfl(x,y,z); title('surfl');
3.标准三维曲面
Matlab提供了一些函数用于绘制标准三维曲面,这些函数可以产生相应的绘图数据,常用于三维图形的演示。如,sphere函数和cylinder函数分别用于绘制三维球面和柱面。sphere函数的调用格式为: [x,y,z]=sphere(n);
该函数将产生(n+1)×(n+1矩阵x,y,z 。采用这三个矩阵可以绘制出圆心位于原点、半径为1的单位球体。若在调用该函数时不带输出参数,则直接绘制所需球面。n决定了球面的圆滑程度,其默认值为20。若n值取的比较小,则绘制出多面体的表面图。 cylinder函数的调用格式为:
[x,y,z]=cylinder(R,n) 其中R是一个向量,存放柱面各个等间隔高度上的半径,n表示在圆柱圆周上有n个间隔点,默认有20个间隔点。如:cylinder(3)生成一个圆柱,cylinder([10,1])生成一个圆锥。而t=0:pi/100:4*pi; R=sin(t); cylinder(R,30);生成一个正弦圆柱面。
另外Matlab还提供了一个peaks函数,称为多峰函数,常用于三维曲面的演示。该函数可以用来生成绘图数据矩阵,矩阵元素由函数:
在矩形区域[-3 3]×[-3 3]的等分网格点上的函数值确定。如:z=peaks(30) 将生成一个30×30矩阵, t=0:pi/20:2*pi;
[x,y,z]=cylinder(2+sin(t),30); subplot(1,3,1); surf(x,y,z); subplot(1,3,2); [x,y,z]=sphere; surf(x,y,z); subplot(1,3,3); [x,y,z]=peaks(30); meshz(x,y,z);
三.三维图形的精细处理 一.视点处理
在日常生活中,从不同的角度观察物体,所看到的物体形状是不一样的。同样,从不同视点绘制的三维图形的形状也是不一样的。视点位置可由方位角和仰角表示。 方位角
Matlab提供了设置视点的函数view,其调用格式为:
view(az,el)其中az为方位角,el为仰角,它们均以度为单位。系统默认的视点定义为方位角为-37.5度,仰角30度。
例522 从不同视点绘制多峰函数曲面。 subplot(2,2,1);mesh(peaks); view(-37.5,30); title('1');
subplot(2,2,2);mesh(peaks); view(0,90); title('2');
subplot(2,2,3);mesh(peaks); view(90,0); title('3');
subplot(2,2,4);mesh(peaks); view(-7,-10); title('4');
二.色彩处理
三.图形的裁剪处理
Matlab定义的NaN常数可以用于表示那些不可使用的数据,利用这些特性,可以将图形中
需要裁剪部分对应的函数值设置成NaN,这样在绘制图形时,函数值为NaN的部分将不显示出来,从而达到对图形进行裁剪的目的。例如,要削掉正弦波顶部或底部大于0.5的部分,可使用下面的程序。
x=0:pi/10:4*pi; y=sin(x);
i=find(abs(y)>0.5); x(i)=NaN; plot(x,y);
例524 绘制两个球面,其中一个在另一个里面,将外面的球裁掉一部分,以便能看到里面的球。
[x,y,z]=sphere(25);
%生成外面的大球
z1=z;
z1(:,1:4)=NaN;%将大球裁去一部分
c1=ones(size(z1));
surf(3*x,3*y,3*z1,c1); %生成里面的小球
hold on
z2=z;
c2=2*ones(size(z2));
c2(:,1:4)=3*ones(size(c2(:,1:4)));
surf(1.5*x,1.5*y,1.5*z2,c2);
colormap([0 1 0;0.5 0 0;1 0 0]);
grid on
hold off
色图中使用三种颜色,外面的球是绿色,里面的球采用深浅不同的两种红色。
四.隐函数作图
如果给定了函数的显式表达式,可以先设置自变量向量,然后根据表达式计算函数向量,从而用plot等函数绘制出图形。但是当函数采用隐函数形式时,如:,则很难利用上述方法绘制图形。Matlab提供了一个ezplot函数绘制隐函数图形。用法如下:
①对于函数f=f(x),ezplot的调用格式为:
ezplot(f),在默认区间(-2pi,2pi)绘制图形。
ezplot(f,[a,b]),在区间(a,b)绘制
②对于隐函数f=f(x,y),ezplot的调用格式为;
ezplot(f),在默认区间(-2pi,2pi),(-2pi,2pi)绘制f(x,y)=0的图形。
ezplot(f,[xmin,xmax,ymin,ymax]);在区间绘制图形。
ezplot(f,[a,b]),在区间(a,b),(a,b)绘制
③对于参数方程x=x(t),y=y(t),ezplot函数的调用格式为:
ezplot(x,y),在默认区间绘制x=x(t),y=y(t)图形。
ezplot(x,y,[tmin,tmax]),在区间(tmin,tmax)绘制x=x(t),y=y(t)图形。
例525 隐函数绘图举例。
subplot(2,2,1);
ezplot('x^2+y^2-9');axis equal;
subplot(2,2,2);
ezplot('x^3+y^3-5*x*y+1/5')
subplot(2,2,3);
ezplot('cos(tan(pi*x))',[0,1]);
subplot(2,2,4);
ezplot('8*cos(t)','4*sqrt(2)*sin(t)',[0,2*pi])
正在阅读:
Matlab数据的可视化03-28
1503工作面回采作业12-10
包饺子记作文500字06-25
简答题建筑类。05-31
消毒餐具协议书03-05
矿井防治水应知应会06-01
关于国际家庭日活动总结通用范文8篇08-04
土壤肥料学试题及答案03-07
互联网留学:莱顿大学留学优势06-06
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 可视化
- 数据
- Matlab
- 山东省临沂市某重点中学2015-2016学年高二下学期期中考试物理试
- 湘乡二中八年级数学十二月月考试题
- 二级C语言笔试操作题分类模拟题8
- 骨干教师跟岗学习总结
- 2014年全国高中数学青年教师展评课:向量加法运算及其几何意义教
- 刘集中学-七年级英语上学期期中试题 外研版 - 图文
- 中国海洋大学船舶与海洋工程材料实验指导书
- 2015年度大修计划
- 德语食物
- 直线射线线段教学反思
- 300头公猪的猪人工授精站设计可行性研究报告
- 人教版小学三年级数学上册万以内的加法和减法口算题13
- HJ毕业论文格式
- 《肩上的童年》阅读知识竞赛题以及答案
- 混凝土购销合同简易版
- 原材料、外购(协)件进厂检验规程
- 2018届高考数学二轮复习第一部分专题六解析几何1.6.2圆锥曲线的
- 二次函数与一元二次方程教案
- 高中物理竞赛辅导 机械振动和机械波
- 正则表达式直接转为DFA算法www