IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

faire une boucle pour lire plusieurs fichiers à la suite [Débutant]


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 49
    Points : 11
    Points
    11
    Par défaut faire une boucle pour lire plusieurs fichiers à la suite
    Bonjour et bonnes fêtes à tous,

    j'ai un soucis à savoir que je dois lire 9 fichiers de type .map et je ne vois pas comment générer une boucle de lecture (les fichiers vont de N65_Scan0_exp.map à N65_Scan8_exp.map).

    Voici le code déjà écrit pour un fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    clc; clear all;
     
     
    %% Daten Einlesen
    %Eintrittsdaten fuer T = "N65" 
    %[pt_Eintritt,Tt_Eintritt,ps_Eintritt,Drehzahl,R,gamma,cp,p_isa,T_isa]=textread('N65.map','%f %f %f %f %f %f %f %f %f','headerlines',1);
    %Daten=[pt_Eintritt,Tt_Eintritt,ps_Eintritt,Drehzahl,R,gamma,cp,p_isa,T_isa];
     
    %%DATA IMPORT
    N65korr=importdata('N65_korr.map');
    N65=N65korr.data;
     
    N65EXP0=importdata('N65_Scan0_exp.map');
    XP0=N65EXP0.data;
     
    %Erstellung von EXITPLANES TOTALDRUCK, TOTALTEMPERATUR
    for i=1:600
    THETA0(i,1)=XP0(i,1);
    RADIUS0(i,1)=XP0(i,2);
    Pt0(i,1)=XP0(i,3);
    Tt0(i,1)=XP0(i,4);
    end
     
    [x,y]=pol2cart(THETA0,RADIUS0);
    rint=min(RADIUS0);
    rext=max(RADIUS0);
    [R,T] = meshgrid(linspace(rint,rext,300),linspace(min(THETA0),max(THETA0),100));
     
    % Interpolation dans repere polaire (domaine convexe)
    zi = griddata(RADIUS0,THETA0,Tt0,R,T,'cubic');
     
    [X,Y] = pol2cart(T,R);
     
    figure(1)
    %contourf(X,Y,zi,40)
    surf(X,Y,zeros(size(X)),zi,'edgecolor','none')
    colorbar
    view(2)
    axis equal tight
     
    %Pt Matrix erstellen mit i=Radius und j=THETA
    Ptmat=reshape(Pt0,40,15);
     
    %%Aehnlichkeitsbeziehungen der Betriebspunkte aus N65korr.map
    %Drehzahlgleichheit
    % for i=1:9
    % Gamma(i,1)=N65(i,7);
    % R(i,1)=N65(i,6);
    % T_mess(i,1)=N65(i,2);
    % T_isa(i,1)=N65(i,10);
    % a_mess(i,1)=(Gamma(i,1).*R(i,1).*T_mess(i,1)).^0.5;
    % a_isa(i,1)=(Gamma(i,1).*R(i,1).*T_isa(i,1)).^0.5;
    % n_welle(i,1)=N65(i,4);
    % n_cor(i,1)=n_welle(i,1).*a_isa(i,1)./a_mess(i,1);
    % %u_isa=u_mess*a_isa/a_mess --> n_cor=n_mess*a_isa/a/mess
    %  
    % %Massenstromgleichheit
    % p_s(i,1)=N65(i,3);
    % p_isa(i,1)=N65(i,9);
    % rho_isa(i,1)=p_isa(i,1)./(R(i,1).*T_isa(i,1));
    % rho_mess(i,1)=p_s(i,1)./(R(i,1).*T_mess(i,1));
    % m_cor(i,1)=m_welle(i,1)*rho_isa(i,1)./rho_mess(i,1).*a_isa(i,1)./a_mess(i,1);
     
    %%Aehnlichkeitsbeziehungen der Betriebspunkte aus N65korr.map
    %Drehzahlgleichheit
    for i=1:9
    Gamma(i,1)=N65(i,7);
    R(i,1)=N65(i,6);
    T_mess(i,1)=N65(i,2);
    T_isa(i,1)=N65(i,10);
    a_mess(i,1)=(Gamma(i,1).*R(i,1).*T_mess(i,1)).^0.5;
    a_isa(i,1)=(Gamma(i,1).*R(i,1).*T_isa(i,1)).^0.5;
    n_welle(i,1)=N65(i,4);
    n_cor(i,1)=n_welle(i,1).*a_isa(i,1)./a_mess(i,1);
    %u_isa=u_mess*a_isa/a_mess --> n_cor=n_mess*a_isa/a/mess
     
     
     
    %Massenstromgleichheit
    m_welle=
     
     
    p_s(i,1)=N65(i,3);
    p_isa(i,1)=N65(i,9);
    rho_isa(i,1)=p_isa(i,1)./(R(i,1).*T_isa(i,1));
    rho_mess(i,1)=p_s(i,1)./(R(i,1).*T_mess(i,1));
    m_cor(i,1)=m_welle(i,1)*rho_isa(i,1)./rho_mess(i,1).*a_isa(i,1)./a_mess(i,1);
     
    end
    merci beaucoup pour l'aide

  2. #2

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 49
    Points : 11
    Points
    11
    Par défaut
    j'avais vu mais je pensais que c'est juste pour créer des fichiers et non pour les lire

  4. #4
    Invité
    Invité(e)
    Par défaut
    Cela sert juste à générer les noms des fichiers, après tu en fais ce que tu en veux selon ton besoin (création, lecture, modification, ...).

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 49
    Points : 11
    Points
    11
    Par défaut
    et si les fichiers sont déjà existants? En fait j'ai 9 fichiers à lire

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Winjerome Voir le message
    après tu en fais ce que tu en veux selon ton besoin (création, lecture, modification, ...).
    Quel est ton problème exactement?
    Je vois que tu utilises la fonction IMPORTDATA... il te suffit de rentrer le nom généré:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for n = 0:8
        nomFichier = sprintf('N65_Scan%d_exp.map',n)
        contenu = importdata(nomFichier);
    end

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 49
    Points : 11
    Points
    11
    Par défaut
    en fait je pensais que ce type de fonction permettait de créer un fichier pas de pouvoir le lire: j'en apprend tous les jours

    merci Winjerome

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 09/05/2014, 17h57
  2. Réponses: 1
    Dernier message: 04/02/2010, 20h41
  3. Faire une boucle pour facilité le calcul
    Par r_dani dans le forum Macro
    Réponses: 2
    Dernier message: 25/03/2009, 12h52
  4. Faire une Boucle pour lire dans Settings.settinge
    Par totoen dans le forum Windows Forms
    Réponses: 0
    Dernier message: 27/10/2008, 10h44
  5. Faire une boucle pour l'alphabet
    Par El-Diablo- dans le forum Langage
    Réponses: 2
    Dernier message: 08/04/2008, 23h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo