Using guidata function to modify the struct data

2 views (last 30 days)
Dear developer,
Good morning,
I have two .mat files that first one has 1x1 struct that contains three fiealds with data and second one has three fields with other data. i would like to use guidata to mdify first .mat file by changing its data with second .mat file.
Could you tell me how I can do this process?
Yours sincerely

Answers (1)

Rupesh
Rupesh on 30 Apr 2024
Edited: Rupesh on 30 Apr 2024
Hi Hussam,
I understand that you're looking to modify the contents of a structure stored in a first .mat file with data from a second .mat file. This process involves loading data from both files and updating the structure in the first file with data from the second. This process needs to be implemented within a MATLAB GUI application using “guidata”.
First, load the structures or variables from both .mat files. Assuming “firstFile.mat” contains a structure data1 and “secondFile.mat” contains variables or a structure data2 that you want to use to update data1.
firstData = load('firstFile.mat')
secondData = load('secondFile.mat')
After these operations assume both data1 from “firstFile.mat” and the data2 in “secondFile.mat” share common field names that you want to update. Iterate over the fields of data2 to update data1.
fieldNames = fieldnames(secondData); % Get field names from secondData
for i = 1:length(fieldNames)
fieldName = fieldNames{i};
if isfield(firstData.data1, fieldName) % Check if this field exists in data1
firstData.data1.(fieldName) = secondData.(fieldName); % Update the field
end
end
Lastly while working with MATLAB GUI and you need to update the GUI data with this modified structure, you would use “guidata” to store the updated structure.
guidata(hObject, firstData.data1); % Update the GUI data with the modified structure where
% “hObject” is a handle to the currently executing GUI component
% (such as a figure, button, slider, etc.) that triggers a callback function.
You can also refer to the below documentation which tells you about how one can modify or do update operations with different handles in guidata.
Hope this helps!

Categories

Find more on Structures in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!