Dato un array (nel tuo caso "depth") ed uno o più valori (come nel tuo esempio: 403, 408) per trovare il valore dell'array che più si avvicina ai valori di riferimento, puoi:
[*] calcolare il valore assoluto della differenza tra gli elementi dell'array ed il valore di riferimento
[*] prendere il valore minimo di tali differenze
Più in generale, potresti creare una funzione che:
[*] riceve in input l'array (depth) e un array contenente i valori di riferimento (403, 408)
[*] effettua i calcoli definiti sopra
[*] ritorni: il valore dell'array "più vicino" al valore di riferimento, l'indice corrispondente e, per esempio, la differenza tra il valore trovato nell'array (depth) ed il valore di riferimento
function [d,idx,err]=find_depth(depth,val)
for i=1:length(val)
[err(i),idx(i)]=min(abs(depth-val(i)));
d(i)=depth(idx(i));
end
La funzione verrebbe usata in questo modo:
passo=0.152;
depth=[400:passo:410]
val=[403 408]
[d,idx,val]=find_depth(depth,[403 408])
e ritornerebbe:
Valore "più vicino nell'array "depth":
d =
403.0400 408.0560
Indice dell'elemento "più vicino"
idx =
21 54
Valore assoluto della differenza tra l'elemento "più vicino" ed il valore di riferimento
err =
0.0400 0.0560
Hope this help.