Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MatLab Sortrows if语句为true_Matlab_If Statement - Fatal编程技术网

MatLab Sortrows if语句为true

MatLab Sortrows if语句为true,matlab,if-statement,Matlab,If Statement,我想按一个简单的条件对表进行排序。 如果组中5个向量中有3个大于0,则将该行放在表的顶部 我用sortrow试过,但我不能实现这个条件 我想解决的具体案例是一个由11列组成的表。第一列分别显示与行中的值关联的名称。其余的列被分成两组,例如A1:A5和B1:B5。如果在A组中,5个单元格中的3个大于0,则将该行放在表的顶部。逻辑上,第一行应该是所有值都大于0的行 我尝试了很多方法,包括sortrows和if语句的组合,但都不起作用 也许你有个主意。非常感谢。如果我理解正确,请确保行位于顶部,第2-

我想按一个简单的条件对表进行排序。 如果组中5个向量中有3个大于0,则将该行放在表的顶部

我用sortrow试过,但我不能实现这个条件

我想解决的具体案例是一个由11列组成的表。第一列分别显示与行中的值关联的名称。其余的列被分成两组,例如A1:A5和B1:B5。如果在A组中,5个单元格中的3个大于0,则将该行放在表的顶部。逻辑上,第一行应该是所有值都大于0的行

我尝试了很多方法,包括sortrows和if语句的组合,但都不起作用


也许你有个主意。非常感谢。

如果我理解正确,请确保行位于顶部,第2-6列中的大多数值为正值

下面是一个使用排序的解决方案:


请您添加代码,并指出问题所在。
tbl = ... %# your table
numPositive = sum(tbl(:,2:6)>0,2);

[~,sortIdx] = sort(numPositive,'descend');

sortedTable = tbl(sortIdx,:);