Анализ сигналов в октаве - PullRequest
0 голосов
/ 16 июня 2020

Уважаемые,

Прошу помощи. Поскольку у меня нет пакета сигнала в Matlab, я попытался запустить скрипт с помощью Octave. К сожалению, я борюсь с оптимизацией. Код вылетел из-за [Horizontal_Peaks_ROI_3, Loc1_ROI_3] = findpeaks(double(line_image_ROI_3(i).ESF), 'MinPeakDistance',8);. Вы знаете, где я сделал ошибку?

Вот мой минимально воспроизводимый пример:

line_image_ROI_3 = struct('ESF', zeros(0),'LSF',zeros(0), 'Peaks',zeros(1,2), 'Valleys',zeros(1,2));
mass_center_ROI_3 = zeros(1,size(cropped_image_Horizontal_ROI_3,1));
pixel_position_ROI_3 = 1:size(cropped_image_Horizontal_ROI_3,1);
i=1;j=1;
Max_Peaks=zeros(1,12);
for i = 1 :StepWidth:size(cropped_image_Horizontal_ROI_3,1)
    %get the column_ROI_3 of the image
    line_image_ROI_3(i).ESF = cropped_image_Horizontal_ROI_3(:,i)';
    SignalROI3(j,:)=cropped_image_Horizontal_ROI_3(:,i)' 
    subplot(4,5,j+3)
    plot(line_image_ROI_3(i).ESF);
    axis tight;
    hold on;
    [Horizontal_Peaks_ROI_3, Loc1_ROI_3] = findpeaks(double(line_image_ROI_3(i).ESF), 'MinPeakDistance',8);
    line_image_ROI_3(j).Peaks=[Loc1_ROI_3', Horizontal_Peaks_ROI_3'];

    plot(Loc1_ROI_3,Horizontal_Peaks_ROI_3,'or');
    Max_Avg_V_ROI_3(j)=mean(Horizontal_Peaks_ROI_3);
    x1_ROI_3=[0 length(line_image_ROI_3(i).ESF)];
    y1_ROI_3=[Max_Avg_V_ROI_3(j) Max_Avg_V_ROI_3(j)];
    plot(x1_ROI_3,y1_ROI_3,'--g'); % Average Max

Заранее спасибо.

...