Использование matlab для извлечения значений из файла csv, выполняющего fft-преобразование на части данных, а затем его печать. При просмотре сюжета я вижу ясный пик (см. Рисунок прилагается) и хочу написать что-то, чтобы извлечь координату x пика.MATLAB: Извлечение координаты x, которая соответствует наибольшему значению y
Вот часть кода, который я написал.
filename=input('Enter name of a csv file, extension included : ', 's');
csv_file=load(filename);
%file_rows
rows = size(csv_file, 1);
for i = 1:rows-256 %frames
rh_x= csv_file(i:i+255,60); % coordinates of joint 1
rh_y= csv_file(i:i+255,61);
rh_x2 = csv_file(i:i+255, 12); % coordinates of joint 2
rh_y2 = csv_file(i:i+255, 13);
coord = [rh_x, rh_y; rh_x2, rh_y2];
distarray = sqrt((rh_x + rh_x2).^2 + (rh_y + rh_y2).^2); %distance formula
meandist = mean(distarray);
new_arr = distarray - meandist; %subtract mean
transf_new = fft(new_arr); %FFT transform
magn_new = abs(transf_new); %magnitude_output
plot(magn_new(1:size(magn_new,1)/2), '-'); %****I INCLUDED EVERYTHING BUT THIS IS THE PART THAT PLOTS WHAT I WANT TO EXTRACT FROM
if i==1
hold on
end
end
код дает мне все правильные значения мне нужно, я только сейчас хочу, чтобы извлечь й значение очень очевидного пик на этом рисунке (эта цифра была сгенерирована с помощью одного из моих файлов CSV). Как я могу написать что-нибудь, что будет хранить/отображать координату x этого пика, который я генерирую?
Спасибо.
Если вы просто хотите, чтобы позиция в х точки максимальной точки использовалась '[val ind] = max (data)' – bla