transform table variable into struct variable.
6 次查看(过去 30 天)
显示 更早的评论
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 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!