как выбрать значения из матрицы, ближайшей или равной K = 0,5?Я знаю, что могу получить значения из матрицы, взяв абсолютные значения и их мин.Тем не менее, я хочу быть в состоянии пройтись по матрице, проверить, равен ли первый элемент K, если он равен, взять его индекс и разбить.Но если первый элемент не равен K, выполните цикл, пока не найдете значение, равное K. Продолжайте, пока все значения, равные K, не будут исчерпаны.Кто-нибудь может указать мне правильное направление?Заранее спасибо.
Вот мой код:
data = rand(10,2);k =0.5;
indr = find(data(:,1));
cNum = data(1,1);
if cNum < k
old_distance = abs(k - cNum);
else
old_distance = abs(cNum - k);
end
Xdata = data(2:end,:);
indeX = find(Xdata(:,1));
for i = 1:size(Xdata,1)
if Xdata(i,1) < k
min_Val = abs(k-Xdata(i,1));
new_distance = min(min_Val);
else
min_Val = abs(Xdata(i,1) -k);
new_distance = min(min_Val);
end
if (new_distance < old_distance)
old_distance = new_distance;
cNum = Xdata(i,1);
end
end
cNum_indeX = indr(indeXm);
Y = cNum;
X = indr(cNum_indeX);'