📄 nav_measure.m
字号:
function [Z , nav , RY] = nav_measure(Y , map , R , Y_min , Y_max , X_min , X_max);
% Retrieve true measurement and measurement covariance by bilinear
% interpolation
%
% Usage
% -----
%
% [Z , nav , RY] = nav_measure(Y , map , R , Y_min , Y_max , X_min , X_max);
%
% Example
% -------
%
% m = 2;
% map = rand(100 , 140 , m);
% R = reshape(cat(3 , rand(100 , 140) , zeros(100 , 140) , zeros(100 , 140) , rand(100 , 140)) , [ 100 , 140 , m , m]);
% N = 1000;
% Y = repmat([10 ; 10] , 1 , N) + randn(2 , N);
% X_min = 1;
% X_max = 500;
% Y_min = 1;
% Y_max = 1000;
%
% [Z , nav , RY] = nav_measure(Y , map , R , Y_min , Y_max , X_min , X_max);
%
%
% Author S閎astien PARIS (sebastien.paris@lsis.org) (5/4/08)
% -------
[dd , K] = size(Y);
[nR , nC , m ] = size(map);
[n1 , n2 , n3 , n4] = size(R);
if ((n1 ~= nR) || (n2 ~= nC) || (n3 ~= m) || (n4 ~= m))
error('map must be (nR x nC x m) and R (nR x nC x m x m)');
end
pente_Y = abs(Y_max - Y_min)/(nR - 1);
pente_X = abs(X_max - X_min)/(nC - 1);
Yy = (Y(1 , :) - Y_min + pente_Y)./pente_Y;
Yx = (Y(2 , :) - X_min + pente_X)./pente_X;
RY = reshape(interp2bili(R , Yy , Yx) , m , m , K);
nav = interp2bili(map , Yy , Yx);
Z = nav + reshape(ndtimes(permute(ndchol(RY) , [2 1 3]) , randn(m , m , K)) , m , K);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -