查找矩阵中两个值之间的局部最小值和局部最大值

biggi_

我终于能够读入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

在此处输入图片说明

迪卡卡(Divakar)

试试这个 -

%%// Min-max index ranges
min_ind_range = [20 50];
max_ind_range = [50 100];

%%// Min value
[minVal, minIndex] = min(x(min_ind_range(1):min_ind_range(2)));
minIndex = minIndex+min_ind_range(1)-1

%%// Max value
[maxVal, maxIndex] = max(x(max_ind_range(1):max_ind_range(2)));
maxIndex = maxIndex+max_ind_range(1)-1

编辑1:对于像上面两个图形一样的大量数据,请使用-

%%// Min-max index ranges
min_ind_range = [20 50];
max_ind_range = [50 100];

%%//  *** Left Case ***
%%// Min value
[left_minVal, left_minIndex] = min(left_data(min_ind_range(1):min_ind_range(2),:));
left_minIndex = left_minIndex+min_ind_range(1)-1;

[left_maxVal, left_maxIndex] = max(left_data(max_ind_range(1):max_ind_range(2),:));
left_maxIndex = left_maxIndex+max_ind_range(1)-1;

%%//  *** Right Case ***
%%// Min value
[right_minVal, right_minIndex] = min(right_data(min_ind_range(1):min_ind_range(2),:));
right_minIndex = right_minIndex+min_ind_range(1)-1;

[right_maxVal, right_maxIndex] = max(right_data(max_ind_range(1):max_ind_range(2),:));
right_maxIndex = right_maxIndex+max_ind_range(1)-1;

请注意,现在我们有一系列的最小值-最大值和它们的索引。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从C ++中的向量中找出局部最大值/局部最小值(范围)的数量

在python中找到两个局部最小值

检测局部最小值和最大值,Java

查找用户定义函数的局部最大值和最小值

在一维Numpy数组中使用Numpy查找局部最大值/最小值

用于在图中查找局部最小值/最大值的爬山算法的时间复杂度

熊猫数据框查找局部最大值和最小值之和

计算Less中两个值的最小值/最大值

在1D-NumPy数组中查找局部最大值/最小值的奇异点/集(再次)

查找一个值,该值给出采用两个输入变量的函数的局部最大值

从条件定义的可变行范围中获取局部最大值/最小值?

查找局部最大值的最大4个值

如何在Postgres / SQL中获得两个整数的最小值/最大值?

在Scala中获取两个相似列的最小值或最大值

查找矩阵的最大值和最小值

如何更改两列的最小值和最大值之间的两个随机数,从而在两列中更改空值?

该按位表达式如何帮助查找两个整数之间的最小值和最大值?

查找信号的局部最小值

过拟合、梯度消失和局部最小值之间的关系?

使用局部最小值和全局最大值查找范围内的所有数字

MySQL在两个(或多个)给定值中选择最小值/最大值

交换矩阵中的最大值和最小值

熊猫发现局部最大值和最小值,而不是平稳值

查找采用两个输入变量的函数的局部最大值,每个变量具有不同的间隔

scipy curve_fit和局部最小值:尽快达到全局最小值

根据行中最大值和最小值之间的差异在 R 中过滤矩阵

在Python中查找列表的最小值,最大值

在结构中查找最小值/最大值

在.json中查找最大值和最小值