split a vector and save it as a cell (1xN)
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Alberto Acri
am 13 Jul. 2023
Kommentiert: Dyuman Joshi
am 14 Jul. 2023
I have three vectors:
- vector_1 has numbers from 69 to 98;
- vector_2 has numbers from 69 to 78 and 82 to 98;
- vector_3 has numbers 69 to 78, 82 to 89 and 91 to 98.
I would like to subdivide the vector into a cell:
- for vector_1: I need to get a cell with numbers 69 to 98 (cell 1x1);
- for vector_2: I need to get a cell with the numbers 69 to 78 and 82 to 98 (cell 1x2);
- for vector_3: I need to get a cell with the numbers 69 to 78, 82 to 89 and 91 to 98 (cell 1x3).
1 Kommentar
Dyuman Joshi
am 14 Jul. 2023
"Is there any possibility to create a more generic code?"
The data you have is stored dynamically, which is hard to work with. There is possibility of improvement from the given answer, but you will have to do the same thing for each vector manually.
You can store the data in a cell array and run a for loop through each element.
How many vectors are you dealing with? What do you want to do this the output?
Akzeptierte Antwort
Vishnu
am 13 Jul. 2023
To subdivide avector into a cell array you can use the following code snippet. In this code, the cellArray is initialized as a cell array with the appropriate size to store the subdivisions of each vector. The subdivisions are then assigned to the respective cells using indexing.
% Define the vectors
vector_1 = 69:98;
vector_2 = [69:78, 82:98];
vector_3 = [69:78, 82:89, 91:98];
% Create a cell array to store the subdivisions
cellArray = cell(1, 2);
% Subdivide vector_1
cellArray{1} = vector_1;
% Subdivide vector_2
cellArray{2} = [vector_2(1:10), vector_2(15:end)];
% Subdivide vector_3
cellArray{3} = [vector_3(1:10), vector_3(15:22), vector_3(24:end)];
4 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!