⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nav_measure.m

📁 本文件采用Matlab软件
💻 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 + -