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

📄 approx_intersect.m

📁 实现地震勘探中
💻 M
字号:
function [ca,ia,ib,ic]=approx_intersect(a,b,tol)% Find the values of numeric vector "a" that are closest to values of % numeric vector "b".% Analog to Matlab function "intersect" for numeric data; does not require % identity but only approximate equality.% It is important to note that the result "c" may change if the input arguments% "a" and "b" are swapped. This would not be the case for "intersect".%% Written by: E. R.: July 7, 2003% Last updated: January 18, 2007: Add fourth output argument%%       [ca,ia,ib,ic]=approx_intersect(a,b,tol)% INPUT% a     numeric vector% b     numeric vector% tol   tolerance; a constant % OUTPUT% ca    elements of "a" that are close to "b"% ia    index vector so that ca=a(ia)% ib    index vector so that |ca-b(ib)| <= tol% ic    index vector such that for bool=~isnan(ic)%                            |a(ic(bool))-b(bool)] <= tol%% EXAMPLE%       a=1:5;%       b=[2.3 2.9 3.1];%       [ca,ia,ib,ic]=approx_intersect(a,b,0.2)%       bool=~isnan(ic);%       a(ic(bool))-b(bool)% na=length(a);nb=length(b);% ntol=length(tol);ia=NaN(nb,1);ib=NaN(nb,1);% ic=NaN(nb,1);ca=NaN(nb,1);for ii=1:nb   [am,idxa]=min(abs(a-b(ii)));   if am <= tol      ca(ii)=a(idxa);      ib(ii)=ii;      ia(ii)=idxa;   endendbool=~isnan(ca);ic=ia;ca=ca(bool);ia=ia(bool);ib=ib(bool);  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -