搜档网
当前位置:搜档网 › 实验三利用matlab程序的设计语言完成某工程导线网平差计算

实验三利用matlab程序的设计语言完成某工程导线网平差计算

实验三利用matlab程序的设计语言完成某工程导线网平差计算
实验三利用matlab程序的设计语言完成某工程导线网平差计算

实验三利用matlab程序设计语言完成某工

程导线网平差计算

实验数据;

某工程项目按城市测量规(CJJ8-99)不设一个二级导线网作为首级平面控制网,主要技术要求为:平均边长200cm,测角中误差±8,导线全长相对闭合差<1/10000,最弱点的点位中误差不得大于5cm,经过测量得到观测数据,设角度为等精度观测值、测角中误差为m=±8秒,鞭长光电测距、测距中误差为m=±0.8√smm,根据所学的‘误差理论与测量平差基础’提出一个最佳的平差方案,利用matlab完成该网的严密平差级精度评定计算;

平差程序设计思路:

1采用间接平差方法,12个点的坐标的平差值作为参数.利用matlab进行坐标反算,求出已知坐标方位角;根据已知图形各观测方向方位角;

2计算各待定点的近似坐标,然后反算出近似方位角,近似边.计算各边坐标方位角改正数系数;

3确定角和边的权,角度权Pj=1;边长权Ps=100/S;

4计算角度和边长的误差方程系数和常数项,列出误差方程系数矩阵B,算出Nbb=B’PB,W=B’Pl,参数改正数x=inv(Nbb)*W;角

度和边长改正数V=Bx-l;

6 建立法方程和解算x,计算坐标平差值, 精度计算;程序代码以及说明:

s10=238.619;s20=170.759;

s30=217.869;s40=318.173;

s50=245.635;s60=215.514;

s70=273.829;s80=241.560;

s90=224.996;s100=261.826;

s110=279.840;s120=346.443;

s130=312.109;s140=197.637; %已知点间距离

Xa=5256.953;Ya=4520.068;

Xb=5163.752;Yb=4281.277;

Xc=3659.371;Yc=3621.210;

Xd=4119.879;Yd=3891.607;

Xe=4581.150;Ye=5345.292;

Xf=4851.554;Yf=5316.953; %已知点坐标值

a0=atand((Yb-Ya)/(Xb-Xa))+180;

d0=atand((Yd-Yc)/(Xd-Xc));

f0=atand((Yf-Ye)/(Xf-Xe))+360; %坐标反算方位角a1=a0+(163+45/60+4/3600)-180

a2=a1+(64+58/60+37/3600)-180;

a3=a2+(250+18/60+11/3600)-180;

a4=a3+(103+57/60+34/3600)-180;

a5=d0+(83+8/60+5/3600)+180;

a6=a5+(258+54/60+18/3600)-180-360;

a7=a6+(249+13/60+17/3600)-180;

a8=a7+(207+32/60+34/3600)-180;

a9=a8+(169+10/60+30/3600)-180;

a10=a9+(98+22/60+4/3600)-180;

a12=f0+(111+14/60+23/3600)-180;

a13=a12+(79+20/60+18/3600)-180;

a14=a13+(268+6/60+4/3600)-180;

a15=a14+(180+41/60+18/3600)-180; %推算个点方位角

aa=[a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a12 a13 a14 a15]' X20=Xb+s10*cosd(a1);

X30=X20+s20*cosd(a2);

X40=X30+s30*cosd(a3);

X50a=X40+s40*cosd(a4);

X60=Xd+s50*cosd(a5);

X70=X60+s60*cosd(a6);

X80=X70+s70*cosd(a7);

X90=X80+s80*cosd(a8);

X100=X90+s90*cosd(a9);

X50c=X100+s100*cosd(a10);

X130=Xf+s110*cosd(a12);

X140=X130+s120*cosd(a13);

X150=X140+s130*cosd(a14);

X50e=X150+s140*cosd(a15); %各点横坐标近似值

X0=[X20 X30 X40 X60 X70 X80 X90 X100 X130 X140 X150 X50a X50c X50e]'

Y20=Yb+s10*sind(a1);

Y30=Y20+s20*sind(a2);

Y40=Y30+s30*sind(a3);

Y50a=Y40+s40*sind(a4);

Y60=Yd+s50*sind(a5);

Y70=Y60+s60*sind(a6);

Y80=Y70+s70*sind(a7);

Y90=Y80+s80*sind(a8);

Y100=Y90+s90*sind(a9);

Y50c=Y100+s100*sind(a10);

Y130=Yf+s110*sind(a12);

Y140=Y130+s120*sind(a13);

Y150=Y140+s130*sind(a14);

Y50e=Y150+s140*sind(a15); %个点从坐标近似值

Y0=[Y20 Y30 Y40 Y60 Y70 Y80 Y90 Y100 Y130 Y140 Y150 Y50a Y50c Y50e]'

P=[X0 Y0];

X50=(X50a+X50c+X50e)/3

Y50=(Y50a+Y50c+Y50e)/3

s4=sqrt((Y40-Y50)^2+(X40-X50)^2);

s1=sqrt((Y100-Y50)^2+(X100-X50)^2);

s14=sqrt((Y150-Y50)^2+(X150-X50)^2);

A1=[cosd(a1) cosd(a2) cosd(a3) cosd(a4) cos(a5) cosd(a6) cosd(a7) cosd(a8) cosd(a9) cosd(a10) cosd(a12) cosd(a13) cosd(a14) cosd(a15)]';

B11=[sind(a1) sind(a2) sind(a3) sind(a4) sin(a5) sind(a6) sind(a7) sind(a8) sind(a9) sind(a10) sind(a12) sind(a13) sind(a14) sind(a15)]';

s=blkdiag(s10,s20,s30,s4,s50,s60,s70,s80,s90,s10',s110, s120,s130,s14);

a=206.2648026*inv(s)*B11

b=-206.2648026*inv(s)*A1

ab4=atand((Y50-Y40)/(X50-X40))+180;

ab10=atand((Y50-Y100)/(X50-X100));

ab14=atand((Y50-Y150)/(X50-X150))+360;

m4=ab4-a3+180;

m10=ab10-a9+180;

m11=ab4-ab10;

m15=ab14-a14+180;

m16=ab10-ab14+360;

m04=103+57/60+34/3600;

m010=98+22/60+4/3600;

m011=94+53/60+50/3600;

m015=180+41/60+18/3600;

m016=ab10-ab14+360;

l=[0 0 0 m4-103-57/60-34/3600 0 0 0 0 0 m10-98-22/60-4/3600 m11-94-53/60-50/3600 0 0 0 m15-180-41/60-18/3600 m16-103-23/60-8/3600 0 0 0 s40-s4 0 0 0 0 0 s100-s1 0 0 0 s140-s14]';

e1=(abs(X20-Xb))/s10;e2=(abs(X30-X20))/s20;e3=(abs(X40-X30))/s30;e4=(abs(X50-X40))/s4;e5=(abs(X60-Xd))/s50;e6= (abs(X70-X60))/s60;e7=(abs(X80-X70))/s70;

e8=(abs(X90-X80))/s80;e9=(abs(X100-X90))/s90;e10=(abs(X 50-X100))/s1;e11=(abs(X130-Xf))/s110;e12=(abs(X140-X130 ))/s120;e13=(abs(X150-X140))/s130;e14=(abs(X50-X150))/s 14;

e=[e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e13 e14]'

m1=(abs(Y20-Yb))/s10;m2=(abs(Y30-Y20))/s20;m3=(abs(Y40-Y30))/s30;m4=(abs(Y50-Y40))/s4;m5=(abs(Y60-Yd))/s50;m6= (abs(Y70-Y60))/s60;m7=(abs(Y80-Y70))/s70;

实验二 Matlab程序设计基本方法1

实验二Matlab程序设计基本方法 覃照乘自092 电气工程学院 一、实验目的: 1、熟悉MATLAB 程序编辑与设计环境 2、掌握各种编程语句语法规则及程序设计方法 3、函数文件的编写和设计 4、了解和熟悉跨空间变量传递和赋值 二、实验基本知识: ◆for循环结构 语法:for i=初值:增量:终值 语句1 …… 语句n end 说明:1.i=初值:终值,则增量为1。 2.初值、增量、终值可正可负,可以是整数,也可以是小数,只须符合数学逻辑。 ◆while 循环结构 语法:while 逻辑表达式 循环体语句 end 说明:1、whiIe结构依据逻辑表达式的值判断是否执行循环体语勾。若表达式的值为真,执行循环体语句一次、在反复执行时,每次都要进行判断。若表达 式的值为假,则程序执行end之后的语句。 2、为了避免因逻辑上的失误,而陷入死循环,建议在循环体语句的适当位 置加break语句、以便程序能正常执行。(执行循环体的次数不确定; 每一次执行循环体后,一定会改变while后面所跟关系式的值。) 3、while循环也可以嵌套、其结构如下:

while逻辑表达式1 循环体语句1 while逻辑表达式2 循环体语句2 end 循环体语句3 end ◆if-else-end分支结构 if 表达式1 语句1 else if 表达式2(可选) 语句2 else(可选) 语句3 end end 说明:1.if结构是一个条件分支语句,若满足表达式的条件,则往下执行;若不满足,则跳出if结构。 2.else if表达式2与else为可选项,这两条语句可依据具体情况取舍。 3.注意:每一个if都对应一个end,即有几个if,记就应有几个end。 ◆switch-case结构 语法:switch表达式 case常量表达式1 语句组1 case常量表达式2 语句组2 …… otherwise 语句组n end

软件无线电实验matlab程序

附录 (1) 、SDR 低通采样理论 %parameters fs = 5e4;%采样频率注意 或 2 倍以上 f = 5e3;%信号的频率 N = 1024; n = 1:1024; t= n/fs; deta_t = 1/fs;% 采样间隔 %signals sn = sin(2*pi*f*t);% 时域采样后的信号w = hanning(N);% 加汉宁窗sn1 = sn.*w';% 加窗减少频率泄露 Sn_fft = fft(sn1);% 频域信号 Sn = abs(Sn_fft); %figures figure(1); plot(t,sn); title('s(n)的时域波形'); grid on; xlabel('t'); xlim([0 0.021]); ylabel('幅度'); figure(2); xax = [-N/2:N/2-1]/N*fs/1000;% 将f 轴单位变为kHz plot(xax,20*log10(fftshift(Sn))); title('s(n)的频域波形'); grid on; xlabel('f(kHz)'); ylabel('幅度(dB)'); ylim([-200 100]); (2) 、SDR 带通采样理论 %parameters f = 1.3e3;% 基频 fo = 100e6;% 载波频率 N = 1024; fs = 4e3;%采样频率 t= 0:0.001:2; st = cos(2*pi*(f+fo)*n/fs);% 带通抽样信号 St1 = fft(st); St = abs(St1); st0 = cos(2*pi*(f+fo)*t); St0 = fft(st0); St2 = abs(St0); figure(1); plot(n,st); title('带通抽样信号时域图像’); xlabel('n'); xlim([0 1026]); ylabel('幅度'); grid on; figure(2); plot(t,st0); title('带通原始信号时域图像'); xlabel('t'); ylabel('幅度'); grid on; figure(3); xax =[-N/2:N/2-1]/N*fs/1000; plot(xax,20*log10(fftshift(St))); title('带通信号抽样后频域图像’); xlabel('f(kHz)'); ylabel('幅度(dB)'); grid on; (3) 、频率调制信号 %频率调制 %parameters fs = 1e3;%抽样频率 ts = 1/fs;%采样率 N = 1024; n = 0:1:N-1; t = n/fs; kf = 100.1; A = 100; Aw = 10; fc = 10000;% 载波频率fm = 10;% 调制信号频率mf = kf*Aw/(2*pi*fm); %signals s1 A*cos(2*pi*fc*t).*cos(mf*sin(2*pi*fm*t)); s2 fs 至少是f 的2 倍n = 1:1024;

MATLAB 语言程序设计基础(2)

%第六章微分方程问题的解法 % 微分方程的解析解方法 % 常微分方程问题的数值解法 % 微分方程问题算法概述 % 四阶定步长Runge-Kutta算法及MATLAB 实现 % 一阶微分方程组的数值解 % 微分方程转换 % 特殊微分方程的数值解 % 边值问题的计算机求解 % 偏微分方程的解 % 6.1 微分方程的解析解方法 % y=dsolve(f1, f2, …, fm ,'x') % syms t; u=exp(-5*t)*cos(2*t+1)+5; % uu=5*diff(u,t,2)+4*diff(u,t)+2*u % syms t y; % y=dsolve(['D4y+10*D3y+35*D2y+50*Dy+24*y='... % '87*exp(-5*t)*cos(2*t+1)+92*exp(-5*t)*sin(2*t+1)+10'],'y(0)=3','Dy(0)=2','D2y(0)=0','D3y(0)=0') % [x,y]=dsolve('D2x+2*Dx=x+2*y-exp(-t)',... % 'Dy=4*x+3*y+4*exp(-t)') % syms t x; % x=dsolve('Dx=x*(1-x^2)+1') % Warning: Explicit solution could not be found; implicit solution returned. % > In D:\MATLAB6p5\toolbox\symbolic\dsolve.m at line 292 % x = % t-Int(1/(a-a^3+1),a=``..x)+C1=0 % 故只有部分非线性微分方程有解析解。 % 6.2 微分方程问题的数值解法 % 6.2.1 微方程问题算法概述 %Euler算法% %function [outx,outy]=MyEuler(fun,x0,xt,y0,PointNum) % fun 表示f(x,y); x0,xt:自变量的初值和终值; % y0:函数在x0处的值,其可以为向量形式; % PointNum表示自变量在[x0,xt]上取的点数 % if nargin<5 |PointNum<=0 %PointNum 默认值为100 % PointNum=100; % end % if nargin<4 % y0默认值为0

基于MATLAB的径向基网络源程序

%一维输入,一维输出,逼近效果很好! 1.基于聚类的RBF 网设计算法 SamNum = 100; % 总样本数 TestSamNum = 101; % 测试样本数 InDim = 1; % 样本输入维数 ClusterNum = 10; % 隐节点数,即聚类样本数 Overlap = 1.0; % 隐节点重叠系数 % 根据目标函数获得样本输入输出 rand('state',sum(100*clock)) NoiseVar = 0.1; Noise = NoiseVar*randn(1,SamNum); SamIn = 8*rand(1,SamNum)-4; SamOutNoNoise = 1.1*(1-SamIn+2*SamIn.^2).*exp(-SamIn.^2/2); SamOut = SamOutNoNoise + Noise; TestSamIn = -4:0.08:4; TestSamOut = 1.1*(1-TestSamIn+2*TestSamIn.^2).*exp(-TestSamIn.^2/2); figure hold on grid plot(SamIn,SamOut,'k+') plot(TestSamIn,TestSamOut,'k--') xlabel('Input x'); ylabel('Output y'); Centers = SamIn(:,1:ClusterNum); NumberInClusters = zeros(ClusterNum,1); % 各类中的样本数,初始化为零IndexInClusters = zeros(ClusterNum,SamNum); % 各类所含样本的索引号while 1, NumberInClusters = zeros(ClusterNum,1); % 各类中的样本数,初始化为零IndexInClusters = zeros(ClusterNum,SamNum); % 各类所含样本的索引号 % 按最小距离原则对所有样本进行分类 for i = 1:SamNum AllDistance = dist(Centers',SamIn(:,i)); [MinDist,Pos] = min(AllDistance); NumberInClusters(Pos) = NumberInClusters(Pos) + 1; IndexInClusters(Pos,NumberInClusters(Pos)) = i; end % 保存旧的聚类中心

5800导线平差程序

5800计算器导线平差程序 一、程序用途及使用范围 本程序适用于一般导线复测平差计算,利用左角复测复合导线、闭合导线的平差时可直接使用。复合导线平差时输入起始和终止边两个方位角,如果将终止边方位角输入为0,程序会自动转入闭合导线平差界面。如果想用观测右角平差时,只需将程序中带下划线的地方按使用说明稍加改动即可。 二、源程序清单:1、JDPCA(文件名称) 0→M:0→I:0→K:“AFWJ”?A:“BFWJ”?B:“CZS”?→N:“JDRXBHCA”:24√ˉ(N)→P◣“∑(ZJ)”?→C:If B≠0 Then A-B-180N+C→D: EIseC-180(N-2)→D:IfEnd: “JDBHCA.f=”:D ?DMS◣PGoto 4:“JDGZ=”:-D÷N→F:F?DMS◣LbI 1:“CJ”?→P:B=0 And P=0=>Goto3:“JGH=”:P+F→J:J?DMS ◣A+J-180→E:If E>0 And E<360:ThenE:IfEnd:If E>360:ThenE-360→E:IfEnd: :If E<360:ThenE+360→E:IfEnd: “FWJ=”:E?DMS◣“L”?→L:L=0 And B≠0=>Goto3:“XO=”:Lcos(E)→X◣“YO=”:Lsin(E)→Y◣M+L→M:I+X→I:K+Y→K:E→A:Goto1:LbI3:“∑(L)=”:M◣“∑(XO)=”:I◣“∑(YO)=”:K◣Prog“DXPCA”:LbI4 DXPCA(文件名称,可单独运行) “AX”?→A:“A Y”?→Z:If B≠0:Then “BX”?→C:“BY”?→D:“FX=”:I-C+A→F◣“FY=”:K-D+Z→W◣EIse “FX=”:I

汇编语言程序设计

汇编语言基础《汇编语言程序设计》第01章在线测试 A B C D 、微机中每个存储单元具有一个地址,其中存放一个____量。 A B C D 、设段地址为5788H,该字节的物理地址_____。 A B C D 、汇编语言源程序中,每个语句由项组成,不影响语句功能的是_____。 A B C D 、下列标号不合法的是_____。 A B C D

B、生成的代码序列短小 C、运行速度快 D、编程容易 E、便于移植 2、8086段寄存器有_______。 A、IP B、DS C、CS D、ES E、SS 3、使用MASM 6.x版本的“ML /Fl eg101.asm”命令,如果源程序eg101.asm没有语法错误,则将生成_________文件。 A、目标代码文件 B、可执行文件 C、列表文件 D、调试文件 E、库文件 4、汇编语言中,______可以作为有效的名字,如标号、变量名等。 A、0fffh B、var00 C、loop1 D、test E、add 5、汇编语言中,程序员不能将______作为用户标识符。 A、DS

正确错误、有效地址是指存储器操作数的物理地址。 正确错误、采用汇编语言书写的一个源程序文件,需要使用汇编程序,例如MASM 正确错误 按逻辑段组织程序,需要执行的指令应该在代码段中。 正确错误、使用简化段定义源程序格式,必须具有语句,且位于所有简化段定义语句之前。 正确错误 《汇编语言程序设计》第02章在线测试 A B C D

2、伪指令DW定义的是______量的变量。 A、字节 B、字 C、双字 D、4字 3、将变量var定义如下,“var db 26h, 4ah”,欲以字属性存取该变量值,应采用______var。 A、offset B、byte ptr C、word ptr D、seg 4、语句“xyz db ˊABˊ, ˊCDˊ, ˊEˊ,ˊFˊ”汇编后占用的存储空间是______个字节。 A、4 B、5 C、6 D、8 5、在伪指令语句“number dw 1234h”中的number 项称为______。 A、标号 B、操作符 C、名字 D、操作数 第二题、多项选择题(每题2分,5道题共10分) 1、如下________寻址方式的操作数来自主存储器。 A、立即数寻址 B、寄存器寻址 C、直接寻址 D、寄存器相对寻址 E、寄存器间接寻址 2、“mov [bx+10h],al”指令的两个操作数采用的寻址方式有_______。 A、寄存器间接 B、寄存器 C、寄存器相对 D、基址变址 E、立即数

Matlab语言程序设计

MATLAB 语言程序设计 1、应用题(20 分) 某工厂生产A和B两种产品,它们需要经过三种设备的加工,工时如表1所列。设备一、二、三每天可使用的时间分别不超过12、10和8小时。产品A和B的利润随市场的需求有所波动,如果预测未来某个时期内A和B的利润分别为4000元/吨和3000元/吨,问每天应安排产品A、B各多少吨,才能使工厂获利最大? 表 1 生产产品工时表 产品设备一设备二设备三 A/(小时/吨) 3 3 4 B/(小时/吨) 4 3 2 设备每天最多可工作时数/小时12 10 8 请写出具体解决方案,并编写该解决方案的具体MATLAB程序代码。 假设每天应安排生产产品A和B分别为和吨,依题意可建数学模型如下: max z=4000x 1+ 3000x2 3x1+ 4x2≤12 3x1+ 3x2≤10 4x1+ 2x2≤8 x1≥0, x2≥0 首先将目标函数转换为标准形式:min z=-4000-3000 M文件如下: f = [-4000;-3000]; A = [3 4;3 3;4 2]; b = [12;10;8]; lb = zeros(2,1); [x,fval] = linprog(f,A,b,[],[],lb) 结果如下图1所示: 图1

2、结合MATLAB 图像的读写知识,请你写出具体MATLAB 图像读写方法,结合实例,给出图像读写步骤。(20分) 读写方法: imfinfo(FileNAme) %从FileNAme中获取或显示图像文件的特征数据 [X,cmap]=imread(FileNAme) %读取变址图像的数据矩阵与伴随色图,并分别送给X 和cmap X=imread(FileNAme) %从FileNAme中读取强度图像或真彩图像的数据矩阵并送给X imwrite(X,cmap,FileName,Parameter,Value) %将变址图像写入文件 imwrite(X ,FileName,Parameter,Value)%将强度图像或真彩图像写入文件 [例2-1] M文件如下: I=imread('m2.png'); imwrite(I,'m2.tif'); [X,cmap]=imread('m2.tif'); image(X); colormap(cmap); axis image off; 结果如下图2所示: 图2 3、结合课本第四章所提供的18种绘图方法,请实现其中8种绘图,提供程序代码及所绘制的图形。(30分)

实验3MATLAB程序设计

1,编写M 函数实现求一个数是否为素数,再编写一主程序(脚本文件),要求通过键盘输入一个整数,然后调用判断素数函数,从而确定它是否素数。 x=input('请输入一个整数x:'); if myprime(x) disp('您输入的整数x是一个素数。') else disp('您输入的数x不是一个素数。') end function y=myprime(x) y=1; for i=2:fix(sqrt(x)) if mod(x,i)==0 y=0; end end 2,编写M 函数统计一数值中零的个数,然后编写脚本文件,实现统计从1—2007 中零的总个数。 function num=number0(a) %统计十进制数值中0的个数 sa=num2str(a);%将数值装化为字符串 num=length(find(sa=='0'));% ));%求取字符串中'0’的个数 y=0;

for a=1:2006 num=number0(a); y=num+y; end disp(y) 504 3,编写程序计算x∈[-3,3],字长0.01:并画出曲线x = -3:0.01:3; y=zeros(size(x)); for i = 1:length(x) if -3<= x(i)& x(i)<=-1 y(i)=(-x(i).^2-4*x(i)-3)/ 2; elseif -1<= x(i) & x(i)<=1 y(i)=-x(i).^2+1; elseif 1<=x(:,i)<=3 y(i)=(-x(i).^2+4*x(i)-3)/2; end end plot(x,y) -3-2-10123

基于Matlab的导线网坐标计算设计

基于Matlab的导线网坐标计算设计

东华理工大学长江学院毕业设计论文题目:基于Matlab的导线网坐标计算 English Title:Traverse Network Coordinate Calculation Based On Matlab 学生姓名: 申请学位门类:工学学士 专业:测绘工程 系别:测绘工程系

摘要 导线计算是在所有测量工作中经常遇见的问题之一,同时导线计算的方法也有很多种,本文主要是利用简单易懂的Matlab对附合导线、闭合导线和支导线进行相应的平差计算。文章首先介绍了附合导线、闭合导线、支导线基本概念和计算方法,其次利用Matlab计算机编程语言对三种导线的计算进行编程实现;最后通过实例验证,本文利用Matlab编写的程序正确,通过输入边长和角度,能够快速的得到各控制点的准确坐标。 关键词:Matlab;导线计算;精度评价;计算机编程

ABSTRACT Traverse calculated in all measurements often met one of the problems,Also there are many kinds of traverse the way.This article mainly is to use simple Matlab to connecting traverse、closed traverse、spur traverse to the corresponding adjustment calculation The article first introduces the connecting traverse、closed traverse、spur traverse is basic concept and calculation method.Secondly using Matlab computer programming language was realized by programming calculation of three traverse.At last,through example validation, In this paper, using the Matlab program, right through the input variable length and Angle, able to quickly get the accurate coordinates of each control point. Key words:Matlab; Traverse Calculated ; Precision Evaluation; Computer Programming

实验三-利用matlab程序设计语言完成某工程导线网平差计算

实验三利用matlab程序设计语言完成某工 程导线网平差计算 实验数据; 某工程项目按城市测量规范(CJJ8-99)不设一个二级导线网作为首级平面控制网,主要技术要求为:平均边长200cm,测角中误差±8,导线全长相对闭合差<1/10000,最弱点的点位中误差不得大于5cm,经过测量得到观测数据,设角度为等精度观测值、测角中误差为m=±8秒,鞭长光电测距、测距中误差为m=±0.8√smm,根据所学的‘误差理论与测量平差基础’提出一个最佳的平差方案,利用matlab完成该网的严密平差级精度评定计算; 平差程序设计思路: 1采用间接平差方法,12个点的坐标的平差值作为参数.利用matlab进行坐标反算,求出已知坐标方位角;根据已知图形各观测方向方位角; 2计算各待定点的近似坐标,然后反算出近似方位角,近似边.计算各边坐标方位角改正数系数; 3确定角和边的权,角度权Pj=1;边长权Ps=100/S; 4计算角度和边长的误差方程系数和常数项,列出误差方程系数矩阵B,算出Nbb=B’PB,W=B’Pl,参数改正数x=inv(Nbb)*W;角

度和边长改正数V=Bx-l; 6 建立法方程和解算x,计算坐标平差值, 精度计算;程序代码以及说明: s10=238.619;s20=170.759; s30=217.869;s40=318.173; s50=245.635;s60=215.514; s70=273.829;s80=241.560; s90=224.996;s100=261.826; s110=279.840;s120=346.443; s130=312.109;s140=197.637; %已知点间距离 Xa=5256.953;Ya=4520.068; Xb=5163.752;Yb=4281.277; Xc=3659.371;Yc=3621.210; Xd=4119.879;Yd=3891.607; Xe=4581.150;Ye=5345.292; Xf=4851.554;Yf=5316.953; %已知点坐标值 a0=atand((Yb-Ya)/(Xb-Xa))+180; d0=atand((Yd-Yc)/(Xd-Xc)); f0=atand((Yf-Ye)/(Xf-Xe))+360; %坐标反算方位角a1=a0+(163+45/60+4/3600)-180 a2=a1+(64+58/60+37/3600)-180; a3=a2+(250+18/60+11/3600)-180;

【汇编语言程序设计】试题及答案合集

《汇编语言程序设计试题及答案》合集 汇编语言程序设计试题及答案 1.对于有符号的数来说,下列哪个值最大(D) A:0F8H B:11010011B C:82 D:123Q 2.下列有关汇编语言中标号的命名规则中,错误的是(D) A:通常由字母打头的字符、数字串组成 B:标号长度不能超过31个字符 C:?和$不能单独作为标号 D:.号不可位于标号首 3.8088/8086存储器分段,每个段不超过(D ) A.64K个字 B.32K个字节 C.1兆个字节 D.64K个字节 4.寻址指令MOV CX, [BX + DI + 20]使用的是哪一种寻址方式(B)A:寄存器寻址B:相对基址变址寻址 C:变址寻址D:基址变址寻址 5.若AX= - 15要得到AX=15应执行的指令是(A ) A.NEG AX B.NOT AX C.INC AX D.DEC AX 6.8086/8088系统执行传送指令MOV时( A) A.不影响标志位 B.影响DF方向标志 C.影响SF符号标志 D.影响CF进位标志 7.若要求一个操作数中的若干位维持不变,若干位置?1?,可以使用(B)A:NOT B:OR C:AND D:XOR 8.下列指令中段默认为堆栈段的是( C) A.MOV AX,[BX+SI+10] B.ADD AX,ES:[SI] C.SUB [BX],[BP][DI] D. MOV DX,[1000H] 9.关于8086/8088微机系列,下列说法哪个是正确的(D) A:一个存储单元由16个二进制位组成,简称字。

B:当存储一个字数据时,低字节放高地址位,高字节放低地址位。 C:在内存空间中,可以无限分配段,且段的大小不受限制。 D:段与段之间可以邻接,也可以重叠。 10.下列关于堆栈的说法,错误的是(D) A:以?先入后出?为原则。 B:栈区最高地址单元的前一个单元为栈底。 C:运行中SP寄存器动态跟踪栈顶位置。 D:压栈和弹出都是以字节为单位。 11.表示过程定义结束的伪指令是( A) A.ENDP B.ENDS C.END D.ENDM 12.BUF1 DB 3 DUP(0,2 DUP (1,2),3) COUNT EQU $-BUF1 符号COUNT等价的值是( B) A.6 B.18 C.16 D.9 13.下列标志位中,可以用来判断计算结果正负的是(B) A:PF B:SF C:DF D:OF 14.下列指令正确的是( CD) A. MOV [100H], [BX] B.MOV DS, ES C. ADD V[BX], CX D.MOV AX, 34H 15.下列哪个寄存器是属于指针寄存器(C) A:SI B:DX C:SP D:ES 二、填空题 (每小题4 分,共 20 分) 1.下列程序段求数组FLD的平均值,结果在AL中。请将程序填写完整(不考虑溢出) FLD DW 10, -20, 30, -60, -71, 80, 79, 56 _LEA SI,FLD______ MOV CX, 8 XOR AX, AX

刘卫国版MATLAB程序设计与应用课后实验六八九

实验六 高层绘图操作 %第一题: 程序代码如下: x=linspace(0,2*pi,101); y=(0.5+3*sin(x)./(1+x.^2)).*cos(x); plot(x,y) 01234567 -1 -0.5 0.5 1 1.5 %第二题: %(1) 程序代码如下: x=linspace(-2*pi,2*pi,100); y1=x.^2; y2=cos(2*x); y3=y1.*y2; plot(x,y1,'b-',x,y2,'r:',x,y3,'y--'); text(4,16,'\leftarrow y1=x^2'); text(6*pi/4,-1,'\downarrow y2=cos(2*x)'); text(-1.5*pi,-2.25*pi*pi,'\uparrow y3=y1*y2');

-8 -6 -4 -2 2 4 6 8 -30-20 -10 10 20 30 40 %(2) 程序代码如下: x=linspace(-2*pi,2*pi,100); y1=x.^2; y2=cos(2*x); y3=y1.*y2; subplot(1,3,1);%分区 plot(x,y1); title('y1=x^2');%设置标题 subplot(1,3,2); plot(x,y2); title('y2=cos(2*x)'); subplot(1,3,3); plot(x,y3); title('y3=x^2*cos(2*x)');

-10 10 0510 15202530 35 40y1=x 2 -10 10 -1-0.8 -0.6 -0.4-0.200.20.4 0.6 0.8 1y2=cos(2*x) -10 10 -30-20 -10 10 20 30 40 y3=x 2*cos(2*x) %(3) 程序代码如下: x=linspace(-2*pi,2*pi,20); y1=x.^2; subplot(2,2,1);%分区 bar(x,y1); title('y1=x^2的条形图');%设置标题 subplot(2,2,2); stairs(x,y1); title('y1=x^2的阶梯图'); subplot(2,2,3); stem(x,y1); title('y1=x^2的杆图'); subplot(2,2,4); fill(x,y1,'r');%如果少了'r'则会出错 title('y1=x^2的填充图'); %其他的函数照样做。

软件无线电实验matlab程序

附录 (1)、SDR低通采样理论 %parameters fs = 5e4;%采样频率注意fs至少是f的2倍或2倍以上 f = 5e3;%信号的频率 N = 1024; n = 1:1024; t= n/fs; deta_t = 1/fs;%采样间隔 %signals sn = sin(2*pi*f*t);%时域采样后的信号 w = hanning(N);%加汉宁窗 sn1 = sn.*w';%加窗减少频率泄露 Sn_fft = fft(sn1);%频域信号 Sn = abs(Sn_fft); %figures figure(1); plot(t,sn); title('s(n)的时域波形'); grid on; xlabel('t'); xlim([0 0.021]); ylabel('幅度'); figure(2); xax = [-N/2:N/2-1]/N*fs/1000;%将f轴单位变为kHz plot(xax,20*log10(fftshift(Sn))); title('s(n)的频域波形'); grid on; xlabel('f(kHz)'); ylabel('幅度(dB)'); ylim([-200 100]); (2)、SDR带通采样理论 %parameters f = 1.3e3;%基频 fo = 100e6;%载波频率 N = 1024; n = 1:1024; fs = 4e3;%采样频率 t= 0:0.001:2; st = cos(2*pi*(f+fo)*n/fs);%带通抽样信号St1 = fft(st); St = abs(St1); st0 = cos(2*pi*(f+fo)*t); St0 = fft(st0); St2 = abs(St0); figure(1); plot(n,st); title('带通抽样信号时域图像'); xlabel('n'); xlim([0 1026]); ylabel('幅度'); grid on; figure(2); plot(t,st0); title('带通原始信号时域图像'); xlabel('t'); ylabel('幅度'); grid on; figure(3); xax =[-N/2:N/2-1]/N*fs/1000; plot(xax,20*log10(fftshift(St))); title('带通信号抽样后频域图像'); xlabel('f(kHz)'); ylabel('幅度(dB)'); grid on; (3)、频率调制信号 %频率调制 %parameters fs = 1e3;%抽样频率 ts = 1/fs;%采样率 N = 1024; n = 0:1:N-1; t = n/fs; kf = 100.1; A = 100; Aw = 10;

附合导线平差程序设计报告

《测量平差程序》课程设计 (报告) 学生姓名:罗正材 学号:1108030128 专业:2011级测绘工程 指导教师:肖东升

目录 一、前言 (3) 二、平差程序的基本要求 (3) 三、平差程序模块化 (3)

图1 四、平差中的重要函数 (一)、角度制与弧度制的相互转化 C/C++程序设计中,关于角度的计算以弧度制为单位,而在测量以及具体工作中我们通常习惯以角度制为单位。这样,在数据处理中,经常需要在角度制与弧度制之间进行相互转化。这里,我们利用C/C++数学函数库math.h中的相关函数完成这两种功能。 这里,我们使用double类型数据表示角度制数和弧度制数。例如:123度44分58.445秒,用double类型表示为123.4458445,其中分、秒根据小数位确定。 在角度制与弧度制的转化中,涉及如下图2所示的两个环节。 度.分秒度弧度 图2 1.角度化弧度函数 double d_h(double angle) //角度化弧度 { double a,b; angle=modf(angle,&a);//a为提取的度值(int类型),angle为分秒值(小数) angle=modf(angle*100.0,&b); // b为提取的分值(int类型),angle为秒值(小数) return (a+b/60.0+angle/36.0)*(PI+3.0E-16)/180.0; } 2.弧度化角度函数 double h_d(double angle) //弧度化角度

{ double a,b,c; angle=modf(angle*180.0/(PI-3.0E-16),&a); angle=modf(angle*60.0,&b); angle=modf(angle*60.0,&c); return a+b*0.01+c*0.0001+angle*0.0001; } 其中,函数modf(angle,&a)为C语言数学库函数,返回值有两个,以引用类型定义的a 返回angle的整数部分,函数直接返回值为angle的小数部分。 (二)近似坐标计算 在平面网间接平差计算中,近似坐标计算是非常重要的一项基础工作。近似坐标是否计算成功是间接平差是否可以进行的必要条件。 1.两方向交会 已知条件:两个点的近似坐标,这两个点到未知点的方位角,如图3所示 图3两方向交会 根据图4.2,设 1 1 α tg k=, 2 2 α tg k=,则很容易写出 ? ? ? ? ? ? - = - - = B P B P A P A P y y k x x y y k 2 1 整理该式,得两方向交会的的计算公式 ?? ? ? ? ? - - = ?? ? ? ? ? ?? ? ? ? ? - - B B A A P P y x k y x k y x k k 2 1 2 1 1 1 (4.1)对(4.1)式计算,即可得到未知点的近似坐标。应用中需要注意的是,若两方向值相同或相反,则该式无解。 程序中,定义该问题的函数为:int xy0ang(obser &a1,obser &a2) 2.三边交会 如图4所示,为排除两边长交会的二义性,给出如下三边交会的模型,已知条件:三个

汇编语言程序设计

汇编语言程序设计 一、选择题 (共72题) 1、 用于指针及变址寄存器的有()。 A、 AX,BX,CX,DX B、 SP,BP,IP C、 CS,DS,SS D、 PSW 考生答案:B 2、 完成把汇编语言源程序模块转换为目标模块的程序是()。 A、 编辑程序 B、 汇编程序 C、 连接程序 D、 调试程序 考生答案:B 3、 指令JMP FAR PTR DONE中的寻址方式属于()。 A、 段内转移直接寻址 B、 段内转移间接寻址 C、 段间转移直接寻址 D、 段间转移间接寻址 考生答案:C 4、 对于下列程序段: AGAIN:MOV AL,[SI]

MOV ES:[DI],AL INC SI INC DI LOOP AGAIN 也可用()指令完成同样的功能。 A、 REP MOVSB B、 REP LODSB C、 REP STOSB D、 REPE SCASB 考生答案:A 5、 在程序执行过程中,IP寄存器中始终保存的是()。 A、 上一条指令的首地址 B、 下一条指令的首地址 C、 正在执行指令的首地址 D、 需计算有效地址后才能确定地址 考生答案:B 6、 在汇编语言程序的开发过程中使用宏功能的顺序是()。 A、 宏定义,宏调用 B、 宏定义,宏展开 C、 宏定义,宏调用,宏展开 D、 宏定义,宏展开,宏调用 考生答案:C 7、 CPU要访问的某一存储单元的实际地址称()。 A、 段地址

偏移地址 C、 物理地址 D、 逻辑地址 考生答案:C 8、 AND、OR、XOR、NOT为四条逻辑运算指令,下面解释正确的是()。 A、 指令XOR AX,AX执行后,AX内容不变,但设置了标志位 B、 指令OR DX,1000H执行后,将DX最高位置1,其余各位置0 C、 指令AND AX,OFH执行后,分离出AL低四位 D、 NOT AX,执行后,将AX清0 考生答案:C 9、 完成对CL寄存器的内容乘以2的正确操作是()。 A、 ROL CL,1 B、 MUL 2 C、 SHL CL,1 D、 SHR CL,1 考生答案:C 10、 检查两个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMP A L,BL”指令后应跟的分支指令是()。 A、 JE LOP1 B、 JAE LOP1 C、 JC LOP1 D、 JGE LOP1 考生答案:B 11、 已知变量VAR为字型,则TYPEVAR=()。

05级通信工程、电子信息工程《MATLAB语言程序设计》考试卷

安徽农业大学2006―2007学年第二学期 《MATLAB 语言程序设计》试卷(A 卷) 考试形式: 闭卷笔试,2小时 适用专业: 05级通信工程、电子信息工程 一、填空题(本题满分30分,每空3分) 1. 设有程序 A=[1,2,3,4;4,3,2,1;1, -2 ,1, -2];B=[3,1,-1;0,4,2];A1=A(:,[1 3]); M=size(A1)+ length(B(:,2)) 将下列命令的运行结果填在横线上 M= ;A1+B' = . 2. A=[1,2,3,4;2,3,4,5;3,4,5,6]; A1=sum(A<4,2);A([2,3],:)=[],A2=A A1= ; A2= ; 3.P=[1,2,3,4;3,0,1,2];max(P)= ;mean(P,2)= 院: 专业班级: 姓名: 学号: 装 订 线

二、(本题满分12分)试编写计算程序 V; 与特征向量 U 的特征值 B 2 A 求 (4). E; 5 B A 2B BX 解矩阵 . (3) ); A B) (B(A R R 的秩 A (2). |; B) 2 B)(A (A | D (1). , 6 2 1 5 7 2 , 2 1 5 1 2 3 3 2 1 1 1 + + = + = + - = ? ? ? ? ? ? ? - = ? ? ? ? ? ? ? = - - T T T B A 方程 设

三、(本题满分8分) 的程序组写出求解超定线性方程?????? ?=++-=++=--=++1 21212:321 321321 321x x x x x x x x x x x x 四、(本题满分16分)运用符号运算功能写出下列各题Matlab 程序 解求方程03.12=-x e x Adx dx A d x wx x x xe A x ??? ????=-1 022,,cos )sin(sin .2并计算 生成符号矩阵

MATLAB程序设计实验报告

MATLAB 程序设计实验报告 一、实验目的 1. 通过实验熟悉MATLAB 仿真软件的使用方法; 2. 掌握用MATLAB 对连续信号时域分析、频域分析和s 域分析的方法,利用绘图命令绘制出典型信号的波形,了解这些信号的基本特征; 3. 掌握用MATLAB 对离散信号时域分析、频域分析和z 域分析的方法,利用绘图命令绘制出典型信号的波形,了解这些信号的基本特征; 4. 通过绘制信号运算结果的波形,了解这些信号运算对信号所起的作用。 二、实验设备 1. 计算机 : 2. MATLAB R2007a 仿真软件 三、实验原理 对系统的时域分析 信号的时域运算包括信号的相加、相乘,信号的时域变换包括信号的平移、反折、倒相及信号的尺度变换。 (1)信号的相加和相乘:已知信号)(1t f 和)(2t f ,信号相加和相乘记为 )()(1t f t f =)(2t f +;)()(1 t f t f =)(2t f *。 (2)信号的微分和积分:对于连续时间信号,其微分运算是用diff 函数来完成的,其语句格式为:diff(function,’variable’,n),其中function 表示需要进行求导运算的信号,或者被赋值的符号表达式;variable 为求导运算的独立变量;n 为求导的阶数,默认值为求一阶导数。连续信号的积分运算用int 函数来完成,语句格式为:diff(function,’variable’,a,b),其中function 表示需要进行被积信号,或者被赋值的符号表达式;variable 为求导运算的独立变量;a,b 为积分上、下限,a 和b 省略时为求不定积分。 (3)信号的平移、翻转和尺度变换 信号的平移包含信号的左移与右移,信号的翻转包含信号的倒相与折叠,平移和翻转信号不会改变信号)(t f 的面积和能量。信号的尺度变换是对信号)(t f 在时间轴上的变化,可使信号压缩或扩展。)(at f 将原波形压缩a 倍,)/(a t f 将原波形扩大a 倍。 ¥ 对系统频率特性的分析

C#附和导线平差程序设计实习报告

前言 随着测绘科学技术的不断发展,在测量数据的处理中产生很多种平差的方法。附和导线近似平差程序是利用C#编程实现的,我们需要将导线网的已知数据信息按照特定的规则输入到.txt文本中,利用C#程序读取文本数据信息后,对其进行一系列的平差计算,最终获得平差后的结果,并以.txt文本的形式输出,这样就可为测量工作提供一定的参考。 平差程序的基本要求 平差程序的设计与其他程序设计相同,应满足一定要求。 1.程序逻辑结构简单,清晰易读,符合结构化程序设计要求,便于拓展; 2.运算速度快,占用内存小,内外存储之间的交换不宜过于频繁; 3.数学模型及计算方法正确且先进,计算结果精度高; 4.适用性强,便于移植,充分考虑各种可能形式,满足不同需求; 5.方便用户,操作简单,输出明了、齐全,人机交互良好。 上述要求,既体现现在平差程序的总体设计中,也贯穿于平差程序设计的各个环节中。 平差程序中的重要函数 (一)角度制与弧度制的相互转化 C#程序设计中,关于角度的计算以弧度制为单位,而在测量工作中我们通常以角度制记录数据。所以,在数据处理中,通常需要在角度制与弧度制之间进行相互转化。这里我们需要利用相关函数完成这两种功能。 1.角度化弧度函数: static public double DEG(double ang) { int fuhao = (int)(ang / Math.Abs(ang)); ang = Math.Abs(ang); int d = (int)ang; int m = ((int)(ang * 100)) - d * 100; double s = ang * 10000 - m * 100 - d * 10000; return ((d + m / 60.0 + s / 3600.0) * fuhao) / 180.0 * Math.PI; } 2.弧度化角度函数: static public double DMS(double ang) { ang += 1.0E-15;//加上一个小量,以保证进位 int fuhao = (int)(ang / Math.Abs(ang));

相关主题