set, group in matlab

조회 수: 4 (최근 30일)
mingcheng nie
mingcheng nie 2023년 8월 18일
답변: Ramtej 2023년 8월 28일
Hi there,
I want to generate more than 10^4 times of following variables: A and B are 2D complex matrix from some distribution, C is 3D compelx matrix, where each layer of C is generated from some distribution. I am wondering if there a 'set' or 'group' function that can contain all those 10^4 times of A, B, and C? I can create 3D matrix for A and B to store 10^4 times generations, but I dont want to create a 4D matrix for matrix C...it seems inconvenient to access the datas store in them.

답변 (1개)

Ramtej
Ramtej 2023년 8월 28일
Hi mingcheng,
I understand you are trying to generate large number of instances of a variable and store them using a set or group function.
Unfortunately, in MATLAB there is no specific built-in data structure for sets and groups.
However, you can use Cell array for grouping the data to create and access the data conveniently.
Documentation for cell array: https://in.mathworks.com/help/matlab/ref/cell.html? searchHighlight=cell&s_tid=srchtitle_support_results_1_cell
% Example
numInstances = 10^4;
final_C = cell(numInstances, 1);
for itr = 1:numInstances
final_C{itr} = A; % each instance is stored in a separate cell element
end
% you can access the data for each instance of C conveniently without the need for a 4D matrix for C.
reqAns = final_C{n}(i,j,k); % to access (i,j,k)th element of nth instance.
Hope this helps!

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

태그

제품


릴리스

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by