1.画三维图

之前画曲面的三维图,运用z=x2+y2 算出z和Z,如果是给出数据的地形则没办法用公式算,为此,引入插值自动造出地形的坐标。

拟合和插值的区别:插值是必须要过点,曲线可以不光滑;拟合则是可以不过点,曲线要光滑。

例如依旧画出z=x2+y,但只给出固定点,插值出Z矩阵。

clc;
clear all; x=[-3 -2 -1 0 1 2 3];
y=[-3 -2 -1 0 1 2 3];
z=[18 8 2 0 2 8 18];
xminn=min(x)
xmaxx=max(x)
yminn=min(y);
ymaxx=max(x);
zminn=min(z);
zmaxx=max(z); [X,Y,Z]=griddata(x,y,z,linspace(xmaxx,xminn)',linspace(yminn,ymaxx),'v4');
%v4是一个插值,理解成自动造出Z矩阵即可,第4第5个需要其中一个转置
surf(X,Y,Z)

再用公式法求Z看看画出的图对比是否相同

clear all;
clc;
x=-3:0.05:3;
y=-3:0.05:3;
z=x.^2 + y.^2;
[X,Y]=meshgrid(x,y);
Z=X.^2 + Y.^2;
surf(X,Y,Z);

显然,画出的图形状几乎一样,因为点与点的间距使得图形有些不同,插值有很多种,v4插值适用,就用v4吧,可以尝试其他插值是否得出想要的结果。

2.画四维图

除了长宽高,怎么可能画得出其他维度,往往需要体现地形上的温度、浓度等指标,这类“第四维度”一般用颜色体现出来。

clc
%手动导入表中数据后,对x、y、z、r赋值 x=one(:,1);
y=one(:,2);
z=one(:,3);%高度
r=one(:,11);%浓度 [X,Y,Z]=griddata(x,y,z,linspace(min(x),max(x))',linspace(min(y),max(y)),'v4');%插值,造出Z variables=one(:,1:3);
F=TriScatteredInterp(variables,r,'linear');
R=F(X,Y,Z);
%以上3句,理解为造出R,这个R和前三个东西都有关系,插值用的是linear,此处不能用v4
surf(X,Y,Z,R)
title('4D');
colormapeditor %颜色编辑器,颜色较深可调色,嫌麻烦就随便弄1,工具-标准颜色图-hsv

为了体现“第四维度”,一般需要调出颜色条。

matlab-画地形图的更多相关文章

  1. matlab画柱状图

    论文中需要画图进行比较,感觉还是matlab画起来比较方便,先把自己画的图及matlab代码放上. y=[300 311;390 425; 312 321; 250 185; 550 535; 420 ...

  2. matlab画图形函数 semilogx

    matlab画图形函数 semilogx loglog 主要是学习semilogx函数,其中常用的是semilogy函数,即后标为x的是在x轴取对数,为y的是y轴坐标取对数.loglog是x y轴都取 ...

  3. 用MATLAB画函数的曲线

    用MATLAB画函数曲线 2013年8月11日 命令funtool 这是单变量函数分析的交互界面,比较方便,特别适用于y=f(x)型,即y与x分开的函数形式.见下图

  4. matlab画甘特图

    近期为发小论文一直在研究作业调度问题,好不easy把数据搞出来了,结果又被画甘特图给难住了,查了各种资料.anygantt,highchart.Jfree chart等都试了,效果都不咋好.无意中留意 ...

  5. 用matlab画两个曲面的图

    求助!!用matlab画两个曲面的图 这是我写的程序,但是运行不出来,麻烦帮我修改一下,谢谢!!clearallcloseall[x,y]=meshgrid(0:.1:60);z1=(25*y-25* ...

  6. MATLAB 画柱状图(/直方图)修改横坐标名称并使其横着显示

    使用MATLAB 画柱状图 ,即bar (x,y),其横坐标是默认 1.2.3.4.……的 % --v1 y1=[asum1,asum2,asum3,asum4,asum5,asum6,asum7,a ...

  7. matlab画二叉树

    用matlab画如下图的二叉树. 先按树的先序遍历把结点编号,如下图所示. treeplot函数的序列用如下方法得到.从根结点开始先序遍历,依次写下父结点的编号,设根结点的父结点为0.按先序遍历,根结 ...

  8. 在matlab 画箭头

    [转载]在matlab 画箭头 原文地址:在matlab 画箭头作者:纯情小郎君 完整见链接http://www.mathworks.com/matlabcentral/fx_files/14056/ ...

  9. 用Matlab画直方图

    简介 本文介绍如何使用matlab定制自己的直方图. 关键 使用Matlab的 bar() 函数创建柱状图 bar() 画的bin的高度跟数据相关 bar() 数据每一列一个group,有几列数据就画 ...

  10. 用matlab画漂亮的sin曲线

    Technorati 标记: matlab,plot 相信大部分用过matlab的人都画过sin曲线,直接plot就可以了,不过呢,plot出来的曲线自然不那么好看,本着绳命在于折腾的原则,小弟学习了 ...

随机推荐

  1. golang语言特性

    1. 垃圾回收 a. 内存⾃动回收,再也不需要开发⼈员管理内存 b. 开发人员专注业务实现,降低了心智负担 c. 只需要new分配内存,不需要释放   2. 天然并发 a. 从语⾔层面⽀持并发,⾮常简 ...

  2. 召唤神龙Ladon强化Cobalt Strike

    Ladon5.5 20191109 wiki update 20191114 前言 Ladon 5.5支持Cobalt Strike,内置39个功能模块 加载脚本K8Ladon.cna,通过Ladon ...

  3. sublime-text-3-build-3207 破解+注册码

    按照以下步骤依次进行 打开 https://hexed.it/ 单机 "Open file" 并选择 "sublime_text.exe" 可执行文件. 转到 ...

  4. [转帖]微服务框架Spring Cloud介绍 Part1: 使用事件和消息队列实现分布式事务

    微服务框架Spring Cloud介绍 Part1: 使用事件和消息队列实现分布式事务 http://skaka.me/blog/2016/04/21/springcloud1/ APR 21ST,  ...

  5. 第十九节:Asp.Net Core WebApi基础总结和请求方式

    一. 基础总结 1.Restful服务改造 Core下的WebApi默认也是Restful格式服务,即通过请求方式(Get,post,put,delete)来区分请求哪个方法,请求的URL中不需要写方 ...

  6. ElasticSearch6.3.2源码分析之节点连接实现

    ElasticSearch6.3.2源码分析之节点连接实现 这篇文章主要分析ES节点之间如何维持连接的.在开始之前,先扯一下ES源码阅读的一些心得:在使用ES过程中碰到某个问题,想要深入了解一下,可源 ...

  7. centos安装sftp服务

    一.创建sftp服务数据目录及相关测试用户 [root@localhost ~]# mkdir -pv /data/sftp/ #sftp数据目录 [root@localhost ~]# chown ...

  8. 携程 Apollo分布式部署

    一.环境准备 操作系统:CentOS release 7.5 (启动脚本理论上支持所有Linux发行版,建议CentOS 7) JDK :jdk1..0_162 (建议安装Java 1.8+) MyS ...

  9. 详谈:Redis事务和消息订阅

    一.Redis事务 1.概念 可以一次执行多个命令,本质是一组命令的集合.一个事务中的 所有命令都会序列化,按顺序地串行化执行而不会被其它命令插入,不许加塞. 事务能做的事: 一个队列中,一次性.顺序 ...

  10. 转:Windows系统环境下安装dlib

    原文链接 因为今天安装Face Recognition,需要先按照 dlib .需要在windows环境下做一些图片处理,所以需要在pycharm中配置环境,而其中需要的主要是dlib的安装: 下面说 ...