is there an equivalent vlookup formula excel in matlab of a string?
4 views (last 30 days)
Show older comments
I have the following matrix:
Name_1 Name_2 ..... Name_n
23.5 25.8 29.6
24.5 85.5 ........ 59.2
A matrix (nxn), where in the first row ther'is the name of stocks, and in the other row the historical price. Then, I have another matrix of pair of stocks, for example:
Name_1 Name_2
Name_3 Name_5
and so on.... I want a code that give me for all pair the respective stock prince. For example for the first pair: Name_1 Name_2 I want to extrapolate the following matrix:
Name_1 Name_2
23.5 25.8
24.5 85.2
and so on. Thxs
0 Comments
Answers (2)
Image Analyst
on 23 Mar 2016
I'd use tables.
ca = {'Name_1' 'Name_2' 'Name_n';
23.5 25.8 29.6;
24.5 85.5 59.2}
% Convert cell array to table
numericalDataOnly = ca(2:end,:);
t = cell2table(numericalDataOnly);
% Make columns have the names we want.
t.Properties.VariableNames = ca(1,:)
% Make the other cell array
ca = {'Name_1' 'Name_2';
'Name_3' 'Name_5'}
% Extract columns for the first row
% which is the columns for Name_1 and Name_2 only.
row = 1; % Whatever you want, can even be a loop index
col1 = t{:, ca{row, 1}}
col2 = t{:, ca{row, 2}}
% Construct final array. It will be doubles, not a table.
output = [col1, col2]
Walter Roberson
on 24 Mar 2016
looking_up = {'Name_1', 'Name_2'};
[tf, colidx] = ismember(looking_up, YourCell(1,:));
Extract = YourCell(:, colidx(tf));
0 Comments
See Also
Categories
Find more on Genetic Algorithm 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!