S = FIELDFUN(FUN,S1,...,SN) passes field values in structures S1,...,SN to function FUN and returns the result in scalar struct S.
現在この提出コンテンツをフォロー中です。
- フォローしているコンテンツ フィードに更新が表示されます。
- コミュニケーション基本設定に応じて電子メールを受け取ることができます
fieldfun: Apply a function to the matching fields of structures
Summary
S = fieldfun(fun,S1,...,SN) passes the values for each field in structures S1,...,SN to function fun and returns the result in scalar structure S. Each field F in S, i.e. S.(F), is the result of fun(S1.(F),...,SN.(F)).
fieldfun allows the organization of data by structure and field name while allowing the data to be easily processed according to the semantically meaninful fields, improving code readability. When only one structure is supplied, fieldfun can also be used as an alternative to structfun, the difference being that the output of structfun is an array, while fieldfun returns a structure, retaining the input format, again improving readability.
Inputs
-
funis either a function handle or a text scalar giving the function's name or operator. The function must take N input arguments, i.e. equal to the number of input structures, and return a value.funis called once for each fieldFinS1,...,SN. -
S1is a scalar structure or array of structures. -
S2,...,SNare scalar structures, arrays of structures, or variables of any other class. IfS2,...,SNare structures, their fields and field order must matchS1. IfS2,...,SNare not structures, then they are converted to structures, with the value being assigned to each field.
Output
-
Sis a scalar structure with the same fields and field order asS1. The value of each fieldFinS, i.e.S.(F), is the result offun(S1.(F),...,SN.(F)).
Example
treatmentGroup(1) = struct( 'name', "John", 'age', 30, 'vaccinated', true );
treatmentGroup(2) = struct( 'name', "Jane", 'age', 80, 'vaccinated', false );
controlGroup = struct( 'name', "Jim", 'age', 50, 'vaccinated', true );
allParticipants = fieldfun( @horzcat, treatmentGroup, controlGroup )allParticipants = struct with fields:
name: ["John" "Jane" "Jim"]
age: [30 80 50]
vaccinated: [1 0 1]
More examples available in examples.mlx / examples.pdf.
Compatibility, License and Citation
Created in 2022b. Compatible with MATLAB release 2019b and later. Compatible with all platforms.
Published under MIT License (see LICENSE.txt).
Please cite George Abrahams (https://github.com/WD40andTape/fieldfun, https://www.linkedin.com/in/georgeabrahams).
引用
George Abrahams (2022) (https://www.linkedin.com/in/georgeabrahams). fieldfun: Apply function to matching fields of structures (https://github.com/WD40andTape/fieldfun/releases/tag/v1.0.0), GitHub. Retrieved December 29, 2022.
一般的な情報
- バージョン 1.0.0 (164 KB)
-
GitHub でライセンスを表示
MATLAB リリースの互換性
- R2019b 以降のリリースと互換性あり
プラットフォームの互換性
- Windows
- macOS
- Linux
| バージョン | 公開済み | リリース ノート | Action |
|---|---|---|---|
| 1.0.0 |

