matlab 拟合曲面或曲面插值

比如现在有一组x、y、z的数据,
x y z
1 -5 2
2 -4 4
3 -3 5
4 -2 6
5 -1 7
6 0 8
7 1 9
8 2 7
9 3 6
10 4 5
但是这组数据不能直接运用,而需要知道的是
x y
2.26002105180167 -4.57081008634282
2.96712783298822 -3.34606521495123
3.67423461417477 -2.12132034355964
4.38134139536131 -0.896575472168054
5.08844817654786 0.328169399223535
5.79555495773441 1.55291427061512
6.50266173892096 2.77765914200671
这组数据对应的z值
该如何求取呢?是否可以拟合成z与x,y的关系式。但是这里只知道对应x,y点上的z值是确定的,具体z如何随x,y变化是未知的。这样能拟合成关系式吗?或者有什么插值方法可以知道区间内任意点的z值?求高手指点!

用散点插值 TriScatteredInterp。 原始数据 x y z我用x0 y0 z0 代表,需要求值得那组用 x1 y1 z1代表。
F = TriScatteredInterp(x0,y0,z0);
z1 = F(x1,y1);

即可。
注意参数写成列向量。出错的话,自己help看下数据格式要求。

拟合成关系式不可能,因为拟合关系式必须由人来定。

TriScatteredInterp函数具体算法是利用 {x0 y0}做平面delaunay三角剖分,然后看每一个(x1 y1)落在哪个三角形中,用这个三角形的三个顶点(x0,y0,z0)做双线性插值,得到z1.

如果看不懂,估计是对三角剖分不理解,需要自行研究了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-04-22
要知道区间内任意点的z值,应该要进行的是曲面拟合,matlab有曲面拟合的函数,但是你最好是知道拟合函数的基本形式或者是几次的,确定函数的形式后,就可以拟合了,我以前用过拟合函数nlinfit。你可以在matlab的help中看怎么使用。
第2个回答  2013-04-23
反方从“弊大”方面去思考,可能会提出这样一些理由:(1)汽车尾气的排放造成了环境污染,严重影响了人们的健康。(2)电视等这些娱乐设施的出现,使人与人之间的交流越来越少,人情淡薄。(3)网络的出现,使得一些人有可乘之机,扰乱了人们的生产生活……)“弊”:环境污染.这个是最直接的也是最显眼的坏处2:物种灭绝加快.这是由环境污染和人类的捕杀所造成的.也属于科技发展的坏处.3:人身安全越来越没保障.现在平均每天都有数以万计的犯罪行为发生.而其犯罪手段大多都与当下时新科技相关.尤其是枪械犯罪,更是让普通人民防不胜防.而从第二次世界大战我们已经可以看出,随着科技的发展,现在的战争所造成的破坏与损失以远远不是以前可比.甚至有可能造成人类灭亡的命运.4:人类身体素质大不如前.随着科技发展,气车,火车,飞机等各种交通工具的出现使人类的日常生活发生了重大改变,人类已经不再总是依赖自己的两条腿,因而现在的人类的身体素质和以前相比已经是不能相提并论.以前项羽"力拔山河气盖兮"在当今的社会已经是不可能再出现.而这种情况继续发展下去则有可能使人的四肢萎缩,使人类出现一个新的形态.5:各种新兴病菌不断出现,很多病菌的杀伤力已经远远超过以前的病菌的破坏力.这是由于医药科技的迅速发展加快了病毒的变种.以至于科技的发展速度已经跟不上病毒的变种速度.或许有一天人类会灭亡于某一场大的瘟疫.因为当人类跨入21世纪,世界发生了多少惊人的变化。在人们为科学技术突飞猛进的发展欣喜之余,又经历了更好的不安甚至灾难。除了对高科技特别是生物科技的发展所带来的恐慌之外,战争和疾病似乎直接将人类带到了地狱之门。2003年SARS的流行,包括对SARS的所有猜测,都直接和人们日益关注的全球问题相关联:生物安全。生物安全是对生物危害的检测、评价、监测、防范和治理的科学技术体系,是研究各种生物因素对人类健康的影响,应用已有的理论知识,技术、工程设计和设备等,防止从事相关工作的人员、实验室和环境受到具有潜在传染性的物质和生物毒害物质的危害的一门新兴边缘学科。生物安全问题至少表现为以下几个方面:传染病的巨大危害传染病包括人、动物、植物传染病,尤其是人类传染病是最重要的生物安全问题,传染病仍是全球死亡病因的首位,在我国,传染病仍然严重威胁人民健康和国家安全。SARS的流行是一个强有力的证明。另外肝炎、结核、流感等传染病每年仍在全国部分地区、世界部分国家和地区流行或暴发生物武器和生物恐怖的潜在威胁20世纪整个国际社会为禁止生物武器进行了不懈的努力,取得了一些进展。然而,进入21世纪,生物武器的潜在威胁却已大大增加,一些国家和地区可能仍在继续研制和发展生物武器,另外生物技术的迅速发展大大增加了生物武器的潜在威胁,以美国“炭疽事件”为标志的生物恐怖对国际安全已经构成了现实威胁。香港大学微生物学系主任袁国勇是首位分离出冠状病毒,并发现冠状病毒变种是SARS病原的学者。SARS病毒属于RNA病毒,这种病毒的特性就是很容易与其他病毒基因进行重组,进而变成为新病毒。而且许多实验结果也显示,以这改变方式产生的新病毒,毒性会比亲代病毒更强。许多动物身上都可以找到冠状病毒,而这种病毒又很容易出现变种,极具危险性。因此,袁国勇认为SARS病毒很有潜质,成为除了天花以外制作生化武器的病原。生物技术的负面作用生物技术的负面作用主要表现为:一是人们在开发利用生物技术时,有可能出现意想不到的安全问题。正如目前广受关注的各类转基因活生物体环境释放后对生物多样性所构成的危害。此外,基因工程药物、疫苗,转基因食品,基因治疗等都可能存在类似问题。生物技术的误用以及生物技术的非道德应用也可能带来很大的安全隐患。体细胞克隆人的研究使是突出一例。生物资源及生物多样性面临的威胁从生物安全的角度来讲,外来物种的入侵、生物资源的流失有可能给国家利益造成巨大损害。转基因生物体环境释放对生物多样性带来很大威胁。微生物学实验室的安全隐患较其他理化实验室或其他各类实验室而言,微生物和生物医学实验室是一个特殊的实验室,在其中工作的每一个人以及与其接触的周围环境,都存在很高的患有感染性疾病或影响身体健康的危险。微生物实验室管理上的疏漏和意外事故不仅可以导致实验室工作人员的感染,也可造成环境污染和大面积人群感染。国内外实验室意外感染的事故并不少见,严重者不得不宰杀成千上万只实验动物,甚至导致实验室工作人员死亡。目前随着生物技术的迅猛发展,生物安全问题已经成为影响整个国家、整个世界政治、经济、安全与和平的大命题。近年来,特别是美国“炭疽感染事件”后,生物安全问题备受国内外关注,生物安全术语也经常见诸于政府或非政府组织文件,见诸于各类媒体。SARS的全球流行无疑会使全世界各国更加关注生物安全问题,并将其作为国家安全的组成部分。随着经济的发展、人民生活节奏的加快和生活水平的提高,塑料的用量与日俱增。1996年,我国的塑料包装用量达243万吨,年平均增长率超过20%,特别是城市、主要交通沿线、旅游景点的垃圾中塑料废弃物迅速增加。据调查,北京的生活垃圾年产量已达300万吨,其中废塑料约占3%,年增长率达48%。沿海地区城市的垃圾中塑料成分更高,达8-10%。这些废塑料在垃圾中占的比例若以体积计算,已达三分之一以上,而且大大增加了垃圾处理的难度和费用。 由于废塑料几百年都难以降解,若丢弃在自然环境中,会给蚊子、苍蝇和细菌提供生存繁育的温床;若埋藏在地下,则容易污染地下水,妨碍植物根系生长,破坏土壤品质,影响作物收成;若用火焚烧处理,将产生多种有毒气体。“白色污染”已成为当前危害我国社会环境的一大公害,严重阻碍了我国经济和环境的可持续发展。

Matlab曲面拟合实验
3. 多项式拟合(Polynomial)是另一种拟合方法。通过拟合多项式曲面来描述数据。然而,Nearest neighbor、Liner、cubic和Biharmonic(v4)的插值方法生成的曲面都存在不同程度的锯齿,只有Thin-plate spline能得到相对平滑的结果,但可能仍有些许起伏。4. 线性回归(regress)方法用于平面拟合。实验中创建了ZFIT矩...

matlab如何进行曲面拟合
插值一曲面,确定合适的模型,并由此找出最高点和该点的高程。x y 100 200 300 400 500 100 636 697 624 478 450 200 698 712 630 478 420 300 680 674 598 412 400 -113- 400 662 626 552 334 310 解 编写程序如下:clear,clc x=100:100:500;y=100:100:400;z=[636 697 624 478...

matlab什么命令求出曲面表达式
插值函数和累积分布函数。在使用surf命令绘制曲面后,可以使用interp2等插值函数对曲面进行插值,就得到曲面的拟合函数表达式,使用surf命令绘制一些特殊形状的曲面,如球面或圆柱面等,其函数表达式可以通过使用累积分布函数进行计算得到。

matlab 散点拟合三维曲面写出曲面表达式
下面是程序:(对于x1、x2、y的赋值部分这里就不写了,你自己在前面加上即可)p=[ones(length(y),1) log([x1 x2])]\\log(y);%就这一句话就搞定了 a=exp(p(1)),b=p(2),c=p(3)%这就是拟合后的参数值 y%这是采样点y的值 a*x1.^b.*x2.^c%这是拟合后在采样点得到的值,...

matlabinterpolation有什么作用
在数据采集过程中,由于各种原因,数据可能会存在波动或不规则性。插值技术可以帮助对这些数据进行平滑处理,通过插值函数拟合已知数据点,得到一个连续且平滑的曲线或曲面,从而消除数据中的噪声和不规则性。3. 数据预测 插值还可以用于预测未知数据点的趋势或值。在某些情况下,我们可能需要根据已知的历史...

如何用MATLAB求一些三维的三点拟合出来的函数?
采用插值法 参考 知道了一些点(x,y,z)坐标,怎样用MATLAB绘制出三维曲面?至于做出拟合函数z=f(x,y)可以输入sftool启动曲面拟合工具箱,输入xyz数据 选用合适的函数拟合 9月

如何用MATLAB 求出插值后的具体函数
’v5cubic’:在MATLAB 5.0 中的三次插值。对于超出x 范围的xi 的分量,使用方法’nearest’、’linear’、’v5cubic’的插值算法,相应地将返回NaN。对其他的方法,interp1 将对超出的分量执行外插值算法。(4)yi = interp1(x,Y,xi,method,'extrap') 对于超出x 范围的xi 中的分量将执行特殊的外插值法extrap。

matlab插值
1. 线性插值:由已知数据点连成一条折线,认为相临两个数据点之间的函数值就在这两点之间的连线上。一般来说,数据点数越多,线性插值就越精确。调用格式:yi=interp1(x,y,xi,’linear’) %线性插值 zi=interp1(x,y,xi,’spline’) %三次样条插值 wi=interp1(x,y,xi,’cubic’) %...

matlab中怎样从曲线中获得精确的坐标值~~~
方法1:=== 直接从绘图数据插值(经检验z数据是单调增加的),代码如下:syms x y zeq1=-2.*pi.*0.05415.*0.0000002.*sin(x).*sin((5.*pi.\/6)+x)-4.\/3.*pi.* ... 0.0000002.^3.*2000.*z.*9.8+2.\/3.*pi.*z.*9.8.*0.0000002.^3.* ... (1820-1000)....

我有几百个散点(三维坐标),如何利用MATLAB绘制这些散点并且使它们组成一...
函数:zij=griddata(x0,y0,z0,xi,yj,’插值方法’)例如:r1=rand(30,1);r2=rand(30,1);x0=-2+(2-(-2))*r1;y0=-1+(3-(-1))*r2;z0=x0.*exp(-x0.^2-y0.^2);uij=-2:0.2:2; vij=-1:0.2:3;[xi,yj]=meshgrid(uij,vij);z2=griddata(x0,y0,z0,xi,yj,'...

相似回答