How to arrange data

3 Ansichten (letzte 30 Tage)
Mohamed Merah
Mohamed Merah am 12 Aug. 2021
Kommentiert: Jakeb Chouinard am 12 Aug. 2021
Hello, I use this code which is linked to a Simulink file to simulate and get data used for Artificial Neural Network. The data shown below are saved in structur format and each case contains 30001 data.
So I want to arrange data to get only one matrix with 2 rows and (30001*6) lines by modifying the matlab code or,
save directly the data acquired from MDL file under a matrix of 2 lines and 180006 lines.
Thank you.
j=1;
for ref_P=10:1:12;
for ref_Q=-10:1:-9;
options = simset('SrcWorkspace','current');
S = sim('gti_V3_15_NN',[],options);
%%%%%%%%%%%%%%%%%%%%%%%%%%%
Delta =data_out(:,1); % from workspace
Vom =data_out(:,2);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
out(j).Delta=Delta;
out(j).Vom=Vom;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Ref_P(j,1) = ref_P;
Ref_Q(j,1) = ref_Q;
%%%%%%%%%%%%%%%%%%%%%%%%%%%
j= j+1;
end
end

Akzeptierte Antwort

Jakeb Chouinard
Jakeb Chouinard am 12 Aug. 2021
Bearbeitet: Jakeb Chouinard am 12 Aug. 2021
You could likely extract and concatenate this data using a for loop or two, but a more elegent solution may be in using struct2cell(). Your fields will become a column vector of cells with their values being stored in a 3rd dimensional vector. From these, you could extract the data you're looking for using vertcat and brace indexing—See Below:
%% Setup:
bear = struct;
bear(1).paw = (1:100)';
bear(2).paw = (101:200)';
bear(3).paw = (201:300)';
bear(1).tail = (300:-1:201)';
bear(2).tail = (200:-1:101)';
bear(3).tail = (100:-1:1)';
%% Execution:
tempCell = struct2cell(bear);
vertPaw = vertcat(tempCell{1,1,:}); % Paw is the 1st row, 1st column entry of the cell array
vertTail = vertcat(tempCell{2,1,:}); % Tail is the 2nd row, 1st column entry of the cell array
horzVert = [vertPaw, vertTail]
horzVert = 300×2
1 300 2 299 3 298 4 297 5 296 6 295 7 294 8 293 9 292 10 291
  2 Kommentare
Mohamed Merah
Mohamed Merah am 12 Aug. 2021
That's exactly what I want.
Thank you Sir !
Jakeb Chouinard
Jakeb Chouinard am 12 Aug. 2021
Happy to help!
Cheers,
Jakeb

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by