Если у меня есть матрица
A=rand(50,4);
и матрица значений диапазона, таких как
range=[1 10 15 30 45 50];
, и я хочу вычислить минимальное значение и его индекс ввсе столбцы в матрице диапазона.например
for i=1 :numel(range)-1
[value index]= find(min(A(range(i):range(i+1),[],1)
if i>1
index=index+ range(i)+1; % indx# was calculated onlyin a
% range of array and not for
%whole array.Updated here
end
B_ind(i,:)=index;
B_val(i,:)=value;
end
Как я могу получить индексы min(A)
для range(i:i+1)
без использования циклического подхода?
Проще говоря, матрица 'B' должна быть похожа на
B(1,column 1:4)=index of min(A (1:10)) in every column
B(2,column 1:4)=index of min(A (11:15)) in every column
B(3,column 1:4)=index of min(A (16:30)) in every column
и так далее ...
Мой вопрос: как это сделать без цикла for?