ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

setfield

構造体配列フィールドへの値の割り当て

構文

s = setfield(s,'field',value)
s = setfield(s,{sIndx1,...,sIndxM},'field',{fIndx1,...,fIndxN},value)

説明

s = setfield(s,'field',value) は、s が 1 行 1 列の構造体のとき、指定したフィールドの内容を s.field = value に等しい値に設定します。s に指定された field が含まれない場合、関数 setfield はフィールドを作成し、指定された値を割り当てます。文字列としてフィールド参照を渡します。

s = setfield(s,{sIndx1,...,sIndxM},'field',{fIndx1,...,fIndxN},value) は、指定したフィールドの内容を s(sIndx1,...,sIndxM).field(fIndx1,...,fIndxN) = value に等しい値に設定します。関数 setfield は、field および fIndx 入力の複数セットをサポートします。構造体 s またはいずれかのフィールドが非スカラー構造外の場合、その入力に関連付けられた Indx 入力が必要になります。それ以外の場合は、Indx 入力はオプションです。インデックス入力に単一のコロン演算子を指定する場合は、単一引用符 (':') で囲みます。 ':'.

入れ子になったフィールドを含む構造体に値を追加します。

grades = [];
level = 5;
semester = 'Fall';
subject = 'Math';
student = 'John_Doe';
fieldnames = {semester subject student}
newGrades_Doe = [85, 89, 76, 93, 85, 91, 68, 84, 95, 73];

grades = setfield(grades, {level}, ...
                  fieldnames{:}, {10, 21:30}, ... 
                  newGrades_Doe);

% View the new contents.
grades(level).(semester).(subject).(student)(10, 21:30)

前の例で定義した構造体を使用して、指定したフィールドの 10 番目の行を削除します。

grades = setfield(grades, {level}, fieldnames{:}, {10,':'}, []);

詳細

すべて展開する

ヒント

この情報は役に立ちましたか?