資源簡介
多維粗差定位定值(LEGE)法粗差探測(MATLAB實現)。附帶算例,通過輸入系數矩陣、權陣。觀測值向量來檢測觀測值中是否包含粗差
代碼片段和文件信息
clear
n=19?????????????%觀測值個數n
t=10??????????????%獨立參數個數t
r=9????????????%粗差搜索計算要進行r-1次
B=double(load(‘B.txt‘))???%系數矩陣???(n*t)
d=double(load(‘d.txt‘))???%間接平差常數項??(n*1)
L=load(‘L.txt‘)???%真值向量??????(n*1)
err=load(‘err.txt‘)?%模擬誤差
L=double((L-err/1000))
%P=load(‘P.txt‘);???%權???(n)
S=load(‘S.txt‘)
P=sum(S)/n./S;???%反距離定權
P=diag(P)?????????%權陣???(n*n)
P=eye(n)
X0=double(pinv(B)*(L-d));??%因為參數估值X0是L的函數,因此不能手動輸入,現利用廣義逆矩陣求得
X0=[-178.8288;-7.5124;48.7509;91.1638;116.5219;134.3469;38.6390;-78.7160;230.5690;149.3715];
l=double(L-(B*X0+d))??????%V=Bx-l???(n*1)
l=l*1000;
Nbb=double(B.‘*P*B);???????%Nbb???(t*t)
W=double(B‘*P*l);??????????%W??????(t*1)
x=double(Nbb\W);??????%參數改正數x???(t*1)R(:12)
x0=x
V=double((B*x-l));??????????%初始計算得到的改正數?(n*1)?單位mm
V0=V;?
Qvv=double(
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????3489??2019-06-03?15:53??LEGE2.m
?????文件?????????74??2019-03-25?20:51??S.txt
?????文件???????1725??2019-03-25?20:39??B.txt
?????文件????????171??2019-03-25?20:38??d.txt
?????文件????????105??2019-05-09?15:08??err.txt
?????文件????????183??2019-03-26?16:01??L.txt
-----------?---------??----------?-----??----
?????????????????5747????????????????????6
評論
共有 條評論