Inserting doubles into the field of a struct
13 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Wondering if anyone knows how to insert a "double" into a struct. I was trying to use the following code to do it but I keep getting the error "Scalar structure required for this assignment."
Updating.GoodNews = Upda;
0 commentaires
Réponse acceptée
Chunru
le 19 Sep 2022
load(websave("Updating.mat", "https://www.mathworks.com/matlabcentral/answers/uploaded_files/1129165/Updating.mat"))
load(websave("Upda.mat", "https://www.mathworks.com/matlabcentral/answers/uploaded_files/1129170/Upda.mat"))
whos
% Optimism_EMA_Updating is an array of structure
% assignment should be done for struct element
Optimism_EMA_Updating(1).GoodNews = Upda;
Optimism_EMA_Updating(1)
Plus de réponses (1)
Image Analyst
le 19 Sep 2022
It's because Updating is a structure array so you need to put Upda into a new structure in the array. This works, where I append Upda to the existing array:
% Load mat files into structures.
s1 = load('Updating.mat')
s2 = load("Upda.mat")
% Extract variables from the structures.
Optimism_EMA_Updating = s1.Optimism_EMA_Updating
Upda = s2.Upda
% Append Upda as a new structure at the end of the structure array
Optimism_EMA_Updating(end+1).SubID = Upda
Voir également
Catégories
En savoir plus sur Structures dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!