transform table variable into struct variable.

4 ビュー (過去 30 日間)
jana nassereddine
jana nassereddine 2024 年 12 月 26 日
コメント済み: Walter Roberson 2024 年 12 月 27 日
Hello,
I have a table that is used as a disturbance in a model predictive controller, and I need to input this table as a measured disturbance. However, the measured disturbance, like any variables in the model predictive controller, is formatted as a struct. I attempted to convert the struct to a cell array using the script, but I received an error stating that the struct cannot be changed. Therefore, I need to convert the variable table into a struct. Do you have any suggestions on how to do this?

採用された回答

Walter Roberson
Walter Roberson 2024 年 12 月 26 日
Perhaps use table2struct ?
Note that your posted code creates a cell array, U and uses () indexing to try to set U(1) and so on. In order for that to work, the right hand side of the assignment needs to be a cell array scalar, or something convertable to a cell array scalar. nlobj.MV(1) does not appear to be convertable to a cell. Your code would make more sense if you did, for example,
U{1} = nlobj.MV(1);
On the other hand, I note that all of the entries appear to be numeric scalars, so I wonder whether you should have instead initialized
U = zeros(1,5);
  1 件のコメント
Walter Roberson
Walter Roberson 2024 年 12 月 27 日
nlobj_struct = cell2struct(table2cell(nlobj), nlobj.Properties.VariableNames);

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeDownloads についてさらに検索

製品


リリース

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by