Bonjour à tous,
J'ai un petit problème suite à la lecture d'un fichier .txt par Matlab.
La variable A (lu sur le fichier .txt) me retourne le résultat suivant :
Le nombre de caractère pour les valeurs de A est fixé par la chaîne de caractère la plus grande (ici 'Name', donc tous les cellules contiennent 4 caractères).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 'H ' 'Fe ' 'Cu ' 'Mn ' 'Ni ' 'Si ' 'C ' 'Name' 'Mo ' 'Ga '
J'ai une autre variable B, qui peut prendre comme valeur l'un de ces élément mais c'est toujours sans espace comme :
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part 'C'
Le problème étant que j'ai besoin de comparer B aux valeurs de A pour trouver celles qui sont identiques mais les espaces empêchent d'obtenir un résultat positif.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 'Ga'
De plus, le nombre de caractère par cellule de A peut varier d'un .txt à un autre.
Voilà le script que j'utilise pour la comparaison pour l'instant, quand je connais A à l'avance et que j'ai du coup pu rajouter les espaces manquants à C.
J'avais pensé à limiter A en taille de caractère, en 'coupant' au 6ième caractère par exemple afin de toujours avoir la même taille quelque soit le fichier .txt mais je n'arrive pas le faire. Ou bien, à supprimer les espaces dans A, mais je ne trouve pas la solution non plus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 for i=1:1:LenghtA Test = strcmp(A{i},C{1}); if Test(1) == 1 %Opération sur une matrice H end end
Merci d'avance pour votre aide![]()
Partager