How to account for a change in variabale name when using "find"?

1 vue (au cours des 30 derniers jours)
Tomaszzz
Tomaszzz le 17 Mai 2022
Commenté : Tomaszzz le 19 Mai 2022
Hi all,
I have a large excell file in which I am intending to find a specific variables in this way:
idx_lfoot_start = find(strcmp(data_raw(:, 2), '"HX210.11.31.M9-LF S0060"'));
idx_lfoot_end = find(strcmp(data_raw(:, 2), '"HX210.11.31.M9-RF S0060"'));
However, the variables, depending on a file, can be named:
"HX210.11.31.M7-LF S0060"
"HX210.11.31.M7-RF S0060"
I am using this variable as an index to extract data, an example below. If I do not acccount for this variation in the name, nothing is identified. How could I account for this in the code?
% indices between idx_lfoot_start and idx_lfoot_end
idx = arrayfun(@(idxStart, idxEnd) idxStart:idxEnd, idx_lfoot_start, idx_lfoot_end,...
'UniformOutput', false);
% corresponding values for variables of interest
c.l_avgP = cellfun(@(idxx) data_raw(idxx(strcmp(data_raw(idxx, 1), ...
'Average Pressure (PSI)')), 2), idx);

Réponse acceptée

Monica Roberts
Monica Roberts le 17 Mai 2022
Sounds like a job for regexp. For example:
>> regexp("HX210.11.31.M7-LF S0060","HX210*-LF S0060")
ans =
1
>> regexp("HX210.11.31.M7-LF S0060","HX210*-RF S0060")
ans =
[]
  3 commentaires
Monica Roberts
Monica Roberts le 17 Mai 2022
Without seeing "data_raw" I'm not sure what the code should look like. What does this give you?
regexp(data_raw(:, 2),"HX210.*-LF S0060")
Tomaszzz
Tomaszzz le 19 Mai 2022
Thanks, this does the trick

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Get Started with MATLAB dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by