transform table variable into struct variable.

6 vues (au cours des 30 derniers jours)
jana nassereddine
jana nassereddine le 26 Déc 2024
Commenté : Walter Roberson le 27 Déc 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?

Réponse acceptée

Walter Roberson
Walter Roberson le 26 Déc 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 commentaire
Walter Roberson
Walter Roberson le 27 Déc 2024
nlobj_struct = cell2struct(table2cell(nlobj), nlobj.Properties.VariableNames);

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Downloads dans Help Center et File Exchange

Produits


Version

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by