メインコンテンツ

MAT ファイルの比較とマージ

比較ツールを使用して 2 つの MAT ファイルを比較できます。2 つの MAT ファイルを比較して以下を行います。

  • 両方のファイルに共通する変数と、一方のファイルのみに出現する変数の判別。

  • 個々の変数間の相違点の特定。たとえば、構造体のどのフィールドが異なっているかや、配列のどの要素が異なっているかを判定できます。

次のいずれかの方法で、比較するディスク上の MAT ファイルを選択できます。

  • [ファイル] パネルまたは [プロジェクト] パネル — ディスク上の 2 つの MAT ファイルを比較するには、両方のファイルを選択します。次に、右クリックして [選択したファイル/フォルダーを比較] を選択します。比較ツールの左側に、最初に選択したファイルが表示されます。

  • コマンド ウィンドウ — 関数 visdiff を使用します。

相違点の確認

MAT ファイルの比較を実行すると、新しいウィンドウが開き、2 つのファイルが並べて表示されます。たとえば、2 つの MAT ファイル data1.matdata2.mat があるとします。この 2 つのファイルを比較すると、比較ツールに結果のレポートが表示されます。

Comparison Tool comparing data1.mat to data2.mat

レポート内でノードを選択すると、比較ツールでレポートの下部のペインに詳細が表示されます。個々の配列要素については、詳細ペインで要素をダブルクリックすることで、さらに違いを調べることができます。

ファイル名の横にある下向き矢印 を展開すると、比較対象ファイルの MAT バージョンを表示できます。

比較ツールでは、次の色を使用して変数における変更が強調表示されます。

強調表示説明
変数の値が 2 つのファイル間で異なります。
右側のファイルにのみ変数があります。
左側のファイルにのみ変数があります。
なし変数が両方のファイルで等価です。ツールは、NaN パターンの相違点、struct のフィールドの順序、正/負のゼロの違いを無視します。

比較レポートのコピーを保存するには、[パブリッシュ][HTML にパブリッシュ][Word にパブリッシュ][PDF にパブリッシュ]、または [PDF/A にパブリッシュ] を選択します。

PDF/A 比較レポートは Linux® ではサポートされていません。

変更のマージ

MAT ファイルを比較するときに、一方のファイルの変更を他方のファイルにマージできます。MAT ファイル内の競合を解決する場合は、代わりにMAT ファイル内の競合の解決を参照してください。

Comparison Tool comparing data1.mat to data2.mat

変更された変数を一方のファイルから他方のファイルにコピーするには、次の手順に従います。

  1. [比較] ツールストリップで [マージ モード] をクリックします。比較ツールでレポートの下部に [ターゲット] ペインが開きます。

  2. [ターゲット] ペインの各行にあるオプション ボタンを使用して、マージされたファイルで保持する変更を選択します。

    この例のレポートでは、matrixVar の値を [左] のモデルの値に戻すとします。[ターゲット] ペインで、matrixVar の行にある左のボタンをクリックします。

  3. [結果を保存] ボタンを使用して、マージされたファイルに選択内容を保存します。

    代わりにすべての操作をキャンセルする場合は、マージされたファイルを保存せずに [比較に戻る] をクリックします。

MAT ファイル内の競合の解決

R2026a 以降

ソース管理下のファイルで共同作業している場合、ブランチをマージする際に競合が発生する可能性があります。

MAT ファイル内の競合は、3-way マージ ツールを使用して解決できます。

  1. [ファイル] パネルまたは [プロジェクト] パネルで、競合が発生している MAT ファイルを右クリックし、[ソース管理][競合を表示] を選択します。

    The Files panel shows one conflicted MAT file.

    3-way マージ ツールで上部に 3 つのペインが開きます。左から右に向かって、ペインで以下が表示されます。

    • 他のユーザーが行った変更 (この例では、[improveMAT] というブランチで行われたもの)。

    • 共通の先祖バージョンである [ベース] ペイン。

    • 自分が行った変更 (この例では、[updateMAT] というブランチで行ったもの)。

    以下では、ツールで差異が自動的に解決され (可能な場合)、[ターゲット] ペインが開きます。[ターゲット] ペインには、[updateMAT] ブランチの変更のコピーと自動マージが含まれています。ツールでは、未解決の競合が赤色で示されます。また、ツールでは自動的に解決された項目が、対応するリビジョンの色で示されます。

    The Files panel shows one conflicted MAT file.

  2. ツールストリップの矢印を使用して、未解決の項目間を移動します。

    右下隅の概要テーブルには、残っている未解決の競合の数が示されます。

  3. 自動マージの選択内容を確認し、必要に応じて編集し、[ターゲット] ペインのオプション ボタンを選択して、残りの競合をどのように解決するのかを決定します。

    既定の選択内容を保持する場合は、ペインで、解決する項目の横にある競合アイコン をクリックし、[解決済みとしてマーク] をクリックします。あるいは、行を右クリックして [解決済みとしてマーク] を選択します。

  4. 対応する必要がある項目をすべて確認して解決したら、[確定して閉じる] をクリックしてターゲット ファイルを保存します。ツールにより、競合が発生したファイルがソース管理ツール内で解決済みとしてマークされます。

参考

トピック