In Matlab, I have 2 tables, 1 table contains all of other tables' values. First table is named T1
freq = [2;3;4;5;6;54;3;4];
words = {'finn';'jake';'iceking';'marceline';'shelby';'bmo';'naptr';'simon'};
T1 = table(freq,...
'RowNames',words)
Table 2 is
freq = [10;3;6;3]
words = {'finn';'jake';'simon';'shelby'}
T2 = table(freq,...
'RowNames',words)
How do I use values from T2 into T1 and print like this:
T3=
freq2
finn %is scanned from T2, words that arent contain in T2, is ignored 2/10 %(2 is taken from T2)
jake 3/3 %(3 is taken from T2)
iceking 4 or 0 or etc %(as long as this name is ignored)
marceline 5 or 0 or etc %(as long as this name is ignored)
shelby 6/3 %(as long as this name is ignored)
bmo 54 or 0 or etc %(as long as this name is ignored)
naptr 3 or 0 or etc %(as long as this name is ignored)
simon 4/6 %(6 is taken from T2)
This should do it.
%copy T1 to be T3
T3=T1;
%find where the elements in each table are
[~,T1Ind,T2Ind] = intersect(T1.Properties.RowNames,T2.Properties.RowNames);
%modify the values
T3{T1Ind,1}=T3{T1Ind,1}./T2{T2Ind,1};
%modify the others if you want to
T3{~ismember(T1.Properties.RowNames,T2.Properties.RowNames),1}=0; %or etc
(Just keeping the preedited if you ever need it that way around)
%If it should be based on the smaller table
T4 = table(T2.freq./T1{T2.Properties.RowNames,1},'RowNames',T2.Properties.RowNames)
if you are going to work more with tables you should read "Access Data in a Table" in the matlab documentation, its really good for learning the different ways to extract data from a table