Add column in specific number range to available table

조회 수: 4 (최근 30일)
Phuong
Phuong 2024년 3월 27일
편집: VBBV 2024년 3월 27일
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.

답변 (2개)

Fangjun Jiang
Fangjun Jiang 2024년 3월 27일
편집: Fangjun Jiang 2024년 3월 27일
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])
ans = 3x1
1 6 2
help randi

VBBV
VBBV 2024년 3월 27일
A.B(:,1) = (400:2970).'; % use transpose
  댓글 수: 1
VBBV
VBBV 2024년 3월 27일
편집: VBBV 2024년 3월 27일
@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

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by