transform table variable into struct variable.
4 ビュー (過去 30 日間)
古いコメントを表示
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?



0 件のコメント
採用された回答
Walter Roberson
2024 年 12 月 26 日
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
2024 年 12 月 27 日
nlobj_struct = cell2struct(table2cell(nlobj), nlobj.Properties.VariableNames);
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Downloads についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!