Compare two strings from unequal length cell array and assign value
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
I have a cell array named shortStranglePositions of which I am creating a unique list of strings based on the 6th column of shortStranglePositions, named callSymList. The reason why I am creating a unique list of strings (callSymList) is I have to get market data for each row in shortStranglePositions, and that takes time, and there is no need to ask for the data multiple times.
Where I am stuck is this:
I would like to logically assign the values in the 2nd column of callSymList to the 8th column in shortStranglePositions, based on a string match in the 6th column of shortStranglePositions to the 1st column of callSymList. For example, shortStranglePositions{1,8} should equal 0.6000.
I have tried multiple string compare approaches, but since the cell lengths are unequal, I am struggling to find a solution. Is there a way to do this without looping through each row of shortStranglePositions? If so, how? If not, what is the most efficient way to complete this task?
I should also mention that it will be very common for there to be multiple duplicate strings in the 6th row of shortStranglePositions.
I have included both cell arrays in the attached EXAMPLE.mat
0 Commenti
Risposta accettata
Voss
il 12 Lug 2023
load('EXAMPLE.mat')
[~,idx] = ismember(shortStranglePositions(:,6),callSymList(:,1));
shortStranglePositions(:,8) = callSymList(idx,2)
0 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Characters and Strings in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!