# Create a new table based on variables of other tables (WITH DIFFERENT LENGTHS)

조회 수: 1(최근 30일)
David E.S. 2021년 2월 6일
편집: David E.S. 2021년 2월 7일
Hi! I want to create a new table based on variables of other tables; each variable has different length.
Supose I have a table (which name's "B"). I want to insert in another table the variables Type, Latitude, Longitude and Equtemp. I have another table which name is A and I want to take other variables of that table.
I'm trying to create a simple code but it gives me errors.
T = zeros(5, 14000); % T -> New table
T.Type = B.Type;
Unable to perform assignment because dot indexing is not supported for variables of this type.
Can you help me? Thanks!!
MATLAB Version: R2019b.

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

### 채택된 답변

Adam Danz 2021년 2월 6일
편집: Adam Danz 2021년 2월 6일
T = zeros(5, 14000); % T -> New table
No, that's not a table. That's a matrix of 0s.
>I want to insert in another table the variables Type, Latitude, Longitude and Equtemp
If 1) the tables are the same height, 2) the variables listed above do not already exist in table A, and 3) you want to concatenate those variables to table A
A.Type = B.Type;
A.Latitude = B.Latitude;
% etc...
If the tables are not the same height you will need to pad the shorter table with some value (e.g. NaN) or horizontally concatenate them using outerjoin (see demo).
If the variable names already exist in table A you will need to use new variable names.
If you want to replace variables in table A with the variables in table B you would use the same syntax as above
A.Type = B.Type;
##### 댓글 수: 3표시숨기기 이전 댓글 수: 2
David E.S. 2021년 2월 7일
I think in my case outerjoin is the best option. Very good and detailed example!
Thanks!
David

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

### Community Treasure Hunt

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

Start Hunting!

Translated by