变形监测编程作业

发布 2023-05-16 23:17:28 阅读 2509

苏州科技学院。

变形监测技术与应用。

班级:学号:

姓名:指导老师:江标初。

作业一。运行结果截图。

vb**。private sub command1_click()

dim i as integer

i = 1open "e:\大学作业耿伟\" for input as #

redim x(1 to 20)

do while not eof(1)

input #1, x(i)

i = i + 1

loopclose #

end sub

private sub command2_click()

dim d() as double, **er_d as double, cd as double, q(1 to 20) as string, m as integer

**er_d = 0

cd = 0

i = 0redim d(2 to 19) as double

for j = 2 to 19

d(j) =2 * x(j) -x(j + 1) +x(j - 1))

**er_d = **er_d + d(j)

next**er_d = **er_d / 18

for k = 2 to 19

cd = cd + d(k) -**er_d) ^2

nextcd = sqr(cd / 17)

for i = 2 to 18

if abs(d(i) -**er_d) /cd > 3 then

"计算3σ法:第" &i & 个" &x(i) &为奇异数"

end if

next i

"σd=" format(cd, "0.00d平均结果:" format(**er_d, "0.0000") vbcrlf

end sub

private sub command3_click()

dim **er_y as double, s as double

**er_y = 0

for j = 1 to 20

**er_y = **er_y + x(j)

next**er_y = **er_y / 19

for k = 1 to 20

s = s + x(k) -**er_y) ^2

nexts = sqr(s / 19)

for i = 1 to 20

if abs(x(i) -**er_y) >s then

"统计检验法结果:第" &i & 个数字" &x(i) &为奇异数"

end if

next"y平均结果:" format(**er_y, "0.00s结果:" format(s, "0.0000")

end sub

作业二。运行结果截图。

c语言编程。

#include<>

#include<>

intmain()

doublea0[10]=,a2[19]=,y1=0.0,y2=0.0,s1,s2,sum1=0.0,sum2=0.0,u;

intn1,n2,i,j,k=0;

for(i=0;i<3;i++)

for(j=0;j<3;j++)

printf("%lf\t",a0[k++]

printf("");

printf("");

j=0,k=0;

for(i=0;i<4;i++)

for(j=0;j<5;j++)

printf("%lf\t",a2[k++]

printf("");

for(i=0;i<10;i++)

y1+=a0[i]/10;

for(i=0;i<19;i++)

y2+=a2[i]/19;

for(i=0;i<10;i++)

sum1+=(a0[i]-y1)*(a0[i]-y1);

for(i=0;i<19;i++)

sum2+=(a2[i]-y2)*(a2[i]-y2);

s1=sqrt(sum1/10);

s2=sqrt(sum2/10);

w=(y1-y2)sqrt(s1*s1/10+s2*s2/19);

if(fabs(w)>22.5)

printf("存在系统误差");

elseprintf("不存在系统误差");

return0;

作业三。运行结果截图。

matlab**。

x01=8.1;

x02=14.1;

x03=20.2;

x04=26.3;

x0=[x01 x02 x03 x04];

x11=8.1;

x12=22.2;

x13=42.4;

x14=68.7;

yn=[x02;x03;x04];

b=[-0.5*(x12+x11),1;-0.5*(x13+x12),1;-0.5*(x14+x13),1];

bt=b';

a=(bt*b)\bt*yn%%算出a估计矩阵。

a=a(1,1)

u=a(2,1)

x=[0 0 0 0];

for i=1:4

x(i)=(1-2.718^a)*(8.1-u/a)*2.718^(-a*(i-1));此处是x(i)的计算值。

endx%%显示x的值。

e=[0 0 0 0];

for i=1:4

e(i) =x0(i)-x(i);%此处是e(k)的计算值。

ende%%显示e的值。

for i=1:4

esum=e(i)+0;%%此处是e(k)的计算值。

endfor i=1:4

x0sum =0+x0(i);%此处是e(k)的计算值。

endx0**r=x0sum/4;%%x的均值。

e**r=esum/4;%%e均值。

s12s=0;

for i=1:4

s12s=s12s+(x0(i)-x0**r)*(x0(i)-x0**r);

end;s12=s12s/4;

s22s=0;

for i=1:4

s22s=s22s+(e(i)-e**r)*(e(i)-e**r);

end;s22=s22s/4;

s1=sqrt(s12);

s2=sqrt(s22);

c=s2/s1

sfinal=0.6745*s1

由图可知 e的每一个值都小于sfinal 即p=1。

作业四。运行结果截图。

vb**。private sub command1_click()

dim as1s2#, as1b1#, as2b2#, as2s1#, xs1#, ys1#, xs2#, ys2#, xb1#, yb1#, xb2#, yb2#, e#, h#, i#

dim v1#, b1#, v2#, b2#, v#, b#, xp#, yp#, pi#, x_p#, y_p#

pi = 3.14159

xs1 = 51

ys1 = 21

xs2 = 30

ys2 = 80

xb1 = 10

yb1 = 40

xb2 = 60

yb2 = 110

h = 100

x_p = 70

y_p = 70

"原始计算数据xs1=51 ys1=21 xs2=30 ys2=80" &vbcrlfxb1=10 yb1=40 xb2=60 yb2=110"

v1 = 279 * pi / 180

b1 = 290 * pi / 180

as1s2 = atn((ys2 - ys1) /xs2 - xs1))

as1b1 = atn((yb1 - ys1) /xb1 - xs1))

as2b2 = atn((yb2 - ys2) /xb2 - xs2))

if as1s2 >=pi then

as2s1 = as1s2 - pi

elseif as1s2 < pi then

as2s1 = as1s2 + pi

end if

v2 = v1 - as1s2 - as1b1)

if v2 < 2 * pi then

v2 = v2 + 2 * pi

elsev2 = v2 - 2 * pi

end if

b2 = b1 - as2s1 - as2b2)

if b2 < 2 * pi then

b2 = b2 + 2 * pi

elseb2 = b2 - 2 * pi

end if

if v2 >=pi then

v = 2 * pi - v2

b = b2

elsev = v2

b = 2 * pi - b2

end if

"中间计算过程as1s2=" format(as1s2 * 180 / pi, "0.00as1b1=" format(as1b1 * 180 / pi, "0.00as2b2=" format(as2b2 * 180 / pi, "0.

00")

& format(as2s1 * 180 / pi, "0.00")

xp = xs1 * cot(b) +xs2 * cot(v) -ys1 + ys2) /cot(v) +cot(b))

yp = ys1 * cot(b) +ys2 * cot(v) +xs1 - xs2) /cot(v) +cot(b))

e = sqr((x_p - xp) ^2 + y_p - yp) ^2)

i = e / h

"最终计算结果xp=" format(xp, "0.0000") yp=" format(yp, "0.0000") e=" format(e, "0.0000")

& format(i, "0.0000")

end sub

function cot(x) as double '余切。

cot = 1 / tan(x)

end function

作业五。运行结果截图。

c++**。

#include<>

#include

#include<>

using namespace std;

#define m 16

void main()

double a[m]=;

double t=0;

double sum=0,sum1=0,s;

for(int i=0;i

double **erage=sum/m;//平均值。

cout< double temp1;

网络编程作业

1.多个tcp客户端连接一个tcp服务器,服务器只要读到客户端数据,将数据 给其他客户端,然后tcp客户端收到数据后打印。该服务器是tcp广播服务器,请用循环服务器实现 提示 服务端在acept函数会返回客户端文件描述符clientfd,将每一个客户端的文件描述符,添加到client文件描述符数组里...

网络编程作业

1 客户端程序接收用户输入的数字,然后将用户输入的内容发送给服务器端,服务器端判断客户端发送的数字是否是质数,并将判断的结果反馈给客户端,客户端根据服务器端的反馈显示判断结果。注意判断用户输入的合法性。2 分别使用tcp方式和udp方式,实现将客户端输入的阿拉伯数字转换为中文大写数字。3 设计一个简...

网络编程作业

网络编程大作业。学号 姓名 班级 指导老师 进程是应用程序的执行实例,每个进程是由私有的虚拟地址空间 数据和其他各种系统资源组成,进程在运行过程中创建的资源随着进程的终止而被销毁,所使用的系统资源在进程终止时被释放或关闭。线程是进程内部的一个执行单元系统创建好进程后,实际上就启动执行了该进程的主执行...