Effacer les filtres
Effacer les filtres

Insert numeric values (rx1 matrix) inside a cell

2 vues (au cours des 30 derniers jours)
Alberto Acri
Alberto Acri le 10 Déc 2022
Commenté : Stephen23 le 11 Déc 2022
Hi. I would like to insert a column of 100:
rep = repmat(100,157,1);
inside the first cell (see image) so that 157x2 becomes 157x3.
The third column represents "rep".
How can I do this?

Réponse acceptée

Arif Hoq
Arif Hoq le 10 Déc 2022
a=randi(100,157,2);
b=randi(200,189,2);
c=randi(300,183,2);
mat={a;b;c} % making a cell array
mat = 3×1 cell array
{157×2 double} {189×2 double} {183×2 double}
% rep = repmat(100,157,1);
mat3={[mat{2,1} repmat(100,size(mat{2,1},1),1)]};
for i=1:size(mat,1)
aaa(i)={[mat{i,1} repmat(100,size(mat{i,1},1),1)]};
end
output=aaa'
output = 3×1 cell array
{157×3 double} {189×3 double} {183×3 double}
  2 commentaires
Alberto Acri
Alberto Acri le 10 Déc 2022
Thank you for the answer. I don't want to insert the same value 100 to all cells.
At the first cell (157x2) I need to insert the third column of all 100.
At the second cell (189x2) I need to insert the third column of all 150.
At the third cell (183x2) I must insert the third column of all 200.
Arif Hoq
Arif Hoq le 10 Déc 2022
tyr this:
a=randi(100,157,2);
b=randi(200,189,2);
c=randi(300,183,2);
mat={a;b;c}; % making a cell array
% rep = repmat(100,157,1);
% mat3={[mat{2,1} repmat(100,size(mat{2,1},1),1)]};
for i=1:size(mat,1)
if i==1
aaa(i)={[mat{i,1} repmat(100,size(mat{i,1},1),1)]};
elseif i==2
aaa(i)={[mat{i,1} repmat(150,size(mat{i,1},1),1)]};
elseif i==3
aaa(i)={[mat{i,1} repmat(200,size(mat{i,1},1),1)]};
end
end
output=aaa';

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Data Type Identification dans Help Center et File Exchange

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by