[matlab,#9]structフィールドを削除し、共通インデックスを出力
1760 ワード
0、背景
今日では、構造タイプからフィールドを削除し、2つのフォーマットの変数間で共通の数値を抽出する方法について説明します.
0-1. フィールドの削除
まず、フィールドの削除から始めましょう.structureフォーマットに存在するフィールドを加工して別のフィールドを指定すると、既存のフィールドが不要になる場合があります.この場合、フィールドを削除することで容量を削減できます.使用する関数はrmfieldで、removeをrmと略して貼り付けられたフィールドと見なすと覚えやすいです.
0-2. 共通数値の抽出
第二に、共通の数字を抽出する方法を理解します.複数の数値を含む2つの変数を比較するには、共通の数値を抽出し、交差する必要があります.この例では、1つのフライトがIncheon FIR金庫に存在し、機載(高さ>0)インデックスを抽出するために使用されます.
1.structフィールドの削除
1-1. code
1-2-1. 個々のフィールドの削除
上のコードは、「1-1」に構造ファイルを作成し、「1-2」からbフィールドを削除することを示しています.変数「s」には「a」、「b」、「c」の変数が存在し、それぞれ1、2、3が割り当てられる.このとき「b」変数を削除する場合は、rmfield関数を使用します.rmfield関数には2つの因子が含まれています.1番目のパラメータは構造変数名で、2番目のパラメータは削除する変数です.フィールドを削除するコードを説明すると、コンストラクタ変数sでbを検索して削除し、s変数に再割り当てされることを示します.削除するフィールドが2つ以上ある場合は、どうすればいいですか?
1-2-2. 複数のフィールドを削除
2つ以上のフィールドを一度に削除するには、フィールド名をcell形式で囲むだけです.変数名は文字ですが、セル形式を使うのは当然かもしれません.
「二つ以上はあまり変わっていません」S'コンストラクタ変数からfirst変数とfounder変数を削除するには、上記のコードに従って作成します.S'変数に再割り当てされてこそ、変更されたコンストラクタ変数が記憶されます.
2.共通インデックスの出力
2-1. code
交差関数に2つの変数を入力すると、共通の数値が返されます.上記のコードを解釈すると、「AとBの変数から共通の数字を抽出し、「common number」変数に割り当てる」ことを意味する.結果は7と4を入力します.昇順で出力する場合は、3番目のパラメータに「sorded」を入力します.以前とは異なり、4と7が出力されます.
今日では、構造タイプからフィールドを削除し、2つのフォーマットの変数間で共通の数値を抽出する方法について説明します.
0-1. フィールドの削除
まず、フィールドの削除から始めましょう.structureフォーマットに存在するフィールドを加工して別のフィールドを指定すると、既存のフィールドが不要になる場合があります.この場合、フィールドを削除することで容量を削減できます.使用する関数はrmfieldで、removeをrmと略して貼り付けられたフィールドと見なすと覚えやすいです.
0-2. 共通数値の抽出
第二に、共通の数字を抽出する方法を理解します.複数の数値を含む2つの変数を比較するには、共通の数値を抽出し、交差する必要があります.この例では、1つのフライトがIncheon FIR金庫に存在し、機載(高さ>0)インデックスを抽出するために使用されます.
1.structフィールドの削除
1-1. code
%% 1. 단일 필드 제거
% 1-1. structure 파일 생성
s.a = 1;
s.b = 2;
s.c = 3;
% 1-2. 필드 제거
field = 'b';
s = rmfield(s,field)
%% 2. 여러 필드 제거
% 2-1. structure 파일 생성
S.first = 1;
S.second = 2;
S.third = 3;
S.fourth = 4;
% 2-2. 필드 삭제
fields_deleted = {'first','fourth'}
S = rmfield(S, fields_deleted)
1-2. 説明:1-2-1. 個々のフィールドの削除
上のコードは、「1-1」に構造ファイルを作成し、「1-2」からbフィールドを削除することを示しています.変数「s」には「a」、「b」、「c」の変数が存在し、それぞれ1、2、3が割り当てられる.このとき「b」変数を削除する場合は、rmfield関数を使用します.rmfield関数には2つの因子が含まれています.1番目のパラメータは構造変数名で、2番目のパラメータは削除する変数です.フィールドを削除するコードを説明すると、コンストラクタ変数sでbを検索して削除し、s変数に再割り当てされることを示します.削除するフィールドが2つ以上ある場合は、どうすればいいですか?
1-2-2. 複数のフィールドを削除
2つ以上のフィールドを一度に削除するには、フィールド名をcell形式で囲むだけです.変数名は文字ですが、セル形式を使うのは当然かもしれません.
「二つ以上はあまり変わっていません」S'コンストラクタ変数からfirst変数とfounder変数を削除するには、上記のコードに従って作成します.S'変数に再割り当てされてこそ、変更されたコンストラクタ変数が記憶されます.
2.共通インデックスの出力
2-1. code
% 1. 변수 생성
A = [7 1 7 7 4];
B = [7 0 4 4 0];
% 2. 공통된 숫자 추출
% 2-1. 순서 미부여
common_number = intersect(A, B) % 7, 4
% 2-2. 순서 부여
common_number_inc = intersect(A, B, 'sorted') % 4, 7
2-2. 説明:交差関数に2つの変数を入力すると、共通の数値が返されます.上記のコードを解釈すると、「AとBの変数から共通の数字を抽出し、「common number」変数に割り当てる」ことを意味する.結果は7と4を入力します.昇順で出力する場合は、3番目のパラメータに「sorded」を入力します.以前とは異なり、4と7が出力されます.
Reference
この問題について([matlab,#9]structフィールドを削除し、共通インデックスを出力), 我々は、より多くの情報をここで見つけました https://velog.io/@rnjsvlfwp98/matlab-13-struct-필드-제거-및-공통된-index-출력하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol