Azzera filtri
Azzera filtri

Can I move the contains function from Matlab 2017b to Matlab 2014b?

2 visualizzazioni (ultimi 30 giorni)
Hello,
I am facing a Matlab compatability issue regarding the contains function. I wrote a script using Matlab 2017b but want to give it to a user group who only has access to 2014b.
The main back-compatability issue is that I use the contains function to find all indices of a text-based cell vector matching a string (e.g. indices = contains(cellVec, 'string')). I then reduce a different but identically-sized cell vector using those indices (e.g. cellVec2 = cellVec2(indices)). This was working very effectively for my needs and avoids any loops. Unfortunately, I need to find a way to replace all of these contains calls - I looked into using indices = ~isempty(strfind(cellVec,'string')) but this yields a single result instead of a numeric vector of results.
Since my computer has 2014b and 2017b, is there anything I can do to poach the 2017b contains function in a way that is usable by 2014b, or can I use strfind or another function to produce a numeric vector of indices while avoiding loops?
Thanks, Charlie
  2 Commenti
Walter Roberson
Walter Roberson il 5 Dic 2019
contains is part of the string() datatype upgrades; it relies on functionality that did not exist in R2014b
Adam Danz
Adam Danz il 5 Dic 2019
You could write your own function with the same name.
Maybe strcmp() or strcmpi() would suit your needs.

Accedi per commentare.

Risposta accettata

Charles Arentzen
Charles Arentzen il 5 Dic 2019
Thanks guys, good to know. I see what you mean on the updated string datatype, so trying to port over contains is definitely not a viable path.
I was able to solve the issue by using cellfun to produce a vector output:
indices = 1-cellfun('isempty',strfind(cellVec,'string'))

Più risposte (0)

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Tag

Prodotti


Release

R2014b

Community Treasure Hunt

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

Start Hunting!

Translated by