J'ai un tableau de cellules qui contient plusieurs matrices de tailles différentes. Je voudrais trouver & remplacer tous les éléments des matrices par une condition, par exemple. remplacer tous les 1 avec 0. J'ai trouvé une solution temporaire find and replace values in cell array, mais il semble plus compliqué qu'il doit être:matlab: rechercher et remplacer des éléments de matrices dans un tableau de cellules
Exemple:
A = {[1 2;3 4] [1 2 3;4 5 6;7 8 9]}
replacement = 1:9;
replacement(replacement==1)=0;
A = cellfun(@(x) replacement(x) ,A,'UniformOutput',false)
A{:}
ans =
0 2
3 4
ans =
0 2 3
4 5 6
7 8 9
Donc, cela fonctionne mais je pense que cela devrait être faisable sans d'abord spécifier une liste de remplacement va repères et ensuite "échanger" tous les éléments. (Je dois le faire beaucoup et avec des conditions plus complexes). Aucune suggestion?
ne fonctionne que dans le cas spécifique de remplacement des éléments à 0, mais c'est un cas très fréquent et il est une solution très nette pour ce cas. Merci! –
@lmoes Étendre à un cas générique était assez facile. Consultez les modifications. – Divakar
C'est exactement ce que j'ai cherché, merci encore. –