Converting a rigid3d array into a table type
4 views (last 30 days)
Show older comments
Lets's Consider a rigid3d array of 1xn array containing T, Rotational, Translational elements. I want to convert this into a table format with Location and orientation columns as shown in the figure. The output should something look like a dictionary in python with varying array dimensions for each key. However in matlab its only permitting with same number of columns array.
0 Comments
Answers (2)
Nitin Kapgate
on 9 Feb 2021
If you execute the following code, the error "All table variables must have the same number of rows." is thrown in MATLAB.
viewIds = [1:10]';
a = zeros(5,3);
b = zeros(6,10);
t1 = table(viewIds, repmat(a,10,1), repmat(a,10,1));
This is because the MATLAB expects all table variables to have the same number of rows.
To overcome this problem, you can wrap the data in a cell and then add it to the table, as demonstrated in the following code:
viewIds = [1:10]';
c = {zeros(5,3)};
d = {zeros(6,10)};
t2 = table(viewIds, repmat(c,10,1), repmat(d,10,1));
The table t2 is created succesfully now.
0 Comments
See Also
Categories
Find more on Numeric Types in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!