当前位置:文档之家› 曲面拟合原理与实例

曲面拟合原理与实例

曲面拟合原理与实例
曲面拟合原理与实例

问题:

给定一组坐标(,,)g g g x y z ,1,2,g =…,n ,表示有n 个点。要求用以下二元多项式函数对所给的坐标进行拟合:

,1

1

111,1

11

(,)p q

p q

i j i j ij

ij ij i j f x y a x

y

a x y ----====

=∑∑∑

2111121312121222321

112

111231

112

11

123(,)q q q q i i i i q i i i iq p p p p q p p p pq a a y a y a y f x y a x a xy a xy a xy a x a x y

a x y a x y a x a x y a x y a x y ------------++++=

+++++++++++++++L L M L M L

1112121222221211,,q q p p pq p q a a a x y a a a x y a a a x y ????

??????

????????????===

??????

??????

??

??????????

x y A L L

M M O M M M L

则函数又可表示为(,)T f =x y x Ay ,拟合的目标就是求出系数矩阵A 。

最小二乘法:

构造关于系数ij a 的多元函数:

2

112111

1

11

(,,)[(,)]()p

q

n

n

i j pq g g g g g ij g g g i j s a a f x y z a x y z ωω--=====-=-∑∑∑∑L

点(11a ,…,pq a )是多元函数11(,,)pq s a a L 的极小点,其中g ω为权函数,默认为1,所以点(11a ,…,pq a )必须满足方程组

0ij

s

a ?=? 在1g ω=的情况下,有

{}2

1

111

1

1111

1[(,)]2[(,)][(,)]2[(,)]2(,)n

g

g

g g ij ij

n

g g g g g g ij n

i j g g g g g g n i j i j g g

g g g g g g s f x y

z a a f x y z f x y a f x y z x y x y f x y x y z ==--=----=??=-???????=-??

?????

=-??=-??∑∑∑∑

因此可得

1

111

1

1

(,)n

n

i j i j g

g

g g g g g g g x

y

f x y x y z ----===∑∑

1

11

1

11

11

1

1

p q

n

n

i j i j g

g

g

g

g g g g g x

y

a x y x y z αβαβαβ

------=====∑∑∑∑ ,1

111

11

1

1,1

1

p q

n

n

i j i j g

g

g g

g g g g g x

y

a x y x y z αβαβαβ

------====∑∑∑ ,111111

1,111()p q

n n i j i j g g g g g g g g g a x y x y x y z αβαβαβ------===??=????∑∑∑ 令

1

11

1

1(,)()n

i j g g g g

g u i j x y x y

αβαβ----==∑,11

1

(,)n

i j g

g g g v i j x y z --==∑ 则

,1,1

(,)(,)p q

a u i j v i j αβαβαβ

==∑(,)(11),(,)i j p q =,…, 上式实际共有p q ?个等式,可将这p q ?个等式写成矩阵的形式有:

111111(1,1)(1,1)(1,1)(,)(,)(,)pq pq pq u u a v u p q u p q a v p q ??????

?

?????=?

??????????

????

???L M O M M M L 也就是U*a=V 的形式,其中

1111(1,1)(1,1)(,)(,)pq pq u u u p q u p q ??

??=?????

?

U L M O

M L ,11pq a a ????=??????a M ,(1,1)

(,)v v p q ????=??

????V M

U 为pq pq ?阶矩阵,实现函数为function A=leftmatrix(x,p,y,q);V 为长pq 的列向量,实现函数为function B=rightmatrix(x,p,y,q,z)。这样就可以算出列矩阵a ,然后转化成A 。

例子:

某地区有一煤矿,为估计其储量以便于开采,先在该地区进行勘探。假设该地区是一长方形区域,长为4公里,宽为5公里。经勘探得到如下数据:

请你估计出此地区内(51,42≤≤≤≤y x )煤的储量,单位用立方米表示,

并用电脑画出该煤矿的三维图象。

如果直接画出三维曲面图形:

clear;x=1:4;y=1:5;[X,Y]=meshgrid(x,y) Z=[13.72 25.80 8.47 25.27 22.32; 15.47 21.33 14.49 24.83 26.19; 23.28 26.48 29.14 12.04 14.58; 19.95 23.73 15.35 18.01 16.29]' surf(X,Y,Z);

X =

1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 Y =

1 1 1 1

2 2 2 2

3 3 3 3

4 4 4 4

5 5 5 5 Z =

13.7200 15.4700 23.2800 19.9500

空间曲线与曲面

实验七空间曲线与曲面 实验目的 1.掌握空间直线、平面的画法。 2.了解常见的空间曲线与曲面的画法。 与本实验相关的理论 最基本的空间作图函数是Plot3 ,用于作所有二元函数的三维立方体图形,其格式是: Plot3D[f,{x,xmin,xmax},{y,ymin,ymax},可选项] 由于很多曲面和绝大多数曲线都不能用显函数的形式表示。Mathematica 还提供了Parametric Plot3D参数作图函数,其格式是:Parametric Plot3D[{x[u,v],y[u,v] ,z[u,v]} ,{u,umin,umax},{v,vmin,vmax},可选项] Mathematica作三维图形的机理是先在XOY坐标面给定区域内计算出一系列格点的值,再用矩形“小瓦片”拟合张在上面的曲面上。因而如果曲面的表面变化复杂,可通过设置更细的“瓦片”分割来改善。这时候可增加选项PlotPoint―>n 来说明分割数n。 实验步骤 一、画空间曲线 注意空间曲线的参数方程只有一个参变量,如果要画出螺旋线 x=10cost , y=10sint , z=2t 的图形,只要输入: Parametric Plot3D[{10cos[t],10sin[t],2t} ,{t,0,20}] 空间直线也类似地处理。 例1:求过A(3,5,-2),B(3,5,-2)的直线方程,并画图。 分析:空间直线方程可由点向式写出,再改成参数式

) 2(4)2(535313----=--=--z y x 化为参数式是:t x 23-=,t y 25-=,t z 62+-= 输入:Parametric Plot3D[{3-2t ,5-2t ,-2+6t} ,{t ,0,1}] 二、画空间曲面 例2:求过A (1,0,0),B (0,2,0),C (0,0,3),的平面方程,并画图。 分析:平面方程可由截距式写出,y x z 2 333--=。 输入:Parametric Plot3D[{3-3x-3y/2} ,{x ,-1,1},{y ,-1,1}] 例3:画出二元函数22),(y x y x f +=的图形。 输入:Parametric Plot3D[{x^2+y^2} ,{x ,-4,4},{y ,-4,4}] 例4:画出椭球心在原点,3=a ,4=b ,5=c 的椭球面。 输入:Parametric Plot3D[{3*Cos[u] Cos[v], 4*Sin[u] Cos[v],5*Sin[v]} ,{u ,0,2Pi},{v ,-Pi/2,Pi/2}] 例5:画出以x y cos =为准线,母线平行于Z 轴的柱面。 输入:Parametric Plot3D[{x,Cos[x],z} ,{x ,-4,4},{z ,-4,4}] 例6:画出由平面曲线z x cos 1+=绕Z 轴放转而成的旋转面。 输入:Parametric Plot3D[{(1+Cos[u])Cos[v] ,(1+Cos[u])Sin[v] ,u} ,{u ,-Pi ,Pi},{v ,0,2Pi}] 例7:画单叶双曲面。 输入:Parametric Plot3D[{Sec[u]Cos[v] ,Sec[u]Sin[v] ,Tan[u]} ,{u ,-Pi/2+0.5,Pi/2-0.5},{v ,0,2Pi}]

实验2-空间曲线曲面图形的绘制

实验二空间曲线曲面图形的绘制 一、实验目的 熟练掌握使用Mathematica软件绘制空间曲线曲面图形的方法. 二、实验容与Mathematica命令 1.基本三维图形 函数(,) 的图形为三维空间的一个曲面,Mathematica中,绘制三维曲面图形的 z f x y 基本命令格式为 Plot3D[f,{x,xmin,xmax},{y,ymin,ymax},Options] 其中,f为一个二元显函数. 该命令有众多可供使用的选项,可执行命令“Options[Plot3D]”查询. 1)绘制曲面的基本方法 运行t1=Plot3D[Sin[x+y]*Cos[x+y],{x,0,4},{y,0,4}] 图1 2)用PlotRange 设定曲面的表面的变化围 运行Show[t1,PlotRange{-0.2,0.5}]

图2 3)坐标轴上加标记,并且在每个外围平面上画上网格 运行Show[t1,AxesLabel{"Time","Depth","Value"},FaceGrids All] 图 3 4)观察点的改变 将观察点改变在(2,-2,0),运行 Show[t1,ViewPoint{2,-2,0}]

图 4 也可用鼠标拖动改变视点。 5)无网格和立体盒子的曲面 运行 Show[t1,Mesh False,Boxed False] 图 5 6)没有阴影的曲面 利用Shading取消曲面的阴影运行 Show[t1,Shading False]

图 6 7)给曲面着色 Show[t1,Lighting False 图 7 Show[t1,Lighting None]

曲面拟合实例教程总结

例7.2.1试用最小二乘法求拟合曲线,并估计其误差,做出拟合曲线。 (1)做散点图 x=[-2.5,-1.7,-1.1,-0.8,0,0.1,1.5,2.7,3.6]; y=[-192.9,-85.50,-36.15,-26.52,-9.10,-8.43,-13.12,6.50,68.04]; plot(x,y,'r*') legend('实验数据(xi,yi)') xlabel('x'),ylabel('y') title('例7.2.1的数据点(xi,yi)的散点图') 2.CFTOOL工具箱使用 Shift+enter:换行输入 Gaussian:高斯曲线 Interpolant:最小二乘法差值 Polynomial:多项式 3.y1=polyfit(x,y,3) 拟合多项式的阶数为3 4.matlab绘制三维曲面图已知曲线关系方程 以二元函数图z = xexp(-x^2-y^2) 为例讲解基本操作, (1)首先需要利用meshgrid函数生成X-Y平面的网格数据,如下所示: % 生成二维网格数据 xa = [-2,0.2,2]; ya =[-1,0.15,1.5]; [x,y] = meshgrid(xa,ya); (2)此外,需要计算纵轴数据(z轴),如下所示: % calculate z data z = x.*exp(-x.^2 - y.^2); (3)在计算出(x,y,z)数据后,就可以使用三维绘图函数mesh绘制三维曲面图,如下所示:mesh(x,y,z); 4(2)、另一种方法: [x,y] = meshgrid(-2:0.2:2,-1:0.15:1.5); z = x.*exp(-x.^2 - y.^2); mesh(x,y,z); 5.由三组散点图绘制曲面(网格划分) xyz=[40 2 1.4 40 5 2.5 40 7 1.4 40 9 0.9 70 8 5.6 ]; tri = delaunay(xyz(:,1), xyz(:,2));

matlab曲面拟合

Matlab 曲面插值和拟合数值求导 Q:v=[ ];t=0:0.05:4;如 何求出dv/dt;是要先拟合出曲线在求导函数吗? A:数值计算有误差的.简单可以那么做 diff(v)./diff(t) 拟合最好了.用cftool工具做做看呢 用polyfit拟合也可以 插值和拟合都是数据优化的一种方法,当实验数据不够多时经常需要用到这种方法来画图。在matlab中都有特定的函数来完成这些功能。这两种方法的确别在于: 当测量值是准确的,没有误差时,一般用插值; 当测量值与真实值有误差时,一般用数据拟合。 插值: 对于一维曲线的插值,一般用到的函数yi=interp1(X,Y,xi,method),其中method包括nearst,linear,spline,cubic。 对于二维曲面的插值,一般用到的函数zi=interp2(X,Y,Z,xi,yi,method),其中method也和上面一样,常用的是cubic。 拟合: 对于一维曲线的拟合,一般用到的函数p=polyfit(x,y,n)和 yi=polyval(p,xi),这个是最常用的最小二乘法的拟合方法。 对于二维曲面的拟合,有很多方法可以实现,但是我这里自己用的是Spline Toolbox里面的函数功能。具体使用方法可以看后面的例子。 对于一维曲线的插值和拟合相对比较简单,这里就不多说了,对于二维曲面的插值和拟合还是比较有意思的,而且正好胖子有些数据想让我帮忙处理一下,就这个机会好好把二维曲面的插值和拟合总结归纳一下,下面给出实例和讲解。 原始数据 x=[1:1:15]; y=[1:1:5];

z=[0.2 0.24 0.25 0.26 0.25 0.25 0.25 0.26 0.26 0.29 0.25 0.29; 0.27 0.31 0.3 0.3 0.26 0.28 0.29 0.26 0.26 0.26 0.26 0.29; 0.41 0.41 0.37 0.37 0.38 0.35 0.34 0.35 0.35 0.34 0.35 0.35; 0.41 0.42 0.42 0.41 0.4 0.39 0.39 0.38 0.36 0.36 0.36 0.36; 0.3 0.36 0.4 0.43 0.45 0.45 0.51 0.42 0.4 0.37 0.37 0.37]; z是一个5乘12的矩阵。 直接用原始数据画图如下: surf(x,y,z) title(’Original data Plot’); xlabel(’X'), ylabel(’Y'), zlabel(’Z'), colormap, colorbar; axis([0 15 0 6 0.15 0.55])

空间曲线与曲面的绘制

空间曲线与曲面的绘制 本实验的目的是:利用数学软件Mathematica 绘制三维图形来观察空间曲线和空间曲面图形的特 点,以加强几何的直观性。 1. 空间曲线的绘制 绘制空间曲线时一般使用曲线的参数方程,利用命令“ParametricPlot3D ”如画出参数方程「x =x(t) * y = y(t) , h Et “2所确定的空间曲线的命令格式为: Z =z(t) ParametricPlot3D[{x[t],y[t],z[t]},{t,tmi n, tmax}, 选项] 例1 画出旋转抛物面z = x2y2与上半球面z = 1亠:1 - x2- y2交线的图形。 X = cost 解:它们的交线为平面z=1上的圆x2+y2=1,化为参数方程为*y = sint,t"O,勿],下面的 z = 1 mathematica命令就是作出它们的交线并把它存在变量p中: p ParametricPlot3D Cos t , Sin t , 1 , t, 0, 2 Pi 运行即得曲线如图1所示。 在这里说明一点,要作空间曲线的图形,必须先求出该曲线的参数 乍(x, y, z) =0 方程。如果曲线为一般式,其在xOy面上的投影柱面的

曲线拟合方法浅析

曲线拟合方法概述 工业设计 张静 1014201056 引言:在现代图形造型技术中,曲线拟合是一个重要的部分,是曲面拟合的基础。现着重对最小二乘法、移动最小二乘法、NURBS 三次曲线拟合法和基于RBF 曲线拟合法进行比较,论述这几种方法的原理及其算法,基于实例分析了上述几种拟合方法的特性,以分析拟合方法的适用场合,从而为图形造型中曲线拟合的方法选用作出更好的选择。 1 曲线拟合的概念 在许多对实验数据处理的问题中,经常需要寻找自变量和对应因变量之间的函数关系,有的变量关系可以根据问题的物理背景,通过理论推导的方法加以求解,得到相应关系式。但绝大多数的函数关系却很复杂,不容易通过理论推导得到相关的表达式,在这种情况下,就需要采用曲线拟合的方法来求解变量之间的函数关系式。 曲线拟合(Curve Fitting),是用连续曲线近似地刻画或比拟平面上离散点组所表示的坐标之问的函数关系的一种数据处理方法。在科学实验或社会活动中,通过实验或观测得到量x 与y 的一组数据对(x i ,y i ),i =1,2,3…,m ,其中各x i 是彼此不同的。人们希望用一类与数据的规律相吻合的解析表 达式y =f(x)来反映量x 与y 之间的依赖关系。即在一定意义下“最佳”地逼近或拟合已知数据。f(x)称作拟合函数,似的图像称作拟合曲线。 2 曲线拟合的方法 2.1最小二乘法 最小二乘法通过最小化误差的平方和寻找数据的最佳函数匹配,是进行曲线拟合的一种早期使用的方法 一般最小二乘法的拟合函数是一元二次,可一元多次,也可多元多次。该方法是通过求出数据点到拟合函数的距离和最小的拟合函数进行拟合的方法令f(x)=ax 2+bx+c ,计算数据点到该函数所表示的曲线的距离和最小 即: δ=∑-=n i y x f i i 02) )(( 对上式求导,使其等于0,则可以求出f(x)的系数a,b,c ,从而求解出拟合函数。 2.2 移动最小二乘法 移动最小二乘法在最小二乘法的基础上进行了较大的改进,通过引入紧支概

空间曲线的切线与空间曲面的切平面

第六节 空间曲线的切线与空间曲面的切平面 一、空间曲线的切线与法平面 设空间的曲线C 由参数方程的形式给出:?? ? ??===)()()(t z z t y y t x x ,),(βα∈t . 设),(,10βα∈t t ,)(),(),((000t z t y t x A 、))(),(),((111t z t y t x B 为曲线上两点,B A ,的连线AB 称为曲线C 的割线,当A B →时,若AB 趋于一条直线,则此直线称为曲线C 在点A 的切线. 如果)()()(t z z t y y t x x ===,,对于t 的导数都连续且不全为零(即空间的曲线C 为光滑曲线),则曲线在点A 切线是存在的.因为割线的方程为 ) ()() ()()()()()()(010010010t z t z t z z t y t y t y y t x t x t x x --=--=-- 也可以写为 010********)()() ()()()()()()(t t t z t z t z z t t t y t y t y y t t t x t x t x x ---=---=--- 当A B →时,0t t →,割线的方向向量的极限为{})(),(),(000t z t y t x ''',此即为切线的方向向量,所以切线方程为 ) () ()()()()(000000t z t z z t y t y y t x t x x '-='-='-. 过点)(),(),((000t z t y t x A 且与切线垂直的平面称为空间的曲线C 在点 )(),(),((000t z t y t x A 的法平面,法平面方程为 ))(())(())((00'00'00'=-+-+-z z t z y y t y x x t x 如果空间的曲线C 由方程为 )(),(x z z x y y == 且)(),(0' 0'x z x y 存在,则曲线在点)(),(,(000x z x y x A 的切线是 ) () ()()(100000x z x z z x y x y y x x '-= '-=- 法平面方程为

曲面与空间曲线的方程

第2章 曲面与空间曲线的方程 本章教学目的:通过本章学习,使学生理解空间坐标系下曲面与空间曲线方程之定 义及表示,熟悉空间中一些特殊曲面、曲线的方程。 本章教学重点:空间坐标系下曲面与空间曲线方程的定义。 本章教学难点:(1)空间坐标系下母线平行于坐标轴的柱面方程与平面坐标系下有 关平面曲线方程的区别; (2)空间坐标系下,空间曲线一般方程的规范表示。 本章教学内容: §1 曲面的方程 一 普通方程: 1 定义:设Σ为一曲面,F (x ,y ,z )=0为一三元方程,空间中建立了坐标系以后, 若Σ上任一点P (x ,y ,z )的坐标都满足F (x ,y ,z )=0,而且凡坐标满足方程的点都在曲面Σ上,则称F (x ,y ,z )=0为Σ的普通方程,记作 Σ:F (x ,y ,z )=0. 不难看出,一点在曲面Σ上〈═〉该点的坐标满足Σ的方程,即曲面上的点与其方程的解之间是一一对应的 ∴Σ的方程的代数性质必能反映出Σ的几何性质。 2 三元方程的表示的几种特殊图形: 空间中任一曲面的方程都是一三元方程,反之,是否任一三元方程也表示空间中的 一个曲面呢?一般而言这是成立的,但也有如下特殊情况 1° 若F (x ,y ,z )=0的左端可分解成两个(或多个)因式F 1(x ,y ,z ) 与F 2(x ,y ,z )的乘积,即F (x ,y ,z )≡F 1(x ,y ,z )F 2(x ,y ,z ),则 F (x ,y ,z )=0〈═〉F 1(x ,y ,z )=0或F 2(x ,y ,z )=0,此时 F (x ,y ,z )=0表示两叶曲面1∑与2∑,它们分别以F 1(x ,y ,z )=0,F 2(x ,y ,z )=0为其方程,此时称F (x ,y ,z )=0表示的图形为变态曲面。如 0),,(=≡xyz z y x F 即为三坐标面。 20方程()()[] 0)3(21)(),,(222222=-+-+-++≡z y x z y x z y x F 仅表示坐标原点和点(1,2,3) 3°方程0),,(=z y x F 可能表示若干条曲线,如 0))((),,(2 222=++≡z y y x z y x F 即表示z 轴和x 轴 4°方程0),,(=z y x F 不表示任何实图形,如

§7.4.1-3空间曲面和空间曲线

§7.4空间曲面和空间曲线 本节以两种方式来讨论空间曲面: (1)已知曲面的形状,建立这曲面的方程; (2)已知一个三元方程,研究这方程的图形。 7.4.1球面与柱面 (一)球面 空间中与一定点等距离的点的轨迹叫球面。 求球心在点),,( z y x M ,半径为R 的球面方程。 设),,(z y x M 为球面上的任一点,则有R M M = ,即 R z z y y x x =-+-+-222)()()( ,化简得: 2222)()()(R z z y y x x =-+-+- 。 ① 满足方程①,因此,方程①是球面的方程。 当0=== z y x 时,即球心在原点的球面方程为 2 222R z y x =++。 ② 例1.指出方程05642222=+--+++z y x z y x 表示何种曲面。 解:9415964412222+++-=+-++-+++z z y y x x , 22223)3()2()1(=-+-++z y x ,方程表示以)3 ,2 ,1(-为球心,3为半径的球面。 (二)柱面 动直线L 沿给定曲线C 平行移动所形成的曲面,称为柱面。动直线L 称为柱面的母线,定曲线C 称为柱面的准线。 y

现在来建立以xoy 面上的曲线C :? ??== . 0, 0),(z y x F 为准线,平行于L z 轴的直线 设) ,,( z y x M 为柱面上任一点,过 M 作平行于轴的直线 z ,交xoy 面于点 ) 0 , ,( y x M ,由柱面定义可知点上必在准线C M 。故有0),(= y x F 。由于 M M 与点点有相同的横坐标和纵坐标,故的坐标点 M 也必满足方程 0),(=y x F 。反之,如果空间一点) ,,( z y x M 满足方程0),(=y x F ,即0 ),(= y x F ,故 ) ,,( z y x M 且与轴平行的直线 z 必通过 上的点准线C ) 0 , ,( y x M ,即) 0 , ,( y x M 在过) 0 , ,( y x M 的母线上,于是) ,,( z y x M 必在柱面上,因此方程0),(=y x F 表示平行于轴的柱面 z 。 一般地 方程0) ,(=y x F 表示母线轴的柱面平行于 z ; 方程0) ,(=z y H 表示母线轴的柱面平行于 x ; 方程0) ,(=z x G 表示母线轴的柱面平行于 y 。 以二次曲线为准线的柱面称为二次柱面。 例如:方程2 2 2 a y x =+表示圆柱面;方程 12 22 2=+ b y a x 表示椭圆柱面; 方程12 2 22 =- b x a y 表示双曲柱面;方程Py x 22=表示抛物柱面。 y 22 a y = x x y 1 2 2=b y

相关主题
文本预览
相关文档 最新文档