下载此文档

等值线源码.doc


文档分类:办公文档 | 页数:约32页 举报非法文档有奖
1/32
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/32 下载此文档
文档列表 文档介绍
等值线源码
#define MAXX 50
#define MAXY 50
#include <>
#include <>
#include <>
#include <>
#include <>
#include <>
/*==================用趋势面加权最小二乘法计算网点高程制===================================*/
#include <>
#include <>
#include <>
2,NP1; /*-----2为网点间距,NP1为测量点个数------*/
int X0,Y0; /*-----X0,Y0为网格起点坐标------*/
void wzjs(int n,int m,float *x,float *y,float *z,float **bb)
{
int i,j,k,k0,k1,n0,hh=0;
um,x1,x2,y1,y2,xt,yt,xxt,yyt,xyt,zt,A,B,c;
double e[10][10]={0},u[10]={0};
for(i=0;i<=n;i++) /*-----列网(X向)------*/
{
A=X0+1;
for(j=0;j<=m;j++) /*------横网(y向)------*/
{
B=Y0+2;
for(k=0;k<10;k++)
{
u[k]=0;
for(k0=0;k0<10;k0++) e[k][k0]=0;
}
for(k=0;k<NP1;k++) /*-----高斯法计算曲面方程值并计算网格点值-------*/
{
hh=0;
if(A==*(x+k)&&B==*(y+k))
{
*(*(bb+i)+j)=*(z+k);
hh=1; break;
}
x1=*(x+k); y1=*(y+k);
x2=x1*x1; y2=y1*y1;
cnum=(x1-A)*(x1-A)+(y1-B)*(y1-B);
cnum=um;
um*x1; um*y1;
xxt=um; yyt=um; xyt=x1*yt;
e[1][1]=e[1][1]+cnum; e[1][2]=e[1][2]+xt;
e[1][3]=e[1][3]+yt; e[1][4]=e[1][4]+xyt;
e[1][5]=e[1][5]+xxt; e[1][6]=e[1][6]+yyt;
e[2][4]=e[2][4]+x2*yt; e[2][5]=e[2][5]+x2*xt;
e[2][6]=e[2][6]+y2*xt; e[3][6]=e[3][6]+y2*yt;
e[4][4]=e[4][4]+x2*yyt; e[4][5]=e[4][5]+x2*xyt;
e[4][6]=e[4][6]+y2*xyt; e[5][5]=e[5][5]+x2*xxt;
e[6][6]=e[6][6]+y2*yyt;
zt=*(z+k)*cnum;
u[1]=u[1]+zt; u[2]=u[2]+x1*zt;
u[3]=u[3]+y1*zt; u[4]=u[4]+x1*y1*zt;
u[5]=u[5]+x2*zt; u[6]=u[6]+y2*zt;
}
if(hh==1) continue;
e[2][2]=e[1][5]; e[2][3]=e[1][4]; e[3][3]=e[1][6];
e[3][4]=e[2][6]; e[3][5]=e[2][4]; e[5][6]=e[4][4];
for(k=1;k<6;k++)
for(k0=k+1;k0<7;k0++)
e[k0][k]=e[k][k0];
for(k=1;k<7;k++) e[k][7]=u[k];
n0=6;
for(k=1;k<n0;k++)
for(k0=k+1;k0<n0+1;k0++)
for(k1=k+1;k1<n0+2;k1++)
e[k0][k1]=e[k0][k1]-e[k0][k]*e[k][k1]/e[k][k];
u[n0]=e[n0][n0+1]/e[n0][n0];
f

等值线源码 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数32
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wz_198614
  • 文件大小25 KB
  • 时间2017-07-13
最近更新