Add field to input struct array in Mex

2 ビュー (過去 30 日間)
Mark Thomson
Mark Thomson 2023 年 3 月 21 日
編集済み: James Tursa 2023 年 4 月 4 日
Dear All,
I would like to add and populate a new field in an existing struct array.
(Context: I just want to distribute the columns of a matrix into the struct array as vectors, but am seeing performance issues with the usual num2cell -> deal approach)
I had thought to try this in a Mex file, but didn't find any documentation/examples for .c, rather just warnings about input structure/cell arrays being read-only.
Is there a way to do this in a C-based Mex file? Or in a C++-based one? I would prefer to generate the field inside the Mex function, but I guess adding a placeholder for the field in an intermediate m-file function would also be fine.
Regards, MT
  1 件のコメント
James Tursa
James Tursa 2023 年 3 月 28 日
編集済み: James Tursa 2023 年 4 月 4 日
Please post a small example showing all inputs and desired output. I should warn you, however, that there is no official way to do this efficiently in a mex routine. To do it efficiently in a mex routine requires unofficial hacking into the mxArray structure to create reference copies. Doable, but probably not what you wanted.

サインインしてコメントする。

回答 (1 件)

Swaraj
Swaraj 2023 年 4 月 4 日
In order to add a new field to the struct Array in Mex, you can use “mxAddField” function.
Please go through the following documentation for further details.

カテゴリ

Help Center および File ExchangeCall C++ from MATLAB についてさらに検索

製品


リリース

R12.1

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by