在matlab/octave中查找运算
我使用glpk解算器来获得xmin中最小化问题的LP变量值。xmin是一个包含0、1和一些分数值的向量。然后我想得到它们之间的分数在matlab/octave中查找运算,matlab,octave,Matlab,Octave,我使用glpk解算器来获得xmin中最小化问题的LP变量值。xmin是一个包含0、1和一些分数值的向量。然后我想得到它们之间的分数 frac_value = find (xmin > 0 & xmin < 1) frac_value_xmin = xmin(frac_value) frac_value=find(xmin>0&xmin0),find(xmin没有必要使用find为此,您可以直接执行一些逻辑索引: frac_value_xmin = xmin(xmin>
frac_value = find (xmin > 0 & xmin < 1)
frac_value_xmin = xmin(frac_value)
frac_value=find(xmin>0&xmin<1)
分形数值xmin=xmin(分形数值)
frac_value
应该给出xmin的分数值的位置frac\u value\u xmin
应该给我这些值
对于某些输入,xmin
只包含0
和1
,它显示没有分数值。比如xmin=10-0110
但对于某些输入,xmin
也仅显示0
和1
的值,但如下所示
其中xmin=
1.00000
1.00000
0.00000
-0.00000
在执行find
操作后,它返回frac_value=3
和frac_value_xmin=2.4652e-32
,假设不返回任何内容
对于某些输入xmin=1.0000 0.50000 0.00000 0.50000
,它也会显示正确的输出。对于frac_值=24
和frac_值=0.50000 0.50000
我尝试了
frac\u value=intersect(find(xmin>0),find(xmin没有必要使用find
为此,您可以直接执行一些逻辑索引:
frac_value_xmin = xmin(xmin>0 & xmin<1);
frac\u value\u xmin=xmin(xmin>0&xmin您需要读取
如果你做了x>0&x<1
当然你会得到值0.000000000000000
,比如2.4652e-31
。这些值大于0小于1。你需要重新考虑你的计算(你没有给我们任何细节)或者你的比较。但是我也需要位置。这也给了我那些有线值,实际值应该是0.000000000000000
这不是一个正常的行为,find
应该只返回有限的整数。你能用这个行为生成一个最小的例子吗?我已经添加了一个关于场景的示例问题木卫一