Add column in specific number range to available table
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi. I have a 1650x3001 table named A. I want to add a column named B in number from 400 to 2970 that fit the row size, how can I do that?
I have try this but not work, say "Unable to perform assignment because the size of the left side is 1650-by-1 and the size of the right side is 1-by-2571"
A.B(:,1) = (400:2970);
Thanks for your help.
0 commentaires
Réponses (2)
Fangjun Jiang
le 27 Mar 2024
Modifié(e) : Fangjun Jiang
le 27 Mar 2024
try this
A.B(:,1) = randi([400,2970],[1650 1])
understand this. Generate a 3x1 matrix with random interger value that is between 1 and 10
randi([1 10],[3,1])
help randi
0 commentaires
VBBV
le 27 Mar 2024
A.B(:,1) = (400:2970).'; % use transpose
1 commentaire
VBBV
le 27 Mar 2024
Modifié(e) : VBBV
le 27 Mar 2024
@Phuong If i understand your question right, you want to add a column within the range of columns, then you need to use position index and join functions to add the column
pos = 410; % e.g
if pos >=400 & pos <=2970
pos = pos;
else
disp('')
end
B = table(rand(1650,1));
A = join(A,B,'Keys',[pos 1])% join at the specific position
Voir également
Catégories
En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!