Bonjour,
voilà j'aimerai simplement savoir si on peut arrêter la fonction textread à une ligne donnée, connaissant bien évidemment le numéro de la ligne.
Merci d'avance pour votre réponse
Mathylde
Bonjour,
voilà j'aimerai simplement savoir si on peut arrêter la fonction textread à une ligne donnée, connaissant bien évidemment le numéro de la ligne.
Merci d'avance pour votre réponse
Mathylde
A priori je dirais non.
Et dans ce cas les mieux c'est de faire de la lecture ligne par ligne avec les fonctions dites de bas-niveau : fopen, fgetl, fclose.
Si vraiment il y a beaucoup de lignes à la fin à ignorer tu gagneras ainsi beaucoup en performances (vitesse et mémoire).
Sinon tu lis tout et tu supprimes après.
Si tu lis la description de la fonction textread :
Il te dit bien qu'il lit tout le fichier...[A,B,C,...] = textread('filename','format') reads data from the file 'filename' into the variables A,B,C, and so on, using the specified format, until the entire file is read. textread is useful for reading text files with a known format. textread handles both fixed and free format files.
Note When reading large text files, reading from a specific point in a file, or reading file data into a cell array rather than multiple outputs, you might prefer to use the textscan function.
La note devrait satisfaire peut être tes besoins...
Voilà...
INCIA : MATLAB R2014a sous MAC OS 10.9.3
Nous piétinerons éternellement aux frontières de l'Inconnu, cherchant à comprendre ce qui restera toujours incompréhensible. Et c'est précisément cela qui fait des nous des hommes. Isaac Asimov
Merci pour cette réponse mais alors comment fait on pour supprimer des lignes d'un tableau?
Merci
ça dépend du format du tableau.
Montre nous à quoi il ressemble :
- sa taille
- son type (obtenu avec la fonction CLASS ou WHOS)
Mais en gros un exemple pour un tableau de cellules :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 T={'a','b';'c','d';'a','b';'c','d';'a','b';'c','d'}; %enlever à partir de la ligne 3 inclue T(3:end)=[];
Mon tableau est énorme, 19 colonnes et plus de 1000 lignes, j'aimerai ne conserver que les 1000 premières lignes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12>> class X2bis ans = char >> whos X2bis Name Size Bytes Class X2bis 1157x19 175864 double array Grand total is 21983 elements using 175864 bytes
Donc en modifiant un peu mon exemple :devrait fonctionner
Code : Sélectionner tout - Visualiser dans une fenêtre à part X2bis(1001:end,:)=[];
[EDIT]Pour l'utilisation de la fonction class :Là il retourne char car 'X2bis' (le nom de la variable) est un char
Code : Sélectionner tout - Visualiser dans une fenêtre à part class(X2bis)
Merci pour ta réponse, effectivement cela à bien marché.
Mais désormais, je n'arrive pas à tracer un graphique si j'ai apparemment rétrécie le nombre de mes lignes.
Je ne comprend pas:
de plus:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ??? Cell contents reference from a non-cell array object. Error in ==> Simulation at 49 plot(X3{1},X1bis{4},'g')
Je comprend pas, aidez moi SVP.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 class (X1bis) ans = double
Mathylde
Comme te le retournes la fonction CLASS, X1bis est un tableau de double et non pas de cellules donc tu ne peux pas utiliser les {}.
A quoi penses-tu que devrait correspondre X1bis{4} ?
C'est juste que je veux tracer la première colonne du tableau X3 en fonction de la quatrième colonne du tableau X4, c'est aussi simple que ça.
Pour bien comprendre ce que tu manipules, tu peux continuer à utiliser la commande whos.
Comme tu changes le nom de tes variables à chaque post je suis un peu perdue mais bon.
Si X est un tableau de doubles (ou une matrice) de taille n*m, accéder à la ième colonne se fait ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part X(:,i)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager