Compare two strings from unequal length cell array and assign value
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
BuMatlab
el 12 de Jul. de 2023
Respondida: Voss
el 12 de Jul. de 2023
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 comentarios
Respuesta aceptada
Voss
el 12 de Jul. de 2023
load('EXAMPLE.mat')
[~,idx] = ismember(shortStranglePositions(:,6),callSymList(:,1));
shortStranglePositions(:,8) = callSymList(idx,2)
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Get Started with MATLAB en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!