matlab中二维插值函数interp2的使用

下面是一段产生log-normal分布的代码,以此进行说明。 

clear all;
clc;
for t=1:100Traffic(t) =curve(t);
end
MaxTraffic = max(Traffic);
w = 0.2;
Wmax = 2*pi*w/3000;
x=[0:10:300];
y=[0:10:300];
Nx=length(x);
Ny=length(y);
Sigma = 0.53;
t = 0;
M = 10*curve(t)/MaxTraffic;
sum = 0;
for i=1:Nxforj=1:NyMu = log(M)-0.5*Sigma^2;Rho(i,j) = RhoFromCoordination(x(i),y(j),Wmax,Sigma,Mu);Lognrnd(i,j) = round(exp(Sigma*Rho(i,j)+Mu));sum = Lognrnd(i,j)+sum;end
end
sum
[xi,yi]=meshgrid(0:2:300,0:2:300);
z1=interp2(x,y,Lognrnd,xi,yi,'spline');%三次样条插值
surf(xi,yi,z1)


1)首先理解meshgrid的原理和用法。简单地说,就是产生Oxy平面的网格坐标

       在进行3-D绘图操作时,涉及到x、y、z三组数据,而x、y这两组数据可以看做是在Oxy平面内对坐标进行采样得到的坐标对(xy)。例如,要在“3<=x<=5,6<=y<=9,z不限制区间”这个区域内绘制一个3-D图形,如果只需要整数坐标为采样点的话。我们可能需要下面这样一个坐标构成的矩阵:

      (3,9),(4,9),(5,9);

      (3,8),(4,8),(5,8);

      (3,7),(4,7),(5,7);

      (3,6),(4,6),(5,6);

  在matlab中我们可以这样描述这个坐标矩阵

  把各个点的x坐标独立出来,得:

           3,4,5;

           3,4,5;

           3,4,5;

           3,4,5;

      再把各个点的y坐标也独立出来:

           9,9,9;

           8,8,8;

           7,7,7;

           6,6,6;

      这样对应的x、y结合,便表示了上面的坐标矩阵meshgrid就是产生这样两个矩阵,来简化我们的操作。然后根据(x,y)计算获得z,并绘制出三维图形。

 

2)理解interp2的参数含义和用法,如ZI= interp2(X,Y,Z,XI,YI,'spline')

A、返回矩阵ZIZI的元素包含对应于参量XIYI(可以是向量、或同型矩阵)的元素, 即ZI(i,j)←XI(i)YI(j)

B、用户可以输入行向量和列向量XIYI

C、若XIYI中有在XY范围之外的点,则相应地返回nan(Not a Number)

D、用指定的算法method计算二维插值:
           ’linear’  :双线性插值算法(缺省算法);
           ’nearest'  :最临近插值;
           ’spline’  :三次样条插值;
           ’cubic’   :双三次插值。

E、如以下的运用:

      [xi,yi] = meshgrid(0:2:300,0:2:300);
      ZI = interp2(x,y,Lognrnd,xi,yi,'spline');%三次样条插值
      surf(xi,yi,ZI)%这里已经不再是(xy),而是(xiyi)。

 

(3)上述的代码效果

插值前:


插值后:

 


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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

8天玩转并行开发——第五天 同步机制(下)

承接上一篇&#xff0c;我们继续说下.net4.0中的同步机制&#xff0c;是的&#xff0c;当出现了并行计算的时候&#xff0c;轻量级别的同步机制应运而生&#xff0c;在信号量这一块 出现了一系列的轻量级&#xff0c;今天继续介绍下面的3个信号量 CountdownEvent&#xff0c;Se…

hive中not in优化

比如&#xff1a;A,B两表&#xff0c;找到ID字段中&#xff0c;存在A表&#xff0c;但不存在B表的数据。A表共13w&#xff0c;去重后3w,B表共2W&#xff0c;且有索引方法一not in&#xff0c;易理解&#xff0c;效率低&#xff0c;时间&#xff1a;1.395sselect distinct A.id …

Quartz 2D编程笔记

当我们需要在一个图形上下文中构建一个路径时&#xff0c;我们需要调用CGContextBeginPath来标记Quartz。然后&#xff0c;我们调用函数CGContextMovePoint来设置每一个图形或子路径的起始点。在构建起始点后&#xff0c;我们可以添加直线、弧、曲线。记住如下规则&#xff1a;…

bitmap算法

博文转载于http://www.cnblogs.com/dyllove98/archive/2013/07/26/3217741.html概述所谓bitmap就是用一个bit位来标记某个元素对应的value&#xff0c;而key即是这个元素。由于采用bit为单位来存储数据&#xff0c;因此在可以大大的节省存储空间算法思想 32位机器上&#xff0c…

Ubuntu下如何解压缩zip,tar,tar.gz,tar.bz2文件

tar解包&#xff1a;tar xvf FileName.tar打包&#xff1a;tar cvf FileName.tar DirName&#xff08;注&#xff1a;tar是打包&#xff0c;不是压缩&#xff01;&#xff09;———————————————.gz解压1&#xff1a;gunzip FileName.gz解压2&#xff1a;gzip -d F…

SELECT INTO 和 INSERT INTO SELECT 两种表复制语句

Insert是T-sql中常用语句&#xff0c;Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中&#xff0c;经常会遇到需要表复制的情况&#xff0c;如将一个table1的数据的部分字段复制到table2中&…

向前插入迭代器

**向前插入迭代器&#xff0c;是架构在具有push_front向前插入函数的序列容器&#xff08;比如deque list&#xff09;上的输出迭代器&#xff0c;可以利用*改迭代器提供的“”&#xff0c;“*”&#xff0c;“”以“*fii9;”的类似的形式完成容器元素的赋值。**其中“*”和&qu…

Discuz!X集群部署的系统方案和改造方式讨论

多WEB部署时&#xff0c;面临的核心问题是WEB服务器间的数据共享和同步。就数据存储的方式而言&#xff0c;Discuz数据包含两部分&#xff0c;一部分存储在MySQL数据库中&#xff08;用户、帖子等文本类、结构化的数据&#xff09;&#xff0c;一部分存储为文件&#xff08;附件…

static和extern的用法总结

static用法见&#xff1a; 1、http://www.cnblogs.com/yezhenhan/archive/2011/10/31/2229724.html2、http://www.52rd.com/Blog/Detail_RD.Blog_imjacob_5297.htmlextern用法&#xff1a;1、http://blog.csdn.net/cameracanon/article/details/40614192、http://blog.csdn.net…

给vmware虚拟机中的ubuntu 14.04扩大磁盘分区

一.先取得root 权限 $ su - root Password: su: Authentication failure Sorry. 这时候输入 $ sudo passwd root Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully 这时候就可以进入根目录了。 二.具体安装步骤 用VMware安装了一…

个人管理 - 书籍推荐(待读)

在《个人管理 &#xff0d; 书籍推荐&#xff08;已读&#xff09;》中推荐了一些书籍&#xff0c;有些人从中选取了一些&#xff0c;但其实还有很多好书我还没有读&#xff0c;为了给大家更多选择&#xff0c;我把我欠下的书债也贴上来。由于豆瓣还没有提供书列表的功能&#…

windows7旗舰版序列号[经测试,第一枚即可完成升级!]

windows7旗舰版序列号[经测试&#xff0c;第一枚即可完成升级!] 第一枚&#xff1a;TFP9Y-VCY3P-VVH3T-8XXCC-MF4YK 第二枚&#xff1a;KH2J9-PC326-T44D4-39H6V-TVPBY 第三枚&#xff1a;C4M9W-WPRDG-QBB3F-VM9K8-KDQ9Y 第四枚&#xff1a;J783Y-JKQWR-677Q8-KCXTF-BHWGC 第五…

Node.js用6行代码1个JS文件搭建一个HTTP静态服务器

2019独角兽企业重金招聘Python工程师标准>>> Node.js宣言&#xff1a;Node.js is a platform built on Chromes JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes i…

制作jffs2根文件系统

一、制作mkfs.jffs2工具 首先得准备好两个软件包 &#xff0c;一个是MTD设备的工具包&#xff0c;另一个是zlib压缩包&#xff0c;在这我的MTD设备工具包为mtd-snapshot-20050519.tart.tar&#xff0c;zlib压缩包是zlib-1.2.3.tar.tar。 步骤&#xff1a; &#xff08;1&#…

添加WCF服务引用失败解决办法

最近在玩SL4 beta&#xff0c;写了一个WCF的服务&#xff0c;在Silverlight Application中选择Add Service Reference&#xff0c;填入服务地址&#xff0c;但在生成服务引用代码&#xff08;应该就是代理类&#xff09;时发生错误&#xff1a;Error 7 Custom tool error: Fail…

javascript设计模式简单介绍之【工厂模式】

工厂模式分为两种&#xff0c;一种是简单工厂模式。另一种称之为工厂模式。 简单工厂模式是使用一个外部的单体或者静态方法来生成实例。 而工厂模式使用子类来决定内部成员要实现那个具体的类的实例。 工厂模式要求被具体实现的类&#xff0c;必须提供相同的接口。 下面我们将…

srand函数简介

srand函数是随机数发生器的初始化函数。 原型:void srand(unsigned seed); 用法:它需要提供一个种子&#xff0c;这个种子会对应一个随机数&#xff0c;如果使用相同的种子后面的rand()函数会出现一样的随机数。如:srand(1); 直接使用1来初始化种子。不过为了防止随机数每次重复…

python库--pandas--Series.str--字符串处理

目录 原数据字符大小写转换字符串拼接字符填充/插入/扩展字符串内容判断查找统计转码删减/截取分割/替换原数据 import pandas as pd a pd.Series([aSd, asd, dfd fsAsf sfs]) b pd.Series([None, asd, fgh]) indexab0aSdNone1asdasd2dfd fsAsf sfsfgh字符大小写转换 a.str.l…

linux下多线程之pthread_detach(pthread_self())

写个碰到的问题&#xff0c;记录下自己的技术之路点滴 pthread_detach(pthread_self()) linux线程执行和windows不同&#xff0c;pthread有两种状态joinable状态和unjoinable状态&#xff0c; 如果线程是joinable状态&#xff0c;当线程函数自己返回退出时或pthread_exit时都不…

Unique Binary Search Trees

使用带标记的DP int result[1000];int numTrees(int n) {result[0] 1;result[1] 1;result[2] 2;// Start typing your C/C solution below// DO NOT write int main() functionif(result[n] ! 0)return result[n];int num 0, t;for(t 1; t < n; t){num num numTrees(…