2
我終於可以讀取Excel工作表,並根據需要獲取繪製的數據並獲取平均數據。但是,現在我遇到了一些問題,試圖在圖上的值之間找到局部最小值和局部最大值。我試圖找到當地分鐘說20和50以及50和100之間。在此局部最大值之間是數據帶來,而我使用的代碼:查找矩陣中兩個值之間的局部最小和局部最大值
filename = ('10070.xlsx'); %Opens the specified file
[data, text, ~] = xlsread(filename); %Gives a table for data and text
[~,l] = find(strcmp(text, 'Left Knee Angle'));
left_data = data(:,l);
subplot(2,2,1);
plot(left_data)
title({'Left Knee Angle'});
ylabel({'Angle'});
xlabel({'% of Trial'});
[~,r] = find(strcmp(text, 'Right Knee Angle'));
right_data = data(:,r);
subplot(2,2,2);
plot(right_data)
title({'Right Knee Angle'});
ylabel({'Angle'});
xlabel({'% of Trial'});
left_avg = mean(left_data,2);
subplot(2,2,3);
plot(left_avg)
title({'Left Knee Average Angle'});
ylabel({'Angle'});
xlabel({'% of Trial'});
right_avg = mean(right_data,2);
subplot(2,2,4);
plot(right_avg)
title({'Right Knee Average Angle'});
ylabel({'Angle'});
xlabel({'% of Trial'});
我已經嘗試使用:
[maxVal, maxIndex] = max(l(x>=20&x<=50));
但這並不適用於我。任何人有任何想法/更好的方法來做到這一點?也許我只是在錯誤地輸入內容?我還將重複另一組數據的過程(它被分解爲左側和右側)。另外,出於好奇,是否有辦法單獨拉取每個圖形,並從左側和右側的單個圖形中找出局部最小/最大值並將其平均分配?我只是想在這方面提前思考。這裏是一個鏈接到圖表的屏幕截圖: http://i.imgur.com/SKep8Iy.jpg
當我嘗試這個時,我得到'我'同意'x'的事實。但是,在導入我使用的數據時較早: left_data = data(:,l); 這可能導致問題?事實上,我不是真的拉'x'值? –
您在代碼中使用了'x'。 'x'對你來說意味着什麼? – Divakar
我已經標出了xaxis,但除此之外,我的代碼中沒有「x」。如果你到處看,它是(:,l)或[〜,r]。你有任何其他想法,爲什麼它不工作? –