-1

2つのマトリックスでおおよその数を見つける方法は? たとえば、2 つの行列があります。

A=[1.567 1.679 1.366 ;
      2.467 3.587 6.134 ;
      3.497 5.877 9.465]

B=[3.134 5.100 7.555 ;
      7.465 4.715 4.267 ;
      2.347 4.111 4.503]

したがって、A マトリックスの 2.467 は、B マトリックスの 2.347 に近いです。コーディングによってそれらを見つけるにはどうすればよいですか?

4

1 に答える 1

1

A のすべての値と B のすべての値のメッシュグリッドを作成して、それらを比較できるようにします。

[Amesh,Bmesh] = meshgrid(A(:),B(:))

次に、差の絶対値を見つけます。

absdiff = abs(Amesh-Bmesh)

これは、A のすべての値と B のすべての値の絶対差のマトリックスです。したがって、この表の最小値は、A と B の値の最も近い一致です。その値をプログラムで見つけるには、次のようにします。

[x,y] = find(absdiff == min(absdiff(:)))
x =
     3
y =
     2

これは、その行列の最小値を計算し、その値の x/y 位置を見つけます。この場合、x は行列 B へのインデックスであり、y は行列 A へのインデックスです。

>> A(y)
ans =
    2.4670
>> B(x)
ans =
    2.3470
于 2019-11-03T02:05:54.313 に答える