не очень понятно, в среднем, какие ценности вы хотите вычислить. Я предполагаю, что это y-координаты.
Я бы использовал функцию RBBOX, чтобы выбрать набор точек на графике.
Попробуйте этот код:
% sample data
data = rand(1,100);
datax = 1:numel(data);
% draw simple plot
plot(data,'.')
% select the points with mouse and get coordinates
k = waitforbuttonpress;
point1 = get(gca,'CurrentPoint'); % button down detected
finalRect = rbbox; % return figure units
point2 = get(gca,'CurrentPoint'); % button up detected
point1 = point1(1,1:2); % extract x and y
point2 = point2(1,1:2);
pmin = min(point1,point2);
pmax = max(point1,point2);
% find the data selected and get average of y values
idx = data >= pmin(2) & data <= pmax(2) & datax >=pmin(1) & datax <= pmax(1);
dataAverage = mean(data(idx));
Я должен требовать большую часть этого кода из rbbox документации.
Если вам нужен лучший ответ, пожалуйста, предоставьте пример данных, как вы их составляете, и усредняете то, что вы хотите рассчитать. – yuk
Думаю, он пытается это сделать на сюжете. Таким образом, нет, нет, что Matlab не может сделать это на сюжете. – Pyrolistical