transform table variable into struct variable.

6 Ansichten (letzte 30 Tage)
jana nassereddine
jana nassereddine am 26 Dez. 2024
Kommentiert: Walter Roberson am 27 Dez. 2024
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?

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 26 Dez. 2024
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 Kommentar
Walter Roberson
Walter Roberson am 27 Dez. 2024
nlobj_struct = cell2struct(table2cell(nlobj), nlobj.Properties.VariableNames);

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Downloads finden Sie in Help Center und File Exchange

Produkte


Version

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by