文档库 最新最全的文档下载
当前位置:文档库 › MATLAB在GPS网平差中的应用

MATLAB在GPS网平差中的应用

MATLAB在GPS网平差中的应用
MATLAB在GPS网平差中的应用

测绘程序设计—实验八 水准网平差程序设计报告

《测绘程序设计(https://www.wendangku.net/doc/d113726222.html,)》 上机实验报告 (Visual C++.Net) 班级:测绘0901班 学号:0405090204 姓名:代娅琴 2012年4月29日

实验八平差程序设计基础 一、实验目的 ?巩固过程的定义与调用 ?巩固类的创建与使用 ?巩固间接平差模型及平差计算 ?掌握平差程序设计的基本技巧与步骤 二、实验内容 水准网平差程序设计。设计一个水准网平差的程序,要求数据从文件中读取,计算部分与界面无关。 1.水准网间接平差模型: 2.计算示例:

近似高程计算:

3.水准网平差计算一般步骤 (1)读取观测数据和已知数据; (2)计算未知点高程近似值; (3)列高差观测值误差方程; (4)根据水准路线长度计算高差观测值的权; (5)组成法方程; (6)解法方程,求得未知点高程改正数及平差后高程值; (7)求高差观测值残差及平差后高差观测值; (8)精度评定; (9)输出平差结果。 4.水准网高程近似值计算算法 5.输入数据格式示例

实验代码: #pragma once class LevelControlPoint { public: LevelControlPoint(void); ~LevelControlPoint(void); public: CString strName;//点名 CString strID;//点号 float H; bool flag;//标记是否已经计算出近似高程值,若计算出则为,否则为}; class CDhObs { public: CDhObs(void); ~CDhObs(void); public: LevelControlPoint* cpBackObj;//后视点 LevelControlPoint* cpFrontObj;//前视点 double ObsValue;//高差值 double Dist;//测站的距离 }; #include"StdAfx.h" #include"LevelControlPoint.h" LevelControlPoint::LevelControlPoint(void) {

基于MATLAB的控制网平差程序设计--第六章源代码

近似坐标计算的函数-calcux0y0函数(126页) function [x0,y0]=calcux0y0(x0,y0,e,d,sid,g,f,dir,s,t,az,pn,xyknow,xyunknow,point,aa,bb,cc) %本函数的作用是计算待定点的近似坐标 format short; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% time=0;prelength=length(xyknow);non_orient=0;point_angle=0; while length(xyunknow)>0 %考虑的计算方法有:1.极坐标;2.前方交会;3.测边交会;4.后方交会; %5.无定向导线的两种情况:(1)已知两个点;(2)分离的已知点与方位角;基本思路:%采用循环的方法逐一对每一个未知点进行以上各种方法条件的搜索,满足后即解算。 aa0=[];bb0=[];cc0=[];%记录搜索到两条观测边但需用户给顺序的点,注意要放在while 里面。 time=time+1; % 用于统计循环次数。 way=0; for i=xyunknow %依次循环向量中的各元素 %============================================================= ===== %方法1.极坐标条件搜索与计算-->way=1,基本思路:找到或求出一个方位角,找出一条边。 temp1=[]; temp2=[]; temp3=[]; temp4=[]; temp5=[]; temp6=[]; temp7=[]; temp8=[]; temp9=[]; temp10=[];A=[];B=[];P=[]; %第一步:寻找观测条件:两种情况:一是有已知方位角;二是由两个已知点及方向观测值推出方位角。 temp7=find(t==i); if length(temp7)>0 temp8=find(xyknow==s(temp7(1))); if length(temp8)>0 temp9=find(e==s(temp7(1))&d==t(temp7(1))|e==t(temp7(1))&d==s(temp7(1))); if length(temp9)>0 %第一种情况:有已知方位角(一般适用于闭合导线) S=mean(sid(temp9)); Alfa0=az(temp7(1)); x0(i)=x0(s(temp7(1)))+S*cos(Alfa0); y0(i)=y0(s(temp7(1)))+S*sin(Alfa0); way=1;method(i)=11;%----->由已知方位角算出 end end else temp1=find(f==i);%第二种情况:由两个已知点及方向观测值推出方位角(适用于附合、支导线) if length(temp1)>0 for j=xyknow

边角三角网平差程序的设计书

边角三角网平差程序设计书 一、课程设计的目的 学生在学习完误差理论与测量平差基础、测量平差程序设计基础等课程的基础上,设计一个完整的测量数据处理程序,培养学生综合应用量数据处理与计算机应用能力,培养学生主动学习,创新设计能力。 二、课程设计的任务和内容 1.课程设计任务: 在两周的时间内应用者Matlab程序设计语言编制一个完整的边角网严密平差程序,要求有简易的界面,数据输入采用文本输入,采用间接平差模型完成平差的基本计算,能够画出控制网图,输出基本的计算结果,并根据设计过程完成设计报告。 程序设计主要内容包括: 系统功能设计 界面设计 流程设计 代码书写 程序调试 三、课程设计阶段 准备阶段 研究设计任务书,分析设计题目,熟悉原始数据,明确设计内容和要求;制定课程设计计划和进度。 熟悉算法模型 阅读误差理论与测量平差基础教材,掌握平面控制网数据处理的数学模型,

这里主要是指方向观测量、角度观测量、边长观测量的观测方程和误差方程的构成,研究平面观测数据的组织方法,设计Matlab算法,实现计算的自动表达。 功能设计阶段设计程序要实现的功能 平差程序的基本功能包括数据的输入,平差计算,精度评定、成果输出等; 4.流程和界面设计阶段 根据平差计算的过程和程序功能,画出流程图,设计简易界面实现数据的输入和平差计算和成果输出。在此基础上,根据功能要求,设计简便的界面。 5.代码书写和调试阶段 按照计算流程图和界面设计,根据方向观测值,边长观测值的误差方程的组成,设计Matlab算法,实现误差方程的自动构成,分阶段书写代码,调试实现各个阶段的功能。 6.设计报告撰写阶段 设计报告是对整个设计过程进行综合总结提高,内容包括课设的目的意义、程序设计的内容、算法设计、设计心得等根据设计过程和对测量数据处理以及程序设计的理解进行独立撰写。 四、组织方式进度安排 以小组为单位,每小组5-6人,分工合作共同完成程序设计任务,时间两周, 进度安 排如下:

水准网间接平差程序设计(C++)

//////////////////////////////////////////////////// // visual C++6.0 编译通过 // //////////////////////////////////////////////////// /////////////////////////////////////////////////// // 参考资料 // // 部分网络资料 // // 宋力杰《测量平差程序设计》 // //连壁《基于matlab的控制网平差程序设计》 // /////////////////////////////////////////////////// #include #include #include #include #include using namespace std; //////////////////////////////////////////////////////////////////////////class class SZWPC { private: int gcz_zs; //高差总数 int szd_zs; //总点数 int yz_szd_zs; //已知点数 double m_pvv; //[pvv] int *qsd_dh; //高差起点号 int *zd_dh; //高差终点号 char **dm; //点名地址数组 double *gcz; //观测值数组 double *szd_gc; //高程值数组 double *P; //观测值的权 double *ATPA,*ATPL; //法方程系数矩阵与自由项 double *dX; //高程改正数、平差值 double *V; //残差 double m_mu; //单位权中误差 public: SZWPC(); ~SZWPC(); int ij(int i,int j);//对称矩阵下标计算函数 bool inverse(double a[],int n);//对称正定矩阵求逆(仅存下三角元素)(参考他人)

施工控制网的布设

海南省红岭灌区工程东干渠土建施工第Ⅰ标段 施工控制网布设 批准: 审核: 编制: 中国水利水电第十一工程局有限公司红岭灌区工程东干I标施工项目部 2016年2月28日 一、工程概况 东灌区系统的控灌面积为万亩,其中新增灌溉面积万亩,保灌面积万亩,改善灌溉面积万亩。渠首由总干渠分水闸分水,设计流量为 s,加大流量 46 m3/s,灌溉定安、琼海、文昌和海口等 4 个市县的24 个镇与 8 个农场区域内的耕地。渠首设计水位为,加大水位为,渠道底高程为。 东干渠设 3 条分干渠、20 条支渠、2 条水库补水渠、1 个水库补水口及 15

条干斗等 42 个分(补)水口,分别设置相应的分水闸控制流量,干渠全长。 本工程第1标段为桩号 0+000~27+551 段是连接 1#渡槽首端至 16#渡槽渐变段首端的渠段,全长,设计流量为 40m3/s,加大流量 s。本段渠系共布置有渡槽14座、倒虹吸1座、暗涵1座、隧洞1座、节制泄水闸3座、分水闸 2 座等渠系建筑物。 二、控制网布设原则 平面控制网原则 各级GPS网一般逐级布设,在保证精度、密度等技术要求时可跨级布设。 各级GPS网的布设应根据其布设目的、精度要求、卫星状况、接收机类型和数量、测区已有的资料、测区地形和交通状况以及作业效率等因素综合考虑,按照优化设计原则进行。 各级GPS网最简异步观测环或附合路线的边数应不大于表1的规定。 表1 各级GPS网点位应均匀分布,相邻点间距离最大不宜超过该网平均点间距的2倍。 各级GPS网按观测方法可采用基于A级点、区域卫星连续运行基准站网、临时连续运行基准站网等的点观测模式,或以多个同步观测环为基本组成的网观测模式。网观测模式中的同步环之间,应以边连接或点连接的方式进行网的构建。 高程联测原则 、B级网应逐点联测高程,C级网应根据区域似大地水准面精化要求联测高程,D、E级网可依具体情况联测高程。 A、B级网点的高程联测精度应不低于二等水准测量精度,C级网点的高程联测精度应不低于三等水准测量精度,D、E级网点按四等水准测量或与其精度相当的方法进行高程联测。各级网高程联测的测量方法和技术要求应按GB/T l2897或GB/T l2898规定执行。 水准联测点应均匀分布整个测区,未知点正常高程的求解因采用内插的方法。

测绘程序设计实验八水准网平差程序设计报告完整版

测绘程序设计实验八水准网平差程序设计报告 Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】

《测绘程序设计》上机实验报告 (Visual C++.Net) 班级:测绘0901班 学号: 04 姓名:代娅琴 2012年4月29日

实验八平差程序设计基础 一、实验目的 巩固过程的定义与调用 巩固类的创建与使用 巩固间接平差模型及平差计算 掌握平差程序设计的基本技巧与步骤 二、实验内容 水准网平差程序设计。设计一个水准网平差的程序,要求数据从文件中读取,计算部分与界面无关。 1.水准网间接平差模型: 2.计算示例:

近似高程计算: 3.水准网平差计算一般步骤 (1)读取观测数据和已知数据; (2)计算未知点高程近似值; (3)列高差观测值误差方程; (4)根据水准路线长度计算高差观测值的权; (5)组成法方程; (6)解法方程,求得未知点高程改正数及平差后高程值; (7)求高差观测值残差及平差后高差观测值; (8)精度评定; (9)输出平差结果。 4.水准网高程近似值计算算法

5.输入数据格式示例 实验代码: #pragma once class LevelControlPoint { public: LevelControlPoint(void); ~LevelControlPoint(void);

public: CString strName;trName=pstrData[0]; m_pKnownPoint[i].strID=pstrData[0]; m_pKnownPoint[i].H=_tstof(pstrData[1]); m_pKnownPoint[i].flag=1;trName=pstrData[i]; m_pUnknownPoint[i].strID=pstrData[i]; m_pUnknownPoint[i].H=0;lag=0;pBackObj=SearchPointUsingID(pstrData[0]);pFrontObj=Sea rchPointUsingID(pstrData[1]);ObsValue=_tstof(pstrData[2]);ist=_tstof(pstrData[3]);trID==ID) {return &m_pKnownPoint[i];} } return NULL; } trID==ID) {return &m_pUnknownPoint[i];} } return NULL; } LevelControlPoint* AdjustLevel::SearchPointUsingID(CString ID) { LevelControlPoint* cp; cp=SearchKnownPointUsingID(ID); if(cp==NULL) cp=SearchUnknownPointUsingID(ID); return cp; } void AdjustLevel::ApproHeignt(void)lag!=1) { pFrontObj->strID==m_pUnknownPoint[i].strID) && m_pDhObs[j].cpBackObj->flag==1 ) { =m_pDhObs[i].cpBackObj->H - m_pDhObs[i].ObsValue;*/ m_pUnknownPoint[i].H=m_pDhObs[j].cpBackObj->H + m_pDhObs[j].HObsValue; m_pUnknownPoint[i].flag=1; break; } } if(m_pUnknownPoint[i].flag!=1)pBackObj- >strID==m_pUnknownPoint[i].strID) && m_pDhObs[j].cpFrontObj->flag==1 ) { =m_pDhObs[j].cpFrontObj->H-m_pDhObs[j].HObsValue;

差分方程的解法分析及MATLAB实现(程序)

差分方程的解法分析及MATLAB 实现(程序) 摘自:张登奇,彭仕玉.差分方程的解法分析及其MATLAB 实现[J]. 湖南理工学院学报.2014(03) 引言 线性常系数差分方程是描述线性时不变离散时间系统的数学模型,求解差分方程是分析离散时间系统的重要内容.在《信号与系统》课程中介绍的求解方法主要有迭代法、时域经典法、双零法和变换域 法[1]. 1 迭代法 例1 已知离散系统的差分方程为)1(3 1)()2(81)1(43)(-+=-+--n x n x n y n y n y ,激励信号为)()4 3()(n u n x n =,初始状态为21)2(4)1(=-=-y y ,.求系统响应. 根据激励信号和初始状态,手工依次迭代可算出24 59)1(,25)0(==y y . 利用MATLAB 中的filter 函数实现迭代过程的m 程序如下: clc;clear;format compact; a=[1,-3/4,1/8],b=[1,1/3,0], %输入差分方程系数向量,不足补0对齐 n=0:10;xn=(3/4).^n, %输入激励信号 zx=[0,0],zy=[4,12], %输入初始状态 zi=filtic(b,a,zy,zx),%计算等效初始条件 [yn,zf]=filter(b,a,xn,zi),%迭代计算输出和后段等效初始条件 2 时域经典法 用时域经典法求解差分方程:先求齐次解;再将激励信号代入方程右端化简得自由项,根据自由项形 式求特解;然后根据边界条件求完全解[3].用时域经典法求解例1的基本步骤如下. (1)求齐次解.特征方程为081432=+-αα,可算出4 1 , 2121==αα.高阶特征根可用MATLAB 的roots 函数计算.齐次解为. 0 , )4 1()21()(21≥+=n C C n y n n h (2)求方程的特解.将)()4 3()(n u n x n =代入差分方程右端得自由项为 ?????≥?==-?+-1,)4 3(9130 ,1)1()43(31)()43(1n n n u n u n n n 当1≥n 时,特解可设为n p D n y )4 3()(=,代入差分方程求得213=D . (3)利用边界条件求完全解.当n =0时迭代求出25)0(=y ,当n ≥1时,完全解的形式为 ,)4 3(213 )41()21()(21n n n C C n y ?++=选择求完全解系数的边界条件可参考文[4]选)1(),0(-y y .根据边界条件求得35,31721=-=C C .注意完全解的表达式只适于特解成立的n 取值范围,其他点要用 )(n δ及其延迟表示,如果其值符合表达式则可合并处理.差分方程的完全解为

基于MATLAB的控制网平差程序设计--第四章源代码

chkdat函数(72页) function [n1,k]=chkdat(sd,pn,n1) n=length(n1); k=0; for i=1:n i1=0; for j=1:sd if(n1(i)==pn(j)) i1=1; n1(i)=j; break; end end if(i1==0) % fprintf(fit2,'%5d %5d\n',i,n1(i) k=1; end end return readlevelnetdata函数(73页) function [ed,dd,sd,gd,pn,h0,k1,k2,h1,s]=readlevelnetdata global filename filepath; global ed dd sd pn gd h0 k1 k2 h1 s k11 k12; k1=[];k2=[];h=[];s=[]; [filename,filepath]=uigetfile('*.txt','选择高程数据文件'); fid1=fopen(strcat(filepath,filename),'rt'); if(fid1==-1) msgbox('Input File or Path is not correct','Warning','warn'); return; end ed=fscanf(fid1,'%f',1); dd=fscanf(fid1,'%f',1); sd=ed+dd; gd=fscanf(fid1,'%f',1); pn=fscanf(fid1,'%f',sd); h0=fscanf(fid1,'%f',ed); h0(dd+1:ed+dd)=h0(1:ed); heightdiff=fscanf(fid1,'%f',[4,gd]); heightdiff=heightdiff'; k1=heightdiff(:,1);%起点 k2=heightdiff(:,2);%终点 k11=heightdiff(:,1);%起点

单一附合导线测量控制网平差程序

单一符合导线测量控制网平差程序 梁彩艳 (西北石油局工程服务大队,新疆乌鲁木齐830011) 摘要:由于全站仪(光电仪) 的不断普及,导线布网已在测量控制网中广泛应用。为了简化计算,提高平差精度,节约 平差经费,结合实际工作中的一个实例,运用PC —E500 计算器编制了单一符合导线高斯平差程序。 关键词:单一;符合导线;平差程序 1 差原理及程序框图(见图1) 2 实例 在单一符合导线(如图2) 中,已知各起始数据,观测了各折 角方向值,测量了各边长(见表1) ,观测方向中误差δr = ±5″,边长丈量中误差δsi = ±0. 5 simm ,求各导线点的坐标平差值和最弱点4 号点的点位精度(可假设单位权中误差δ0 = ±5″,则观测角权为0. 5 ,观测边权Psi = 100/ Si) 。 图2 单一符合导线示意图 表1 测量数据一览表 点号 已知坐标(m) X Y 编号 已知坐标

方位角 B 3020. 348 - 9049. 801 αAB 226°44′59″ C 3702. 437 - 10133. 399 αC D 57°59′31″ 编号观测角度编号 观测边长 (m) 1 230°32′37″ 1 204. 952 2 180°00′42″ 2 200. 130 3 170°39′22″ 3 345. 153 4 236°48′37″ 4 278. 059 5 192°14′25″ 5 451. 692 6 260°59′01″ 3 平差程序 10 :REM SUB 10 - 190 QIU DAO XIAN DIAN GAI LUE ZUO BIAO 20 :REM SHU ZU”A”WEI FANG WEI J IAO ,”B”WEI GUAN CE ZUO J IAO ,”S”WEI BIAN CHANG,”P”WEI QUAN ,”V”WEI GAI ZHENG SHU ,”MX、MY、M”WEI DAI QIU DIAN ZHONG WU CHA ,”X、Y”WEI ZUO BIAO 30 : INPUT”GUAN CE J IAO GE SHU :N = ”;N 40 :DIM A (N) ,B (N) ,S (N) ,X(2 3 N) , Y(2 3 N) , P (2 3

水准网平差(VB代码)

(误差理论与测量平差础) 课程设计报告 系(部):土木工程系 实习单位:山东交通学院 班级:测绘084 学生姓名:田忠星学号0 带队教师:夏小裕﹑周宝兴 时间:10 年12 月13日到10 年12 月19日 山东交通学院 目录: 1.摘要P3 2.概述P3 3.水准网间接平差程序设计思路P3—P4 4. 平差程序流程图P4—P6 5. 程序源代码及说明P7—P23 6. 计算结果P23—P26 7. 总结P26—P27 一:摘要 在测量工作中,为了能及时发现错误和提高测量成果的精度,常作多余观测,这就产生了平差问题。在一个平差问题中,当所选的独立参数X?的个数等于必要观测数t时,可将每个观测值表达成这t个参数的函数,组成观测方程,这种以观测方程为函数模型的平差方法,就是间接平差。

二:概述: 该课程设计的主要目是对水准网进行间接平差,在输入数据后依次计算高程近似值﹑误差方程和平差计算。 三:水准网间接平差程序设计思路 1.根据平差问题的性质,选择t 个独立量(既未知点的高程) 作为参数X ? 2. 将每一个观测量的平差值(既观测的高程差值)分别表达成 3.由误差方程系数B 和自由项组成法方程,法方程个数等于参数的个数t ; 4. 解算法方程,求出参数X ?,计算参数(高程)的平差值 X ?=X 0 +x ? ; 5.由误差方程计算V ,求出观测量(高差)平差值 6.评定精度 单位权中误差 平差值函数的中误差 四:平差程序流程图 1. 已知数据的输入 需要输入的数据包括水准网中已知点数﹑未知点数以及这些点的点号,已知高程和高差观测值﹑距离观测值。程序采用文件方式进行输入,约定文件输入的格式如下: 第一行:已知点数﹑未知点数﹑观测值个数 第二行:点号(已知点在前,未知点在后) V L L +=∧

水平控制网的布设程序的设计书

水平控制网的布设程序设 计书 §1 水平控制网的布设程序 建立水平控制网的程序 一、设计 1.了解任务 弄清用途(涉及精度,密度)、围(涉及首级等级、分级多少)、然后确定布设规格、等级、精度。 2.收集资料 ①测区已有的控制网成果资料。 ②测区小比例尺地形图。了解地形地貌、图上设计之用。 ③有关气象和地质方面的资料,用以考虑作业时间,觇标结构,埋石深度等。 3.测区踏勘 ①落实原有控制点的现状,决定是否仍可利用。 ②了解测区行政划分、居民、风土人文,以便测绘队进驻后能顺利开展工作。 ③了解测区交通、水源等情况,以便确定水准路线,配置交通工具、施工设备物资等。 4.图上设计 ①展绘已知点、网。 ②图上选点、组成网形。 一般应顾及: 图形结构良好;便于扩展和加密;顾及旁折光的影响;便于保存;避免造高标;避免在旧点附近另埋标石;离开高压线、公路、铁路一定距离。 ③精度估算(另讲) ④拟定水准联测路线,以便控制通过三角高程测量推算三角点高程中的误差积累。 5.实地选点(另讲) 6.编制技术设计书 技术设计书包括: ①任务委托书。包括委托单位、作业目的、围、工期等。 ②测区概况。包括自然地理条件、行政区划、人文等。 ③已有测量成果及其来源、精度分析、可用性论证。 ④坐标系统的选择及处理的论证,起始数据的配置和处理。 ⑤水平控制网布设方案。包括首级网的等级和布网方式;加密网的设计;精度估算过程及结果;精度统计表。

⑥高程网布设方案。包括水准网等级,路线长度,精度估算简要过程及结果;三角高程网形,精度估算过程及结果等。 ⑦技术依据及作业方法。包括执行何种规,仪器的选择及检验项目;观测方法及各项限差;概算容和平差方法等。 ⑧各种设计图表。包括水平、高程控制网略图;标石、觇标构造,规格,埋设方法示意图;工作量综合计算及工作进程计划表;装备,仪器,材料及经费预算表。 ⑨作业完成后应上交的资料清单。 ⑩领导部门的指示及审核意见。 二、施工 1.造标,埋石 在实地用觇标和标石标出控制点。 2.观测 测角,量边,测高差。 三、数据处理 1.概算 将以水准面为基准的观测成果归算到参考椭球上,再投影到高斯平面上。 2.平差及精度评定 平差:消除几何矛盾,提高精度,得到控制点坐标的最或然值。 精度评定:确定控制网及网中各推算元素的精度指标。 练习及作业: 阅读:p49,第二章,§2.7 §2 水平控制网的精度估算 一、精度估算的意义和方法 1.精度估算的意义 精度估算即是在控制网的设计阶段,预计控制网推算元素可能达到的精度,以便确定合理的布网方案及作业方法。使即将建立的控制网,既能达到使用所要求的精度,又避免盲目追求精度造成浪费。 2.精度估算的方法 电算法 根据间接平差原理,有误差方程: l x B V -=? (《平差基础》式5-1-7) 式中:V ——观测值的改正数 B ——系数阵 x ?——参数的最或然估计值,坐标平差中的坐标平差值 l —常量 由误差方程组成法方程: 0?=-Pl B x PB B T T (《平差基础》式5-1-10) 即 0?=-W x N 解法方程得到平差值:

基于MATLAB的线性常系数差分方程求解

天津城市建设学院 课程设计任务书 2012 —2013 学年第 1 学期 计算机与信息工程 学院 电子信息工程 系 专业 课程设计名称: 数字信号处理 设计题目: 基于MATLAB 的线性常系数差分方程求解 完成期限:自2012 年 12月 17 日至 2012 年 12月 28 日共 2 周 设计依据、要求及主要内容: 一.课程设计依据 《数字信号处理》是电子信息类专业极其重要的一门专业基础课程,这门课程是将信号和系统抽象成离散的数学模型,并从数学分析的角度分别讨论信号、系统、信号经过系统、系统设计(主要是滤波器)等问题。 采用仿真可帮助学生加强理解,在掌握数字信号处理相关理论的基础上,根据数字信号处理课程所学知识,利用Matlab 对线性常系数方程进行求解,分析不同初始条件对解的影响。 二.课程设计内容 1、自行产生一个序列,对序列进行差分运算,并画出差分序列的时域波形图; 2、已知一个二阶线性常系数差分方程用下式表示 y(n)+a1y(n-1)+a2y(n-2)= b0x(n)+b1x(n-1)+b2x(n-2) 要求:(1)参数a1、a2、b0、b1、b2由运行时输入;(2)已知输入()0.5()n x n u n 画出x(n)的时域波形图;(3)求出x(n )的共轭对称分量e ()x n 和共轭反对称分量o ()x n ,并分别画出时域波形图;(4) 初始条件由运行时输入,求输出y(n),并画出其波形;(5)对于不同的初始条件分析其输出是否一致,从中得出什么结论。 三.课程设计要求 1. 要求独立完成设计任务。 2. 课程设计说明书封面格式要求见《天津城市建设学院课程设计教学工作规范》附表1 3. 课程设计的说明书要求简洁、通顺,计算正确,图纸表达内容完整、清楚、规范。 4. 测试要求:根据题目的特点,编写Matlab 程序,绘制结果图形,并从理论上进行分析。 5. 课设说明书要求: 1) 说明题目的设计原理和思路、采用方法及设计流程。 2) 详细介绍运用的理论知识和主要的Matlab 程序。 3) 绘制结果图形并对仿真结果进行详细的分析。

用matlab实现线性常系数差分方程的求解

数字信号处理课程设计 题目:试实现线性常系数差分方程的求解 学院: 专业: 班级: 学号: 组员: 指导教师:

题目:用Matlab 实现线性常系数差分方程求解 一. 设计要求 1. 掌握线性常系数差分方程的求解 2. 熟练掌握Matlab 基本操作和各类函数调用 3. 结合Matlab 实现线性常系数差分方程的求解 二.设计原理 1.差分与差分方程 与连续时间信号的微分及积分运算相对应,离散时间信号有差分及序列求和运算。设有序列f(k),则称…,f(k+2),f(k+1),…,f(k -1),f(k -2),…为f(k)的移位序列。序列的差分可以分为前向差分和后向差分。一阶前向差分定义为 ()(1)()f k f k f k ?=+- (3.1—1) 一阶后向差分定义为 ()()(1)f k f k f k ?=-- (3.1—2) 式中Δ和Δ称为差分算子。由式(3.1—1)和式(3.1—2)可见,前向差分与后向差分的关系为 ()(1)f k f k ?=?- (3.1—3) 二者仅移位不同,没有原则上的差别,因而它们的性质也相同。此处主要采用后向差分,并简称其为差分。 由查分的定义,若有序列1()f k 、2()f k 和常数1a ,2a 则 1122112211221112221122[()()][()()][(1)(1)][()(1)][()(1)]()() a f k a f k a f k a f k a f k a f k a f k f k a f k f k a f k a f k ?+=+--+-=--+--=?+? (3.1—4) 这表明差分运算具有线性性质。 二阶差分可定义为 2()[()][()(1)]()(1) ()2(1)(2) f k f k f k f k f k f k f k f k f k ?=??=?--=?-?-=--+- (3.1—5) 类似的,可定义三阶、四阶、…、n 阶差分。一般地,n 阶差分

测绘程序设计—实验八 水准网平差程序设计报告

《测绘程序设计》 上机实验报告 (Visual C++.Net) 班级:测绘0901班 学号: 04 姓名:代娅琴 2012年4月29日 实验八平差程序设计基础 一、实验目的 巩固过程的定义与调用 巩固类的创建与使用 巩固间接平差模型及平差计算 掌握平差程序设计的基本技巧与步骤 二、实验内容 水准网平差程序设计。设计一个水准网平差的程序,要求数据从文件中读取,计算部分与界面无关。 1.水准网间接平差模型: 2.计算示例: 近似高程计算: 3.水准网平差计算一般步骤 (1)读取观测数据和已知数据; (2)计算未知点高程近似值; (3)列高差观测值误差方程; (4)根据水准路线长度计算高差观测值的权;

(5)组成法方程; (6)解法方程,求得未知点高程改正数及平差后高程值; (7)求高差观测值残差及平差后高差观测值; (8)精度评定; (9)输出平差结果。 4.水准网高程近似值计算算法 5.输入数据格式示例 实验代码: #pragma once class LevelControlPoint { public: LevelControlPoint(void); ~LevelControlPoint(void); public: CString strName;trName=pstrData[0]; m_pKnownPoint[i].strID=pstrData[0]; m_pKnownPoint[i].H=_tstof(pstrData[1]); m_pKnownPoint[i].flag=1;trName=pstrData[i]; m_pUnknownPoint[i].strID=pstrData[i]; m_pUnknownPoint[i].H=0;lag=0;pBackObj=SearchPointUsingID(pstrData[0]);pFrontObj=SearchPointUsingI D(pstrData[1]);ObsValue=_tstof(pstrData[2]);ist=_tstof(pstrData[3]);trID==ID) {return &m_pKnownPoint[i];} } return NULL; } trID==ID) {return &m_pUnknownPoint[i];} } return NULL; } LevelControlPoint* AdjustLevel::SearchPointUsingID(CString ID) { LevelControlPoint* cp; cp=SearchKnownPointUsingID(ID); if(cp==NULL) cp=SearchUnknownPointUsingID(ID); return cp; } void AdjustLevel::ApproHeignt(void)lag!=1) { pFrontObj->strID==m_pUnknownPoint[i].strID) && m_pDhObs[j].cpBackObj->flag==1 ) { =m_pDhObs[i].cpBackObj->H - m_pDhObs[i].ObsValue;*/ m_pUnknownPoint[i].H=m_pDhObs[j].cpBackObj->H + m_pDhObs[j].HObsValue; m_pUnknownPoint[i].flag=1;

用MATLAB仿真离散系统差分方程

HEFEI UNIVERSITY 信号与系统项目设计报告 系别电子信息与电子工程系 题目项目第十题 专业电子信息工程 班级 11电子信息工程(2)班 小组成员钟文俊(1105012012)谢伟明(1105012041)授课老师纪平 完成时间 2014.01.02

用MATLAB仿真离散系统差分方程 一、设计题目 -n f - + - n n n y y n = y f (- ( )2 ) ( )1 ( 5.0 .0 ) 25 ( )1 + 系统输入序列为) f nε =。 n (n )5.0( ) ( 二、设计要求 1、试用MATLAB绘出输入序列的时域波形; 2、用MATLAB求出该系统0~20区间的样值; 3、用MATLAB画出系统的零状态响应波形。 三、功能分析 差分方程反映的是关于离散变量的取值与变化规律。通过建立一个或几个离散变量取值所满足的平衡关系,从而建立差分方程。差分方程就是针对要解决的目标,引路系统或过程中的离散变量,根据实际背景的规律、性质、平衡关系,建立离散变量所满足的平衡关系等式,从而建立差分方程。通过求出和分析方程的解,或者分析得到方程解的特别性质(平衡性、稳定性、渐近性、振动性周期性等),从而把握这个离散变量的变化过程的规律,进步再结合其他分析,得到原问题的解。 四、设计原理分析 1、差分方程定义 含有未知函数yt=f(t)以及yt的差分Dyt, D2yt,…的函数方程,称为常差分方程(简称差分方程);出现在差分方程中的差分的最高阶数,称为差分方程的阶。n阶差分方程的一般形式为F(t,yt,Dyt,…, Dnyt)=0,其中F是t,yt, Dyt,…, Dnyt的已知函数,且Dnyt一定要在方程中出现。 含有两个或两个以上函数值yt,yt+1,…的函数方程,称为(常)差分方程,出现在差分方程中未知函数下标的最大差,称为差分方程的阶。n阶差分方程的一般形式为F(t,yt,yt+1,…,yt+n)=0,其中F为t,yt,yt+1,…,yt+n的已知函数,且yt和yt+n一定要在差分方程中出现。 2、差分方程的意义与应用 差分方程模型有着广泛的应用。实际上,连续变量可以用离散变量来近似逼

怎么用matlab把传递函数转成差分方程

怎么用matlab把传递函数转成差分方程 以下是PID控制的部分代码(matlab的m文件): ts=;采样时间= sys=tf(400,[1,50,0]);建立被控对象传递函数 dsys=c2d(sys,ts,'z');把传递函数离散化(问题1) [num,den]=tfdata(dsys,'v');离散化后提取分子、分母 rin=;输入为阶跃信号 u_1=; u_2=; 什么东西的初始状态(问题2) y_1=; y_2=; 是不是输出的初始状态 error_1=0;初始误差 x=[0 0 0]';PID的3个参数Kp Ki Kd组成的数组 p=100;仿真时间100ms for k=1:1:p r(k)=rin; u(k)=kpidi(1)*x(1)+kpidi(2)*x(2)+kpidi(3)*x(3) if u(k)>=10 u(k)=10; end if u(k)<=-10 u(k)=-10; end yout(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2;(问题3) error(k)=r(k)-yout(k); %返回pid参数 u_2=u_1;u_1=u(k); y_2=y_1;y_1=yout(k); x(1)=error(k); x(2)=(error(k)-error_1)/ts; x(3)=x(3)+error(k)*ts; error_2=error_1; error_1=error(k); end 问题1:把传递函数离散化[SYSD,G]=C2D(SYSC,Ts,METHOD)这里面的method有好多种,而且用的method不一样得出的结果也不一样,这些参数究竟有什么区别(不要把matlab的help 给我翻译一遍,帮忙解释详细点)

控制网平差软件介绍

控制网平差软件介绍 NASEW概况 NASE始于1992年8月的1.0版, 到1992年12月1.6版通过省级鉴定. 1993年5月的2.0版经测绘出版社正式出版, 版本号: ISBN 7-5030-0708-7/P.249 NASEW 95 (v1.0) 是在原NASE v2.40A 的基础上, 结合测绘行业和计算机技术的新发展, 于1995年推出的WINDOWS 版本. 自1992年NASE在许多测绘单位使用以来收到了大量的反馈信息和改进意见, 作者在NASEW 的研制中充分考虑了这些宝贵的意见, 谨借此表示诚挚的谢意! NASEW与NASE数据文件兼容, 保留了原NASE中诸优点, 同时在实用性和易用性上又下了大量的功夫, 且 NASEW与支持各种全站仪进行等级测量的<ELER 电子测量记簿> 保持了程序级的连接, 真正实现了从数据采集, 记簿整理, 平差和成果打印的一体化. NASEW具有如下特点: 1. 适用于任意形式任意规模的平面和高程控制网的概算, 平差和设计, 无需编码. 2. 自动求解控制网各种路线闭合差, 提供了多种粗差定位和自动剔除功能. 具有如验后定权法等多种平差方法可选. 3. 具有现代电子表格效能的数据编辑和操作环境, 输入中坐标, 高程, 差值等自动计算, 并辅以网图动态显示. 观测输入具有标准格式和多种常用网格式可选, 还可自定格式. 具有内联的文本编辑方式可选. 4. 提供了与打印机和纸张自适应的网图打印, 成果打印, 格式和有效位数等可控易控, 并具有打印前的预显功能. 5. 操作上简单易学, 图, 文, 数, 控四者融为一体, 具有丰富的说明和联机帮助. 具有工作现场保护功能. 6. 互用性强, 支持网内多区域数据合并. 可直接读入ELER电子测量记簿的整理数据, 可直接更新EPSW电子平板的KNW文件, 可直接读入武测平差系统的数据文件. NASEW 是商品化的测量专业软件, 保证合理的后续服务, 欢迎用户提出宝贵的意见和建议. NASEW入门 1. NASEW 的运行环境 NASEW 要求在WINDOWS 3.1 上运行, 所有提示, 说明, 帮助均为中文, 所以要求WINDOWS 系统具有中文环境. NASEW 的所有操作和命令既支持键盘又支持鼠标, 鼠标操作更加方便灵活. 2. 控制网处理过程的支持 数据录入, 概算, 闭合差计算, 平差和精度评定是控制网处理的基本过程: 1). 数据录入: 分文件数据读入和直接键入两种. 凡符合NASEW文件系统的数据均可读入, 无需手工键入, 特别是由ELER 电子记簿采集的数据

水准网间接平差程序设计(C++)

水准网间接平差程序设 计(C++) -CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

//////////////////////////////////////////////////// // visual C++ 编译通过 // //////////////////////////////////////////////////// /////////////////////////////////////////////////// // 参考资料 // // 部分网络资料 // // 宋力杰《测量平差程序设计》 // //姚连壁《基于matlab的控制网平差程序设计》 // /////////////////////////////////////////////////// #include #include #include <> #include<> #include using namespace std; //////////////////////////////////////////////////////////////////////////class class SZWPC { private: int gcz_zs; //高差总数 int szd_zs; //总点数 int yz_szd_zs; //已知点数 double m_pvv; //[pvv] int *qsd_dh; //高差起点号 int *zd_dh; //高差终点号 char **dm; //点名地址数组 double *gcz; //观测值数组 double *szd_gc; //高程值数组 double *P; //观测值的权 double *ATPA,*ATPL; //法方程系数矩阵与自由项 double *dX; //高程改正数、平差值 double *V; //残差 double m_mu; //单位权中误差 public: SZWPC(); ~SZWPC(); int ij(int i,int j);//对称矩阵下标计算函数

相关文档
相关文档 最新文档