测绘程序设计课程实习报告

执笔断江山 范文 报告范文
精选回答

测绘程序设计课程实习报告本文简介:测绘程序设计课程实习报告一、实习目的巩固之前所学的c++类定义、文件操作等各方面知识,掌握矩阵计算的基本算法,熟悉并熟练运用平差模型,掌握测量平差的基本原理和公式,并处理测量观测数据。二、实习内容该课程的实习主要为c语言及c++编程基础,矩阵操作算法,条件平差,间接平差,以及在水准网平差中的应用。三

测绘程序设计课程实习报告本文内容:

测绘程序设计课程实习报告

一、实习目的

巩固之前所学的c++类定义、文件操作等各方面知识,掌握矩阵计算的基本算法,熟悉并熟练运用平差模型,掌握测量平差的基本原理和公式,并处理测量观测数据。

二、实习内容

该课程的实习主要为c语言及c++编程基础,矩阵操作算法,条件平差,间接平差,以及在水准网平差中的应用。

三、实习过程

(1)

实习1(文件的基本操作以及角度、弧度的转化)

1.

准备

C++文件操作函数包含于头文件,一般情况下使用即可。在计算过程中需要文件输出格式控制,函数包含于。c++的流操作函数包含于,相应的流函数在命名空间“std”。

角度转弧度的过程中,首先判断正负,对符号进行不同情况的处理。将度数的分,秒位分别除以60、3600,然后把得到的结果与度位绝对值相加,判断符号。

弧度转角度的过程中,同样判断正负,取小数位乘以60取整数得到相应角度的分,再取剩余的小数乘以60即得到相应角度的秒。

2.

代码

#include

#include

#include

#include

using

namespace

std;

const

double

pi

=

3.14159;

int

main()

{

fstream

file(“a.txt“);

//定义文件操作对象

string

aa;

file>>aa;

cout>a1;

cout>a2;

cout>a3;

cout=

0)

//判断输入度数的正负

deg

=

a1

+

a2/60

+

a3/3600;

else

deg

=

a1

-

a2/60

-

a3/3600;

double

radian;

radian

=

deg/180*pi;

cout>radian;

bool

tm

=

0;

deg

=

radian*180/pi;

if(deg

#include

#include

using

namespace

std;

class

mat

{

public:

void

add(int

row,int

col,double

m[],double

n[],double

result[]);//加法

void

sub(int

row,int

col,double

m[],double

n[],double

result[]);//减法

double*

multiply(int

row,int

col,int

col2,double

m[],double

n[]);//乘法

void

trans(int

row,int

col,double

m[],double

result[]);//转置

bool

inverse(double

a[],int

n);//求逆

void

fileIn(ifstream

//从文件中读入

void

fileOut(ofstream

out,int

row,int

col,doublemat);

//向文件输出

void

outPut(int

row,int

col,doublemat);//向控制台输出

void

inPut(int

row,int

col,doublemat);//从控制台输入

int

ij(int

i,int

j)//下三角矩阵元素判断

{

return

(i>=j)?

i*(i+1)/2+j

:

j*(j+1)/2+i;

}

};

文件mat.cpp:

#include

“mat.h“void

mat::add(int

row,int

col,double

m[],double

n[],double

result[])

{

for(int

i=0;

i>mat[i];

}

void

mat::fileOut(ofstream

out,int

row,int

col,doublemat)

{

for(int

i=0;

i>mat[i*col+j];

}

测试文件main.cpp:

#include

“mat.h“mat

g_mat;

void

main()

{

doublemat1;

doublemat2;

doublemat3;

doublemat4;

doublemat_result;

mat1

=

new

double[2*3];

mat2

=

new

double[2*3];

mat3

=

new

double[3*1];

mat4

=

new

double[2*2];

cout

mat

mat_c;

/**

V

=

BX-L;

V:

n*1

B:

n*t

X:

t*1

L:

n*1

P:

n*1

已知:B、L、P

求:X、V、/

void

adjust(int

n,int

t,double

V[],double

B[],double

X[],double

L[],double

P[],double

doubleBTPB

=

new

double[(t+1)*t/2];

doubleBTPB2

=

new

double[(t+1)*t/2];

for(i=0;

i>n;

file>>t;

cout,使用

cout

#include

#include

#include

“mat.h“using

namespace

std;

mat

mat_cul;

void

condition(int

n,int

r,double

A[],double

W[],double

P[],double

V[],double

doubleAQAT

=

new

double[r*(r+1)/2];

//法方程系数阵

for(i=0;

i

#include

#include

#include

#include

#include

“mat.h“using

namespace

std;

class

Clevel

{

public:

int

n;

//总观测值数

int

p_k;

//已知点数

int

t;

//未知点数

int

pNum;

//高程点总数

double

m;

//单位权

stringPname;

//点名地址数组

intstartP;

//起点号

intendP;

//终点号

doubleh;

//观测值

doubleH;

//高程值

doubleS;

//距离长度

doubleP;

//权

doubleB;

doubleL;

doubleX;

doubleV;

double

u;

//中误差

Clevel(charfileName);

void

inputdata(charfileName);

int

GetPNum(string

name);

void

adjust();

void

outputResult();

void

calculataHBPL();

mat

mat_c;//矩阵计算类

private:

void

calH();

void

calB();

void

calP();

void

calL();

};

文件Clevel.cpp:

#include

“Clevel.h“Clevel::Clevel(char*

fileName)

{

inputdata(fileName);

calculataHBPL();

adjust();

outputResult();

}

/**

V

=

BX-L;

V:

n*1

B:

n*t

X:

t*1

L:

n*1

P:

n*1

已知:B、L、P

求:X、V、/

void

Clevel::adjust()

{

int

i,j,k;

doubleBTPB

=

new

double[(t+1)*t/2];

doubleBTPB2

=

new

double[(t+1)*t/2];

//

下三角求BTPB2

for(i=0;

i>n>>pNum>>p_k>>m;

t

=

pNum-p_k;

startP

=

new

int[n];//起点号

endP

=

new

int[n];//终点号

L

=

new

double[n];//观测值

H

=

new

double[pNum];//高程值

S

=

new

double[n];//距离长度

P

=

new

double[n*n];//权

B

=

new

double[t*n];

h

=

new

double[n];

Pname

=

new

string[pNum];

X

=

new

double[t];

V

=

new

double[n];

int

i;

for(i=0;i>buffer;

int

bb

=

GetPNum(buffer);

in>>H[bb];

//cout>buffer;//读取起点名

startP[i]

=

GetPNum(buffer);//获取起点对应的点号

in>>buffer;//读取终点名

endP[i]

=

GetPNum(buffer);

in>>h[i]>>S[i];//读取观测值高差及对应的距离

}

in.close();

//cout-9999.0

Hcount++;

}

}

if(Hcount

==

t)

break;

}

}

void

Clevel::calB()

{

int

i,j;

for(i=0;

i=p_k

}

}

//输出矩阵B

cout<

for(

i=0;i

{

for(int

j=0;j

{

cout<

}

cout<

}

}

void

Clevel::calP()

{

int

i;

for(i=0;

i

i++)

{

P[i]=m/S[i];

}

//输出矩阵P

cout<

for(i=0;

i

i++)

{

cout<

}

}

void

Clevel::calL()

{

int

i;

for(i=0;i

{

int

k1=startP[i];

int

k2=endP[i];

L[i]=h[i]-(H[k2]-H[k1]);

}

//输出矩阵L

cout<

for(i=0;

i

i++)

{

cout<

<<

setprecision(4)<

}

}

void

Clevel::outputResult()

{

cout<<“中误差:

“<

cout<<“观测值改正数:“<

mat_c.outPut(n,1,V);

int

i;

for(i=0;

i

i++)

{

cout<<“改正后观测值h“<h[i]

=

H[i]+V[i];

}

cout<

for(i=p_k;

i

i++)

{

cout<<“改正后高程值“<

}

}

void

Clevel::calculataHBPL()

{

calH();

calB();

calP();

calL();

}

主函数main.cpp:

#include

“Clevel.h“void

main()

{

Clevel

l(“Dat.txt“);

//建立对象之后又输入文件名的数据计算结果

}

3.

运行结果

B:

1

0

0

0

1

0

1

0

0

0

1

0

-1

1

0

-1

0

1

0

0

-1

P:

0.909091

0.588235

0.434783

0.37037

0.416667

0.714286

0.384615

L:

0.0000

-0.0000

0.0040

0.0030

0.0070

0.0000

0.0020

中误差:

0.0022

观测值改正数:

-0.0002

0.0029

-0.0042

-0.0001

-0.0039

-0.0006

-0.0011

改正后观测值h0:1.3588

改正后观测值h1:2.0119

改正后观测值h2:0.3588

改正后观测值h3:1.0119

改正后观测值h4:0.6531

改正后观测值h5:0.2374

改正后观测值h6:-0.5961

改正后高程值P1:6.

抓住机遇 2022-07-07 09:43:44

相关推荐

前途的意思

前途原指前面的路程,比喻将来的光景;将行经的前方路途,引申为目标和价值。出自鲁迅《故事新编-奔月》:“圆的雪白的月亮照着前途,凉风吹脸,真是比大猎回来时还有趣。”出处:晋-左思《吴都赋》:“先驱前涂,俞骑骋路。...
展开详情

丼怎么读

jǐng或dǎn。读作jǐng时,同“井”。读作dǎn时,意为投物井中所发出的声音,也可用作姓。中文丼字来源甲骨文,甲骨文即有丼字,或为今“丹”字,井中的一点,为丹砂的象征符号。又因为从“井”得字,所以也指井,...
展开详情

芝麻油是上火还是降火

芝麻油有降火功效。一般黑芝麻食用,白芝麻榨油。中医学认为:本品性味甘、凉,具有润肠通便、解毒生肌之功效。据《本草纲目》上记载:有润燥、解毒、止痛、消肿之功。”《别录》说:利大肠,胞衣不落。生者摩疙肿,生秃发。”...
展开详情

闭门反思的意思

“闭门反思”的意思是关上门反省自己的过错。形容自身冷静下来好好单独地想想所犯之过错,作出深刻反省。成语出自:《汉书·韩延寿传》:“因入卧传舍,闭阁思过。畅姬扳肯殖厩帮询爆墨。”...
展开详情

五言绝句平仄格式

1、平起首句押韵:平平仄仄平(韵),仄仄仄平平(韵),仄仄平平仄,平平仄仄平(韵)。如:“床前明月光,疑是地上霜。举头望明月,低头思故乡。”2、平起首句不押韵:平平平仄仄,仄仄仄平平(韵),仄仄平平仄,平平仄仄...
展开详情

精选推荐更多>

千万缕的意思

千万缕的意思是千丝万缕,千条丝、万条线。
千丝万缕造句:
1、两家公司有着千丝万缕的不解之缘。
2、自然界中的事物都存在着千丝万缕的联系。
3、我们在日常生活中更是与月亮有千丝万缕的联系。
4、春姑娘悄悄地来了,和煦的阳光从竹林的叶片枝杆中洒下了千丝万缕的金线,为竹林增添了生机。
5、宝黛二人之间的种种,有如千丝万缕,数来数不来,话也话不完。
6、新社会与旧社会有千丝万缕的关系。
7、人与人之间,人与社会之间,发生着千丝万缕的联系。
8、学校并不是世外桃源,它和社会有着千丝万缕的联系,所以学校教育、社会教育和家庭教育三者必须有机地结合起来。
9、原来是春姑娘把千丝万缕的线条从天空中投了下来。
10、我已经在不知不觉间和雨结下了千丝万缕的牵绊。

一狼洞其中词类活用

“一狼洞其中”的词类活用:洞,名词作动词,意思是“打洞”。出自《狼》:“一狼洞其中,意将隧入以攻其后也。身已半入,止露尻尾。屠自后断其股,亦毙之。乃悟前狼假寐,盖以诱敌。”
译文:另一只狼正在挖洞,打算从通道进入来攻击屠户的后面。身体已经进入了大半,只露出屁股和尾巴。屠户从后面砍掉了狼的大腿,也杀死了这只狼。他才知道前面的狼是假装睡觉,大概是用这种方法来诱骗敌人。
《狼》是清代小说家蒲松龄创作的文言短篇小说。描绘了贪婪、凶狠、狡诈的狼的形象。启示我们对待像狼一样的恶人,不能妥协退让,而要像屠夫一样勇敢斗争、善于斗争,这样才会取得胜利。

科学实践观创立的作者

科学实践观创立者是马克思。
马克思主义科学实践观的基本内容:
一、实践的本质:
实践是指人能动地改造客观世界的对象性活动,有两方面含义:
1、实践的一般本质:实践是人改造客观世界的物质活动,具有物质的性质和形式,具有直接现实性的特点。
2、实践的特殊本质:实践又是人所特有的对象性活动,实践以人为主体,以客观事物为对象,并把人的目的、能力等本质力量对象化为客观实在,创造出一个属人的对象世界,具有主体性的特点。
二、实践是人的存在方式:
实践的本质决定了实践在人类生活中具有基础和根本的地位,实践构成了人类存在的基本方式。实践是人类生命的特殊运动形式,实践创造了人的基本特征,实践使人成为“社会存在物”,“有意识的类存在物”和“能动的自然存在物”。创造出了人之为人的一切特征,把人类从动物界提升出来。实践是人类的特殊生命形式,即它是社会生命的运动形式。正是在实践过程中,人成为一种自我创造的主体性存在。

人间烟火气最抚凡人心的意思

“人间烟火味,最抚凡人心”的意思是指市井百态、寻常生活最能抚慰世俗人的思想了。抚的意思是抚慰,安抚。凡人心则是指“世俗人之心”。
烟火,yān huǒ,汉语词汇,即炊烟。借指住户、人家生火而燃起的烟火。
出处:
1、《庄子·徐无鬼》:“豕虱自以为安室利处,不知屠者之一旦鼓臂布草,操烟火,而己与豕俱焦也。”
2、《后汉书·吴汉传》:“飨士秣马,闭营三日不出,乃多树幡旗,使烟火不绝。”
3、《北史·魏陇西公仑传》:“今日大风既劲,若今推草车方轨并进,乘风纵烟火,以精兵自后乘之,破之必矣。”
近义词:烽火、人烟、焰火。
常见热点问答
热点搜索
1-20
21-40
41-60
61-80
81-100
101-120
121-140
141-160
161-180
181-200
作文大全
1-20
21-40
41-60
61-80
81-100
101-120
121-140
141-160
161-180
181-200