MATLAB绘制地图
- 格式:pdf
- 大小:347.62 KB
- 文档页数:23
根据采样点用Matlab实现地形地貌及物质元素分布的绘制及分析(自做)学号:20104241姓名:胡飞专业班级:2010级信息与计算科学1班学校/学院:中南林业科技大学理学院时间:2012年4月28日根据采样点用Matlab实现地形地貌及物质元素分布的绘制及分析胡飞(中南林业科技大学理学院信息与计算科学20104241,长沙)摘要:运用Matlab软件实现地形地貌的绘制可以比较形象的呈现出某一区域的高低起伏。
便于有关研究人员结合其他相关领域的知识进行操作。
运用Matlab软件实现物质元素的分布的三维图,结合以上的地形图,再加上其他影响元素,更能比较准确的达到研究目的。
关键字:Matlab软件,地形地貌,物质元素,分布,三维图draw topography and the physical elements inMatlab According to Sample PointHufei(Centr al South Univer sity of For estry and Technology college of scienc e infor mation and c omputing scienc e20104241,c hangsha)Abstract:Using Matlab software to realize landform map the can compare the image of the present of a given region, ups and downs. Facilitate the researchers combined with other related areas of knowledge for operation. Using Matlab software to realize the physical elements of the distribution of the 3 d map, combining with the above the topographic map, plus other influence element, more can compare accurate to research purposes.Key words:Matlab software, topography, the physical elements, distribution,3 d map0、引言根据采样点的具体描述对象来用Matlab绘图功能实现相应的对象图像化(三维立体图形)描述,相关人员也可根据所绘制的图形较易的分析并得出相应的结论。
matlab地图导航软件课程设计一、教学目标本课程的目标是让学生了解和掌握Matlab地图导航软件的基本原理和应用方法。
通过本课程的学习,学生将能够:1.知识目标:理解Matlab地图导航软件的基本概念、原理和操作方法;掌握Matlab编程基础和地图导航算法。
2.技能目标:能够运用Matlab地图导航软件进行实地的导航操作;能够独立完成简单的地图导航软件设计和开发。
3.情感态度价值观目标:培养学生对地图导航软件的兴趣和好奇心,提高学生的问题解决能力和创新意识。
二、教学内容本课程的教学内容主要包括以下几个部分:1.Matlab地图导航软件的基本概念和原理;2.Matlab编程基础和地图导航算法;3.Matlab地图导航软件的实际应用案例;4.地图导航软件的设计和开发方法。
三、教学方法为了达到本课程的教学目标,我们将采用以下几种教学方法:1.讲授法:通过讲解Matlab地图导航软件的基本概念、原理和操作方法,使学生掌握相关知识。
2.案例分析法:通过分析实际应用案例,使学生了解Matlab地图导航软件在实际中的应用。
3.实验法:通过实际操作Matlab地图导航软件,使学生掌握软件的使用方法和技巧。
4.讨论法:通过分组讨论,引导学生主动思考和探索地图导航软件的相关问题。
四、教学资源为了支持本课程的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《Matlab地图导航软件教程》2.参考书:《Matlab编程与应用》、《地图导航原理》3.多媒体资料:Matlab地图导航软件的操作视频教程4.实验设备:计算机、投影仪、白板等通过以上教学资源的支持,我们将努力提高学生的学习体验,达到本课程的教学目标。
五、教学评估为了全面、客观、公正地评估学生的学习成果,本课程将采用以下评估方式:1.平时表现:通过观察学生在课堂上的参与程度、提问回答、小组讨论等表现,评估学生的学习态度和理解程度。
2.作业:布置与课程内容相关的作业,要求学生在规定时间内完成,通过作业的完成情况评估学生的掌握程度。
【最新整理,下载后即可编辑】1使用向量绘制地图1.1绘制全球海岸线向量数据可以表示一个地图。
这种向量存在的形式是一系列的经纬度或投影坐标对,它们代表一个点集、一个线条或者多边形。
例如,描绘出行政区域边界的点、公路系统、城市的中心或者以上三个集合放在一起,都可以被用于绘制地图。
在这种表示中,地理数据以向量格式存在,以它为基础绘制的地图被称作向量地图。
在地图工具箱环境中,向量数据包含一系列的有序的地理(经纬度)或投影(x,y)坐标对(又被称作二元组)。
相继的数对被认为按顺序连接,间断点可以这样处理:构造另一个独立的向量,或者在点集的每个断点处插入一个分隔符号(通常是NaN,意思是Not-a-Number)。
下面看一个向量地图数据的例子。
绘制全球海岸线键入命令:load coast 载入数据,数据是海岸线whos 显示当前工作空间中的变量列表屏幕显示:Name Size Bytes Class Attributeslat 9865x1 78920 doublelong 9865x1 78920 double键入命令:axesm mercatorframemplotm(lat,long)[lat(1:20) long(1:20)]可看到数据的地图1.2查看向量坐标的数据键入命令:>> [lat(20:40) long(20:40)] 屏幕显示:ans =-80.9200 -146.5000-80.6700 -145.5000-80.3300 -148.0000-80.0000 -150.0000-79.6700 -152.5000-79.2500 -155.0000-78.8300 -157.0000-78.7478 -157.2554-78.6654 -157.5072-78.5828 -157.7554-78.5000 -158.0000-78.4806 -157.6658-78.4608 -157.3327-78.4406 -157.0008-78.4200 -156.6700-78.5000 -154.5000-78.1700 -154.5000-78.1700 -154.5000-78.0800 -156.6700-77.8300 -158.0000-77.5000 -158.33001.3修改颜色这有没有提示你这些地点代表哪个大陆的海岸线?为了看见这些向量点代表的海岸线,键入下面的命令将其显示为黄色:键入命令plotm(lat(20:40),long(20:40),'y')2点、线和多边形它们代表着地理要素。
M A T L A B在地理地图中的应用-xMATLAB在地理地图中的应用一、引言1、MATLAB是Math Work公司推出的一款功能十分强大的工程语言,也被称为矩阵实验室(matrix laboratory),它是计算数学专家倡导并开发的,其主要的功能是矩阵数值运算。
MATLAB作为一个科学计算平台,为数据分析处理和可视化以及程序开发提供了最核心的数值处理和高级图形工具代码。
MATLAB属于解释语言,软件自身可以处理海量数据。
与其它程序设计语言相比,它的功能强大,可扩展性强,不同领域的专家都能以其为基础,开发形影的工具箱,形成开放式的利用体系。
MATLAB中包括了被称作工具箱(Toolbox)的各类应用问题的求解工具。
工具箱世纪上是对MATLAB进行扩展应用的一系列MATLAB函数,可以用来求解各类学科的问题,包括信号处理、图像处理、小波分析,自动控制、系统仿真、神经网络等。
此外,它还具有方便灵活、界面友好的用户环境,已成为准确、可靠的科学计算软件的标准。
在地理信息处理方面,MATLAB的mapping工具箱同时支持对矢量和栅格地图的操作,具有地理量测、地图投影、显示等功能。
2、Arc GIS是美国环境系统研究所(Environment System Research Institute,缩写ERSI)研制的GIS软件,是世界上应用最广泛的GIS软件之一,是我国GIS领域人尽皆知的商业软件。
自1978年第一个ARC/INFO产品诞生以来,随着计算机技术的飞速发展以及GIS技术的不断成熟,1999年推出的Arc Info 8;2001年7月ERSI至GIS体系结构模式:,到现在已推出Arc GIS10.2,ERSI的GIS产品不断更新、扩展,形成适应各种用户、各种机型的系列产品。
Arc GIS作为空间信息系统(SIS)的一种基础工具软件,其在数据采集,空间数据库建立、空间查询、制图与输出等方面具有强大的功能。
⽤Matlab绘制中国⾏政区划地图步骤1:从⽹站下载数据⽂件。
选择 Country: China,再选择 Shapefile,会下载得到⼀个名为 “gadm36_CHN_shp.zip” 的压缩⽂件。
步骤2:解压数据⽂件。
解压得到⼀系列⽂件,其中 *.shp 是 Matlab 绘图⽤到的。
其中,gadm36_CHN_0.shp、gadm36_CHN_1.shp、gadm36_CHN_2.shp、gadm36_CHN_3.shp,分别表⽰国、省、市、县四级⾏政区划的详细经纬度界线。
步骤3:加载数据⽂件。
使⽤ shaperead 函数可以直接加载 Shapefile 数据⽂件。
ShapeFile = 'D:\data\gadm36_CHN_shp\gadm36_CHN_0.shp';MapData = shaperead(ShapeFile);MapData.GeometryMapData.BoundingBocMapData.LontMapData.GID_0_0步骤 App:台湾省地图缺失问题的解决步骤1-2加载的 <China> 地图,缺少了台湾省,并不是完整的中国!需要重新执⾏步骤1⾄步骤2,选择“Taiwan”,下载得到台湾省的省、市、县、镇四级⾏政区划地图。
⽽且,台湾省的地图级别设置不对,在步骤3合并CHN 和 TWN 的地图时,需要调整对应的级别,使它的“国”属性消失,才能正常显⽰。
这⾥给出⼀个中国的省级⾏政区划绘制的⽰例:ShapeFile = 'D:\data\gadm36_CHN_shp\gadm36_CHN_1.shp'; % CHN的省界划分ShapeFile_TWN = 'D:\data\gadm36_TWN_shp\gadm36_TWN_0.shp'; % TWN 的省界划分MapData = shaperead(ShapeFile);MapData_TWN = shaperead(ShapeFile_TWN);hold on;plot(MapData.Lon, t, '.')plot(MapData_TWN.Lon, MapData_t, '.')。
Matlab在地理信息系统与地图制作中的应用案例地理信息系统(GIS)是一种将数据与地理位置相关联的技术,可以用于收集、存储、分析和可视化地理信息。
地图制作是GIS的重要应用之一,可以用来展示地理数据的空间关系和分布情况。
在地理信息系统和地图制作领域,Matlab作为一种通用的科学计算和数据可视化软件,具有广泛的应用。
第一部分:地理信息系统与地图制作简介地理信息系统(GIS)是一种基于计算机的技术,通过对地理数据的采集、处理、分析和显示,帮助人们更好地理解地理现象和问题。
地图制作作为GIS的重要组成部分,可以将地理信息以直观、易于理解的方式展示出来。
第二部分:Matlab在地图制作中的基本功能Matlab作为一种强大的科学计算和数据可视化软件,具备丰富的功能和工具,在地图制作中发挥着重要作用。
具体来说,Matlab可以用于数据处理、地图绘制、空间分析等多个方面。
1. 数据处理:在地图制作过程中,数据的处理是一个重要环节。
Matlab提供了丰富的数据处理函数和工具箱,可以对地理数据进行清洗、整理、转换等操作。
例如,通过Matlab可以对不同格式的地理数据进行读取、导入和导出,使得数据之间可以相互转换和兼容。
2. 地图绘制:地图是地理信息展示的主要形式之一,而地图绘制是地图制作的核心环节。
Matlab具有强大的绘图功能,可以绘制各种类型的地图。
例如,Matlab可以通过矢量绘图功能创建点线面等地理要素的图形表示,还可以添加符号、标签和注释等使地图更加直观和易于理解。
3. 空间分析:GIS不仅仅是简单地展示地理信息,更重要的是通过对地理数据的分析和处理,提取出其中的空间关系和规律。
在这方面,Matlab提供了丰富的空间分析函数和工具,可以进行空间查询、空间统计、空间插值等多种分析操作。
例如,利用Matlab可以计算地理要素之间的距离、邻接关系和重叠面积,进而探索地理现象的空间分布规律。
第三部分:Matlab在地理信息系统与地图制作中的应用案例Matlab在地理信息系统与地图制作领域有着广泛的应用。
Matlab 绘制地图各种属性设置matlab自带的worldmap画地图,基本代码网上一大堆。
但翻来覆去全是matlab help里面的一些基本例子。
看完了,也只是会画个很基本的草图而已。
等着真要精化地图,各种设置麻烦死了。
网上又直接百度不到。
很简单的一个例子就是去掉地图标注上那些该死的“W”、“N”,设置中国区域为地图中心等。
网上实在难找,不得已扎进matlab help文档里面仔细去找属性。
废了好大功夫,总算没白进去,收获颇丰!为此得到一个最大感悟,以后再遇到问题,直接进文档里面去寻找,了解到的东西会比百度多得多得多!算了,不废话了,直接贴一段代码作为以后绘图以及设置属性的样本。
lat=[-90 90];lon=[-180 180];worldmap(lat,lon);h1=axesm('MapProjection','eqdcylin','maplatlimit',lat,'maplo nlimit',lon,'frame','on','parallellabel','on','meridianlabel','on','fline width',1,'plabellocation',5,'mlabellocation',10);setm(h1,'fedgecolor',[.6 .6 .6], 'fontname','Times New Rom','fontsize',12);setm(h1,'grid','on');setm(h1,'LabelFormat','none');%{compass} | signed | nonesetm(h1,'PLabelMeridian','west','MLabelParallel','south');%横纵坐标轴位置setm(h1,'Origin',[0 114]);grid off;h=geoshow('landareas.shp','FaceColor', [0.8 0.8 0.8]);这段代码是用来绘制基本地图以及设置坐标标注格式,控制地图颜色、投影中心、范围等等。
MAP图绘制教程与程序代码MAP图全名是等高图图或等势云图,是在普通的二维坐标图上绘制出三维的数据云图,常用于驱动系统效率数据处理,地理位置绘制等三维数据处理(纵轴以不同颜色的云图表示)。
记得看完文章有问题的可以跟我联系。
1、软件:matlab2014b;2、系统:windows下面直接进入正题,看看matlab怎么绘制MAP图,如下以驱动电机MAP图绘制为例讲解。
一、绘图结果展示二、绘图逻辑MAP图实质上就是在二维的坐标图上,以颜色为标准投影出第三维的数据,明白这个原理就好进行下一步了。
1、绘制二维的纵横坐标数据;2、限制云图投影范围;3、在二维坐标上投影等值线。
三、代码原matlab程序代码:%%驱动系统MAP图clcspeed=xlsread(map,'sheet2','C:C');torque=xlsread(map,'sheet2','D:D');[SPEED,TORQUE]=meshgrid(0:20:3000,0:20:2000);n0=0:20:3000;TN=interp1(speed,torque,n0);p=repmat(TN,101,1);ii=find(TORQUE>p);TORQUE(ii)=NaN;SPEED(ii)=NaN;plot(n0,TN,'b--','linewidth',1.5);hold onspeed_L=xlsread(map,'sheet1','B:B');torque_L=xlsread(map,'sheet1','C:C');efficiency_L=xlsread(map,'sheet1','D:D');value_eff=[0.65:0.02:0.98];EFFICIENCY=griddata(speed_L,torque_L,efficiency_L,SPEED,TORQUE,'v4'); [C,h]=contour(SPEED,TORQUE,EFFICIENCY,value_eff);clabel(C,h,value_eff);hold onxlabel('转速/(rpm)');ylabel('转矩/Nm');title('电机map图');四、代码解释及注意事项(1)全文解释%%驱动系统MAP图clcspeed=xlsread(map,'sheet2','C2:C13');%读取命名为map的表格数据torque=xlsread(map,'sheet2','D2:D13');%读取绘制电机外特性的数据%%绘制拟合转矩曲线并限制网格范围[SPEED,TORQUE]=meshgrid(0:20:3000,0:20:2000);%绘图背景的m*n矩阵网格(按图形可自定义)n0=0:20:3000;%限定插值范围与网格一致TN=interp1(speed,torque,n0);%将speed,torque按照n0对应插值,插值方式(speed,torque,'nearest'/‘spline')p=repmat(TN,101,1); %为筛选采样点区域,将TN数据重排为m*n矩阵ii=find(TORQUE>p);%搜索采样区域外数据位置TORQUE(ii)=NaN;%将纵坐标采样区域外网格定义为空值SPEED(ii)=NaN;%将横坐标采样区域外网格定义为空值plot(n0,TN,'b--','linewidth',1.5);%拟合的转矩曲线hold on%%绘制等值图speed_L=xlsread(filename,'sheet1','B2:B132');torque_L=xlsread(filename,'sheet1','C2:C132');efficiency_L=xlsread(filename,'sheet1','D2:D132');%读取效率试验数据value_eff=[0.65:0.02:0.98];%限定效率等值曲线显示条数EFFICIENCY=griddata(speed_L,torque_L,efficiency_L,SPEED,TORQUE,'v4');%将speed_L,torque_L,efficiency_L三维数据对应二维SPEED,TORQUE插值[C,h]=contour(SPEED,TORQUE,EFFICIENCY,value_eff);%生成等值曲线图clabel(C,h,value_eff);hold on%图题和坐标设置xlabel('转速/(rpm)');ylabel('转矩/Nm');title('电机map图');(2)对应的数据格式(3)注意事项A.数据表格必须和.m文件在一个根目录里;B.注意matlab程序中的关于数据参数的更改;C.有什么问题记得跟我联系。
利⽤Matlab绘制地图的超详细教程⽬录MappingToolbox⼯具箱安装局部区域陆地绘制映射贴图纹理贴图线路图绘制usamapaxesm⼀些地图绘制可⽤简易函数subplottightmap边框标签⽹格快速开关函数colormapcolorbarworldmap和usamap是axesm的⼦类,worldmap是⽤于⽣成世界地图坐标区域,usamap⽤于⽣成美国地图坐标区域,本⽂先在worldmap函数基础上讲解如何导⼊各种数据绘制各种类型图⽚,略提⼀下如何使⽤usamap,再讲解axesm的各种属性以满⾜更多元化的地图绘制需求,并在最后总结地图绘制其他可⽤函数。
Mapping Toolbox⼯具箱安装请通过如下步骤安装⼯具箱:1.点击附加功能:2.搜索Mapping Toolbox,并点击进⼊介绍界⾯:3.点安装⼀路点确定:worldmap及usamap⾸先是最简单的海岸线世界地图:1234567% 创建世界地图坐标区域worldmap('World') % 导⼊海岸线数据load coastlines% 绘制海岸线plotm(coastlat,coastlon)附带陆地区域、湖泊、河流、城市的世界地图:123456789101112131415% 创建世界地图坐标区域ax=worldmap('World');setm(ax,'Origin',[0 180 0])% 绘制陆地land=shaperead('landareas.shp','UseGeoCoords',true);geoshow(ax,land,'FaceColor',[0.5 0.7 0.5])% 绘制湖泊lakes=shaperead('worldlakes.shp','UseGeoCoords',true);geoshow(lakes,'FaceColor','blue')% 绘制河流rivers=shaperead('worldrivers.shp','UseGeoCoords',true);geoshow(rivers, 'Color', 'blue')% 绘制城市cities=shaperead('worldcities.shp','UseGeoCoords',true);geoshow(cities,'Marker','.','Color','red')可以看到绘制的主要流程就是:创建地图坐标区域(通过axesm、worldmap、usamap)导⼊数据(通过load或者shaperead)通过geoshow、plotm、scatterm绘制图像(⼤部分普通坐标区域axes中出现的函数加个m就变成了⽤于地图坐标区域的函数)worldmap创建地图坐标区域部分:⼤家肯定想知道worldmap()⾥⾯⽀持哪些参数,这个连官⽹都没有写,事实上只要⽆参数运⾏⼀下函数worldmap()就会蹦出来⼀个地区选择框,⼤家可以试⼀下啊:同时worldmap函数⽀持直接输⼊经纬度范围,例如:12latlim=[-50 50];lonlim=[160 -30];worldmap(latlim,lonlim)数据导⼊部分:其中可以通过load 导⼊的MATLAB ⾃带数据有:1. coastlines - 世界海岸线经纬度⽮量2. conus - ⽤于连接的美国(conus)、五⼤湖、州际边界的经纬度阵列3. geoid60c - 全球⼤地⽔准⾯⾼度⽹格(以⽶为单位)/度4. greatlakes - 显⽰结构阵列中的北美五⼤湖5. korea5c - 朝鲜半岛的地形和⽔深测量6. koreaEQdata - 地震位置和震级7. layermtx - ⽤于教学的地理定位地形⽹格8. mapmtx - ⽤于教学的地理定位地形⽹格9. moonalb20c - 克莱门汀全球⽉球反照率图10. moontopo60c - ⽉球的克莱门汀激光雷达地形11. oceanlo - 显⽰结构数组中的海洋遮罩多边形12. russia - ⽹格化⼟地、⽔域、边界、外部区域13. seatempm -全球多通道海⾯温度⽹格14. stars - 4500+颗恒星的天体坐标和星等15. usamtx - 美国各州的数据⽹格,每度五个单元格16. usgslulegend - USGS ⼟地利⽤类别列表其中可以通过shaperead 导⼊的MATLAB ⾃带数据有:1. landareas.shp - 全球陆地区域多边形2. tsunamis.shp - 全球1950-2006 年中到⼤型海啸的百分⽐3. usastatehi.shp - ⾼分辨率多边形美国各州形状4. usastatelo.shp - 低多边形美国各州形状5. worldcities.shp - 全球318个城市或⼈⼝稠密位置坐标6. worldlakes.shp - 世界上 37 个最⼤的多边形湖泊和内陆海域7. worldrivers.shp - 世界主要河流的线条形状8. boston_placenames.shp - 美国马萨诸塞州波⼠顿地名9. boston_roads.shp - 美国马萨诸塞州波⼠顿道路10. concord_hydro_area.shp - 美国马萨诸塞州康科德⽔域11. concord_hydro_line.shp - 美国马萨诸塞州康科德⽔路12. concord_roads.shp - 美国马萨诸塞州康科德道路这些信息来⾃:\mcr\toolbox\map\mapdata\Contents.m局部区域陆地绘制⾸先绘制个南极洲,南极洲的陆地信息可以从landareas.shp 中提取 :123456% 创建世界地图坐标区域并将区域设置为南极洲worldmap('antarctica') % 从陆地区域数据⽂件中获取南极洲⼤陆数据并绘图antarctica = shaperead('landareas.shp', 'UseGeoCoords', true,...'Selector',{@(name) strcmp(name,'Antarctica'), 'Name'});patchm(t, antarctica.Lon, [0.5 1 0.5])除此之外其他⾯积较⼤,可以通过如上⽅式获取的区域还有:‘Antarctica’‘Africa and Eurasia’‘North and South America’‘Greenland’‘Australia’‘Baffin Island’‘Ellesmere Island’‘New Guinea’‘Great Britain’‘Borneo’‘Honshu’‘Victoria Island’‘Celebes’‘New Zealand NorthIsland’‘Sumatra’‘Madagascar’‘Iceland’‘New Zealand South Island’‘Newfoundland’‘Luzon’‘DevonIsland’‘Ireland’‘Cuba’‘Java’‘Mindanao’例如我绘制中国附近的亚欧⾮⼤陆陆地:123456% 创建世界地图坐标区域并将区域设置为中国worldmap('China') % 从陆地区域数据⽂件中获取亚欧⾮⼤陆数据并绘图antarctica = shaperead('landareas.shp', 'UseGeoCoords', true,...'Selector',{@(name) strcmp(name,'Africa and Eurasia'), 'Name'});78910patchm(t, antarctica.Lon, [0.5 0.7 0.5])% 加个海岸线美化⼀下load coastlines plotm(coastlat,coastlon)映射贴图南美洲和中太平洋的⼤地⽔准⾯⾼度:要绘制⾼度映射图只需要将geoshow 的’DisplayType’属性设置为’surface’。
第四讲MATLAB 绘图为了使数据可视化,基本步骤是:1、准备好数据;2、选择适用的绘制图形函数;3、选择窗口和位置;4、编辑图形标注和说明;5、输出或保存。
表数据可视化的常用命令函数名说明plot 二维线性图plotyy 二维双纵坐标图loglog 双对数坐标平面图semilogx 半对数坐标平面图axis 控制坐标轴刻度及坐标范围axes 在任意位置建立坐标figure 建立图形窗口subplot 建立图形的平铺位置hold on 图形保持grid on 图形中添加栅格线axis equal 设置坐标轴纵、横比率相等axis square 设置当前纵坐标、横坐标为正方形bar 条形图area 面积图pie 饼图hist 直方图rose 极坐标柱状图stem 茎干图stair 阶梯图feather 羽毛图quiver 箭形图plot3 三维线性图bar3 三维条形图area3 三维面积图pie3 三维饼图contour 等高线图mesh 三维网格图surf 三维曲面图一、线性图函数plot1、线性图是绘制数据图形的基础,所以线性图函数plot 在MATLAB 中用得最广。
它可以用来绘制散点图、序列图、向量图、矩阵图和函数图等。
它可以设置线的类型(LineStyle),如实线、虚线、双点线、点划线,可以改变线的颜色(color)和线的宽度(LineWidth),也可以设置线图上的标记(marker)。
还可以对图面进行标注,如增加标题、图例、坐标、文字标注等,使图形的内容更加丰富。
2、plot 函数的书写格式有:plot(Y)plot(X,Y)plot(X1,Y1,LineStyle,X2,Y2,…)plot(…,’PropertyName’,PropertyValue,…)h=plot(…)(1)若Y 的元素值为实数,则plot(Y)绘制以向量Y 元素值为纵坐标,它的下标值为横坐标的线性图。
若Y 的元素值为复数,则以实数为横坐标,虚数为纵坐标绘制线性图。
matlab画中国地图1、下载 arc_map.zip, 内有/shape_files/china.shp 文件,地址如下:http://venus.unive.it/matdid.php?utente=smagrini&base=ec++urbana+e+regionale+-+aa+2008-2009%2Fprimo+modulo%2Flaboratorio+matlab&cmd=dir2、代码:figure;info = shapeinfo('china.shp')S = shaperead('china.shp');mapshow(S);文件中可能还有更多地理,统计信息。
只是地图政治不正确,没有宝岛。
南沙在。
如何在MATLAB中绘制中国地图了呢?下面介绍两种方法。
第一种方法是利用MATLAB自带的map工具箱。
直接在命令窗口输入>>geoshow('***.shp')就可以显示出中国地图了。
***.shp是地图数据文件。
geoshow命令的用法可以在 MATLAB的帮助菜单里搜索到,因为我对map工具箱的用法还不是很了解,也就不多讲了。
大家可以在网上搜索下相关的用法。
我国的地图数据可以从国家基础地理信息系统的网站上下载,网址是/。
用这种方法绘制的地图如下图。
在绘制中我添加了一级河流的数据。
还可以添加省界,地区界等数据。
这些数据均可以从国家基础地理信息系统的网站上下载到。
第二种方法是利用m_map工具箱。
该工具箱需要自己下载安装,下载的地址是http://www.eos.ubc.ca/~rich/map.html。
m_map是一个功能很强大的工具箱,它提供多种投影方式,而且用法也很简单,容易上手,更重要的是,利用它可以很方便地绘制自己的数据。
有兴趣的读者可以参阅它的使用说明。
就在上述的网址上就有。
但是m_map提供的边界数据使用起来很不方便,数据是按照国家单个给出的,如果想画出世界各国的边界,就需要把每个国家的数据都下载下来,很麻烦。
⽤matlab绘制中国地图MATLAB是著名的科学软件,具有绘图、编程、仿真等强⼤的功能。
现在介绍MATLAB绘制中国地图的三种⽅式,分别是(1)使⽤m_map ⼯具箱命令绘制中国地图;(2)使⽤mapshow和geoshow命令直接绘制中国地图;(3)使⽤worldmap+geoshow命令绘制中国地图。
由于没有找到合适的shp数据包,P/L⽤同⼀个shp;⽼旧的shp中缺少南海部分;%E:\wml\matlab_workspace\map\chain_sharp.shpclose all, clear all, clc, dbstop if errorinfoL=shapeinfo('E:\matlab_workspace\map\chain_sharp.shp')infoP=shapeinfo('E:\matlab_workspace\map\chain_sharp.shp')ChinaL=shaperead('E:\matlab_workspace\map\chain_sharp.shp');ChinaP=shaperead('E:\matlab_workspace\map\chain_sharp.shp');bou2_4lx=[ChinaL(:).X];bou2_4ly=[ChinaL(:).Y];bou2_4px=[ChinaP(:).X];bou2_4py=[ChinaP(:).Y];figure(1)subplot(1,2,1);m_proj('lambert','lon',[70,140],'lat',[0,60]);m_plot(bou2_4lx,bou2_4ly,'k');m_grid;subplot(1,2,2);m_proj('robinson','lon',[70,140],'lat',[0,60]);m_plot(bou2_4px,bou2_4py,'k');m_grid;m_coast('color','r','linewidth',1);左图使⽤的兰伯特(lambert)投影,右图使⽤的罗宾逊(robinson)投影和增加了海岸线(coast)。
matlab地图导航软件课程设计一、课程目标知识目标:1. 理解Matlab软件的基本操作,掌握其在地图导航领域的应用。
2. 学习并掌握Matlab中地图数据处理、路径规划和坐标转换等相关函数。
3. 了解地图导航软件的基本原理,如GPS定位、路径规划算法等。
技能目标:1. 能够运用Matlab软件进行地图数据的导入、处理和分析。
2. 能够独立完成简单的地图导航软件设计,实现路径规划和坐标转换功能。
3. 能够通过实际案例,运用所学知识解决地图导航中遇到的问题。
情感态度价值观目标:1. 培养学生对地图导航软件的兴趣,激发其探索未知领域的热情。
2. 培养学生的团队协作意识,提高沟通与协作能力。
3. 增强学生的创新意识,使其具备面对实际问题时的解决能力。
课程性质:本课程为实践性较强的课程,旨在通过实际操作和案例分析,帮助学生掌握Matlab在地图导航领域的应用。
学生特点:学生具备一定的Matlab基础,对地图导航软件有一定了解,但缺乏实际操作经验。
教学要求:教师需结合实际案例,引导学生动手实践,注重培养学生的实际操作能力和解决问题的能力。
在教学过程中,关注学生的情感态度价值观的培养,使其在学习过程中形成积极向上的心态。
通过分解课程目标为具体学习成果,便于教学设计和评估。
二、教学内容1. Matlab软件基本操作复习:包括数据类型、矩阵运算、函数编写等基础知识,为学生后续学习地图导航软件设计打下基础。
(对应教材第一章)2. 地图数据处理:学习Matlab中读取、显示和操作地图数据的相关函数,如geoshow、geoplot等,掌握地图数据的处理方法。
(对应教材第二章)3. 路径规划算法:介绍Dijkstra、A*等路径规划算法原理,并结合Matlab实现简单的路径规划功能。
(对应教材第三章)4. 坐标转换:学习地图坐标系之间的转换方法,如WGS84坐标系与地方坐标系之间的转换,使用Matlab实现坐标转换功能。
第7讲 绘制三维图(第5章MATLAB 绘图)目的:1.掌握绘制三维图形的方法。
2.掌握绘制图形的辅助操作。
一、绘图时点坐标矩阵的生成。
绘图函数使用描点法绘图,所以在绘图前,需要建立空间点的概念,空间中的点需要三个坐标(,,)x y z ,matlab 使用三个矩阵来存储点的三个坐标,一个矩阵(比如A )存储点的x 坐标,一个矩阵(比如B )存储点的y 坐标,一个矩阵(比如C )存储点的z 坐标。
其中A 、B 、C 三矩阵是同型矩阵。
例如设矩阵123112X ⎛⎫⎪= ⎪ ⎪⎝⎭,014221Y −⎛⎫ ⎪= ⎪ ⎪⎝⎭,510113Z ⎛⎫ ⎪= ⎪ ⎪−⎝⎭则,matlab 绘图函数将绘制点()()1,0,5,(2,1,1),(3,4,0),,2,1,3−共6个点。
如果点的坐标没有规律那么我们需要手工输入坐标矩阵。
如果点的坐标有规律,那么我们可以使用矩阵运算或者matlab 产生点的函数来生成坐标矩阵。
例如,假设空间中点的纵横坐标如下图所示:图中点的坐标有规律:横坐标是(1,2,3,4),纵坐标是(1,2,3),所以可以使用如下方法得到点的坐标矩阵。
方法一:>> a=[1,2,3,4];b=[1,2,3];i=ones(1,3);j=ones(1,4);>>x=i’ *a; y=b‘ *j;方法二:使用matlab系统函数meshgrid(推荐使用)>> a=[1,2,3,4]; b=[1,2,3];>>[x,y]=meshgrid(a,b) % 该函数生成的x,y矩阵和方法一相同。
------------------我是华丽分割线-----------------除meshgrid外,还可以用peaks、cylinder函数等生成点坐标矩阵。
peaks(n): 本身是一个创建具有多个峰值的曲面图,例如:>> peaks(30) %产生的图如下:在matlab中可以使用,例如:命令[x,y,z]=peaks(30)取出曲面点的三个坐标矩阵x,y,z;[a,b]=peaks(30)取出曲面点的前两坐标矩阵x,y;%可以用逻辑运算a==x,b==y验证注意:命令a=peaks(30)取出的a不是曲面点的x坐标,而是点的z坐标;可以用二维绘图函数scatter(x,y)绘制散点图观察取出的坐标点:>>[x,y]=peaks(8);>>scatter(x,y)另一个可以用来取坐标点的函数是sphere(n),命令sphere(n):绘制一个具有n个纵列的单位球面。