Usare comando fopen insieme a num2str ?

di il
1 risposte

Usare comando fopen insieme a num2str ?

Salve a tutti il mio problema e che ho tanti file contenenti dei dati che mi servono e per leggerli uso il commando
fid=fopen('cassone_freebody_data100001fx.dat','rt');
la mia domanda è: quel 100001 che si legge nel nomefile posso incrementarlo in qualche modo, qundi cambiando il nomefile nella riga di comando?

io avevo pensato a una cosa del genere ma non funziona ovviamente
fid=fopen('cassone_freebody_data',num2str(100001),'fx.dat','rt');
cioè far riconoscere il 100001 da numero a stringa in modo da metterci una variabile farla incrementare e poter così cambiare il nomefile

linciatemi pure se nn sono chiaro

1 Risposte

  • Re: Usare comando fopen insieme a num2str ?

    Il nome del file deve essere costruito come una stringa.
    Nel caso specifico della domanda, si possono identificare tre componenti del nome del file:

    [*] radice: "cassone_freebody_data' (fname_1)
    [*] codice numerico che si vuole incrementare: 100001 (file_code)
    [*] parte finale del nome ed estensione: "fx.dat" (fname_2)

    la stringa "nome_file" può essere costruita come segue:

    nome_file=[fname_1 num2str(file_code) fname_2];

    La stringa "nome_file" viene quindi passata in input all'istruzione fopen

    fid=fopen(nome_file,'rt');

    Nello script in calce è stato implementato

    [*] il metodo sopra descritto
    [*] un esempio di utilizzo del metodo all'interno di un loop
    
    % 
    % Definizione della radice del nome del file
    % 
    fname_1='xxxxxxxxxx';
    % 
    % Definizione della parte finale del nome del file e dell'estensine
    % 
    fname_2='yyyyyy.dat';
    % 
    % Definizione del "codice numerico" del file
    % 
    file_code=100001;
    % 
    % Costruzione ddel nome completo del file ed apertura del file
    % (l'istruzione per l'apertura è stata commenrtata per "sicurezza")
    % 
    nome_file=[fname_1 num2str(file_code) fname_2]
    % fid=fopen(nome_file,'rt');
    % 
    % Esempio di creazione iterativa di nomi di file e loro apertura
    % (l'istruzione per l'apertura è stata commenrtata per "sicurezza")
    % 
    for file_code=1:13
       nome_file=[fname_1 num2str(file_code) fname_2]
    %    fid=fopen(nome_file,'rt');
    end
    
    Hope this helps.
Devi accedere o registrarti per scrivere nel forum
1 risposte