How to add value to tables (inside a cell) from the other array?
5 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Dear all
I have an array 1x4 (namely point) and a cell 1x4 (namely C). In the C I have 6x1 tables. I want to respectively copy the value of point as the second column of each table (first cell of point for the first array of C, second cell of point for the second array of C, and so on... In fact, each array of points repeat 6 times and paste into cell arrays.
I would be grateful if anyone can tell me how it is possible.
Thank you
0 Commenti
Risposta accettata
Image Analyst
il 10 Mag 2020
This will do it:
% Load 2 mat files:
s = load('c.mat')
c = s.C
s = load('point.mat')
p = s.point
% Now stitch p, as a column vector, onto
% the right side of each table in each cell.
for column = 1 : length(c)
% Get this table by extracting it from this cell of the cell array.
t = c{column}
% Make another column of 6 rows onto t.
% All 6 values in the second column will be 0 to start with.
t{end, 2} = 0;
% Fill up the first 4 rows of the second column
% of this table with p. Last 2 rows will remain 0.
t{1:length(p), 2} = p(:)
% Stuff new table back into the cell
c{column} = t;
end
3 Commenti
Image Analyst
il 11 Mag 2020
Try it this way:
% Load 2 mat files:
s = load('c.mat')
c = s.C
s = load('point.mat')
p = s.point
% Now stitch p, as a column vector, onto
% the right side of each table in each cell.
for column = 1 : length(c)
% Get this table by extracting it from this cell of the cell array.
t = c{column};
% Make another column of 6 rows onto t.
% All 6 values in the second column will be 0 to start with.
t{end, 2} = 0;
% Fill up the first 4 rows of the second column
% of this table with p. Last 2 rows will remain 0.
t{:, 2} = p(column);
% Stuff new table back into the cell
c{column} = t;
end
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Logical in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!