How to convert a numeric array to a table.I want the first row of data of the array to be J and the second row of data to be K in a table T[J K];

>> A=imread('C:\Users\ADMIN\Desktop\canada.bmp');
>> level=graythresh(A);
>> B=im2bw(A);
>> O=imcontour(B);
I'm building this code and the last command returns an array wich has two rows of data!These data are the points of contoured image invariants.I want to create a table which will take the first row of data as J and the second row as K in a new table T[J K];Don't mind if it's double or unit8 or something else.Please help!!

 Accepted Answer

array2table(O.', 'VariableNames', {'J', 'K'});
Single letter variable names / column names are not good practice. Use variable names that have meaning.

4 Comments

Thanks a lot!So the first row goes to J with a long variable name and secong row goes to K with also long name?
And how can i reffer to the fist row?For example J1 or J2 or K1 or K2 e.t.c??
Please, see the help on working with tables
mytable = array2table(O.', 'VariableNames', {'J', 'K'});
mytable(1, :) %return 1st row of mytable as a table
mytable.J(1) %return 1st element of column J

Sign in to comment.

More Answers (1)

A=randi(10,2,5)
names={'J','K'}
cell2table(num2cell(A'),'VariableNames',names)

2 Comments

Thank you!!!Please note me the importance of randi in this case!
There's no need to go through a cell array. array2table will directly convert all columns of a matrix into table columns.

Sign in to comment.

Categories

Find more on Data Import and Analysis 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!