14

重複の可能性:
Octave / MATLAB:構造体が等しいかどうかを比較する方法は?

matlabセルまたは構造体オブジェクトの簡単な比較関数はありますか?'=='の使用は機能しないようです:(

4

2 に答える 2

8

2つのセル配列または構造体オブジェクトが完全に等しいかどうかを知りたい場合は、いつでもisequalnを使用できます。

于 2011-02-24T18:12:14.440 に答える
6

isequal2つのセルを比較するために使用します。ただし==、アレイの場合でも推奨されないことに注意してください。

>> A = [1 2 3 4 5];
>> B = [1 2 3 4 5];
>> A == B
ans =

     1     1     1     1     1

たとえば、ifステートメントでその式を使用するには、さらにトリックを使用する必要があります。

==タイプの変数に推奨されない理由はdouble、MATLABでIEEE754表現が使用されているためです。例えば:

  >> .1 + .1 + .1 == .3

  ans =

       0

absdouble値をより堅牢に比較するために、MATLABの関数を使用できます。

>> if ( abs( (.1+.1+.1) - .3 ) < 1e-10 ); disp('Values are pretty close although not necessarily bit equal'); end
Values are pretty close although not necessarily bit equal
>> 
于 2011-02-25T11:08:37.800 に答える