How to save multiple 2D arrays in a third dimension in simulink?
Mostra commenti meno recenti
I will be reading multiple 2D arrays of the same size (100, 8) in time. The idea is to concatenate all of them in a 3D array.
How can implement this in simulink?
3 Commenti
I'm not familiar with simulink, but in Matlab:
my3Darray = cat(3,my2Darray1,my2Darray2,<etc.>);
or, while making them:
my3Darray=zeros(100,8,10);
for ind=1:10
my2Darray = rand(100,8); % or however you read them
my3Darray(:,:,ind) = my2Darray;
end
madhan ravi
il 27 Apr 2020
Sindars code can be encapsulated in the function block in SIMULINK.
Mariana
il 29 Apr 2020
Risposte (1)
Samatha Aleti
il 30 Apr 2020
Hi,
You can accordingly place a condition for concatenating each 2D array to a 3D array. Here is a sample code(modified code of Sindar's):
N = 10; % Let Num of 2D arrays
my3Darray=zeros(100,8,N);
for ind=1:10
my2Darray = randi(50,100,8);
my3Darray(:,:,ind) = my2Darray;
% check for "1" in last column and remove concatenation of 2D array if there is no "1"
if all(my2Darray(:,end) ~= 1)
my3Darray(:,:,ind) = [];
end
end
Categorie
Scopri di più su Simulink Functions in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!