0

私は 2 つの配列を持っています。最初の配列は resource_wastage のすべての値を保持し、2 番目の配列は power_consumed のすべての値を保持します。ファジー ロジックを実装するには、リソースの浪費と消費電力の両方が同時に低いことを確認する必要があります。出力は配列インデックスになります。そのうちの 1 つが低く、2 番目がそうでない場合は、次の値に進む必要があります。配列で。

例えば:

for(int i=0, i<n; i++) 
if(res_was[0] is low in all res_was[i=0 to n] && [pow_con[0] is low in all pow_con[i=0 to n])
    {
      print i;
      break;
    }

    else continue with next value in arrays;

これを実装する方法を教えてください。つまり、両方の配列の値が同時に低いかどうかを確認してください。

4

2 に答える 2

2

このようなものを使用できます。配列には最小検索のための特別な方法があります。

var resMin = res_was.Min();
var powMin = pow_con.Min();
for(int i = 0; i < n; i++)    
{
      if(res_was[i] == resMin && pow_con[i] == powMin)
      {
         Console.writeLine(i);
         break;
      }    
}

より複雑な Min メソッドを使用する必要があるかもしれません。それらのすべてについては、MSDN で読むことができます。

于 2012-05-04T13:07:31.657 に答える
0

これも試してください。

最小値と最小値の位置を見つけて、等しいかどうかを比較してプロセスを進めます...

        int _ires_wasminValue = Enumerable.Range(0, res_was.Length).Min(i => res_was[i]);
        int _imin_res_was_pos = Array.IndexOf(res_was, _ires_wasminValue);

        int _ipow_cons_minValue = Enumerable.Range(0, res_was.Length).Min(i => res_was[i]);
        int _imin_pow_cons_pos = Array.IndexOf(res_was, _ires_wasminValue);

        if (_imin_pow_cons_pos==_imin_res_was_pos)
        {
            Console.writeLine(_imin_pow_cons_pos);                
        }
于 2012-05-04T14:03:58.303 に答える