Matlab, leggere nome file

di il
14 risposte

Matlab, leggere nome file

Buongiorno a tutti, non ho mai usato matlab, ma devo fare alcune modifiche a un programma che mi hanno dato...spero possiate aiutarmi.
Grazie in Anticipo

Vi copio qui il programma originale, perchè se provo ad allegare il file .m mi dice che l'estensione non è valida.
 
 % in questo programma si cerca di esprimere il generico spettro di carbonio
% amorfo ad esempio e pirovalvole come combinazione lineare degli spettri
% standardizzati di grafite e diamante. Gli spettri sono stati acquisiti
%in diffrazione
% usando condizioni il più possibile standard.
%%% Convoluzione su eVc riga 768 graconv2
%%% convoluzione su eVl (riga 184)  è graconv_n (da riga 624)

clear all
close all
global ckgran ckdian c60n flat flat2 b60  x a1 a2 a3 s1 s2 s3 Rgra2 Rmat2 flatc
global A lambda sse R2 a1 mu1 eps1  a2 mu1 mu2 eps2  Rgra Rmat x sig eps

global xdata ydata intspx  sp2e5n resid range Kfit gra2_T  ckgraconv_n
global gra_T  pi_gau  sig_gau  y36nn eps3 ygra2n graconv2 ckgra_o xdatas ydatas 

%%% Spettri in imaging

load 'dia_221_2_0_2.txt'; %spettro diamante in diffrazione 
load 'hopg_220_4_0_2.txt'; %spettro grafite in diffrazione campione 2 ex 'hopg_220_4_0_2.txt'
load 'c60_217_0_0_2.txt'; 
load 'piro_216_0_0_2.txt'; % spettro PIROVALVOLA in diffrazione 

%% seleziono i files acquisiti per 40.96 s OVVERO GLI SPETTRI CK SENZA
%% NOISE 

df =0.2;%% risoluzione spettrale
N = 1024;%% sample length
T = 40.96;%% acquisition time ck

eVstart = 216; % start scala energia       %%% da inserire per ogni campione !!!!!!!

eV0=220; % scala basi
eVel_start = -25;                                %da inserire per ogni campione
  %eVel_start = -25.2  

for j=1: N
      eV_el(j) = -18.6 + df*j;   %%% scala di energia picco elastico
      
       eV(j) = eV0+ df*j;
      jmin =round((282.5-eV0)/df); % indice che corrisponde ad Emin 282.5 eV
      % jmin =round((280-eV0)/df); % indice che corrisponde ad Emin 280 eV
      j280 = round((282.5-eV0)/df);
      j292 = round((292-eV0)/df);
      j293 =round((293-eV0)/df);
      j310=round((310-eV0)/df);
      j350=round((350-eV0)/df);
    jlim = j310;  %%% FISSA LA WINDOW  DI ENERGIA CHE PARTE DA Emin  [Emax di Titantah (291,292,293)]
     %jlim = j295; 
     j288 = round((288-eV0)/df);
%      jlim = j300; 
      range = jlim -jmin;  %%% WINDOW DI ENERGIA SU CUI EFFETTUARE IL FIT
       rangel = j350-jmin;%% range su cui effettuare la convoluzione

       
      %%% costruire il vettore con spettro ck e spettro zl

        ck(j) =piro_216_0_0_2(j);% sample 9 ora 7 (il più grafitico) O

     %% BASI DI TITANTAH
    

      %%%  Spettri che costituiscono le basi
      
      ckdiadiff(j) =dia_221_2_0_2(j);%% spettro del diamante in diffrazione
      
      ckgradiff(j) = hopg_220_4_0_2(j);%% spettro della grafite in diffrazione
      
      c60diff(j)= c60_217_0_0_2(j); %%% spettro c60 in diffrazione
    
      %c60diff(j) = c60_270314_holey_c_12__1350mm__nd_ck_06_02_1024_1nn_spot5_en_cor_edge_217_0_0_2(j);  %
    

  end
 
  

  
  %% TRASPONGO GLI SPETTRI PER FARNE DEI VETTORI COLONNA
  
  
    ckdiadiff = ckdiadiff';
    ckgradiff = ckgradiff';
    c60diff = c60diff';
   
  ck = ck';
  ns = round((eV0-eVstart)/df); % numero punti di cui traslare lo spettro
  %%% shifto opportunamente gli spettri  %%%%%%%%%%%%%%%%%%
  for k=ns+2+6+15:N
    ck_gra(k) = ckgradiff(k-2);
    ck_dia(k) = ckdiadiff(k-6);
    c60(k-15) = c60diff(k);
    
    ck_s(k-ns) = ck(k);
  end

  
%%% per normalizzare gli spettri li divido per l'area ck totale
%   
  intdiack =0;
  intgrack =0;
  intc60=0;
  intck = 0;
  
 
  %%%  integrale spettro ck  282 - 380 eV  Ick (lo spettro ck si deve
  %%%  estendere su un range di circa 100 eV
for j= jmin:jlim%%%CAMBIARE IL RANGE PER MODIFICARE LA NORMALIZZAZIONE!!!!!
    intdiack =intdiack + df*ck_dia(j);
    intgrack = intgrack +df*ck_gra (j);
    intc60 = intc60 +df*c60(j);
    
    intck = intck +df*ck_s (j);
   
end
  
  %%%%%%%%%%%%%%%%%%%% spettri normalizzati%%%%%%%%%%%%%%%%%%%%%%
    for k=1:range  %%%%%%%%%%%%% spettri delle basi normalizzati nel range 280 - 300 eV
      
        ckdian(k) = ck_dia(k+jmin-1)./intdiack;
        ckgran (k) =ck_gra(k+jmin-1)./intgrack;
        c60n (k) = c60(k+jmin-1)./intc60;  %%% fullerene normalizzato
        
%%% spettro normalizzato del campione incognito
        ckxfit(k) = ck_s(k+jmin-1)/intck;
     
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
        eVc(k) = eV(k+jmin-1);
    end
    
   

    
    %%%%%%%%%%%%%%%%%%%%%%%%%   metodo di marco %%%%%%%%%%%%%%
    graconv=0;

     sig = 0.2;%% da inserire il valore giusto per ogni campione
     basis  = (1./(sig*(2*pi)^0.5).*exp(-((eVc-284.7).^2)./(2*sig^2)));
   


    graconv = conv(basis,ckgran); %% convoluzione fra lo spettro di grafite e un picco gaussiano centrato a 284.7 eV
    granconv2 =0;

%%%% ora lo spettro originario e quello convoluto devono essere allineati
%%%% %%%%%
  shift =11;
  for j=1:numel(graconv)-shift
      graconv2(j)=graconv(j+shift);
     
  end
    %%% normalizzazione dello spettro convoluto
 intgraconv=0;

for j= 1:range%%%CAMBIARE IL RANGE PER MODIFICARE LA NORMALIZZAZIONE!!!!!
    intgraconv =intgraconv + df*graconv2(j);

  end
  ckgraconv_n=graconv2(1:range)./intgraconv;

  
     figure (1)
  plot(eVc, ckxfit,'m*'); hold on
  plot(eVc, ckgran,'r'); hold on
  
  plot(eVc, ckgraconv_n,'b');
  
%   
  
      
    
    
    %%%%% programma per fitting %%%%%%%%%%%%%%%%%%%
    Kfit = 1;

     xdata=eVc;%  

     
    ydata = ckxfit ; %%% campione amorfo da fittare

 %%%%%%%%%%%%  FITTING PER DEFINIRE SIGMA  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %%%%%%%%%%%%  della grafite convoluta

 
[estimates, model] = fitcurvedemo(xdata,ydata);

% if ((ydata - (estimates(1)*ckgran + estimates(2)*ckdian)) >0)
[sse, FittedCurve] = model(estimates);

figure (2)
 plot(xdata, ydata, 'k*'); hold on  %%% grafico del campione da fittare
%    plot(xdata, FittedCurve, 'b');

  plot(xdata,ydata - A.*ckgraconv_n-lambda.*ckdian,'r'); %residuo (differenza tra campione e campione fittato)
  plot(xdata, A.*ckgraconv_n+lambda.*ckdian,'k');  %% funzione di fitting
  axis([ 282   300  0  0.06])
  xlabel('energy (eV)');
  ylabel('relative counts');
   legend (' Sample 6' )
  
 
Come potete vedere fa le chiamate ai files dati

load 'dia_221_2_0_2.txt'; %spettro diamante in diffrazione 
load 'hopg_220_4_0_2.txt'; %spettro grafite in diffrazione campione 2 ex 'hopg_220_4_0_2.txt'
load 'c60_217_0_0_2.txt'; 
load 'piro_216_0_0_2.txt'; % spettro PIROVALVOLA in diffrazione 
e poi mi sembra di aver capito che richiama quei files in questa parte
  %%% costruire il vettore con spettro ck e spettro zl

        ck(j) =piro_216_0_0_2(j);% sample 9 ora 7 (il più grafitico) O

     %% BASI DI TITANTAH
    

      %%%  Spettri che costituiscono le basi
      
      ckdiadiff(j) =dia_221_2_0_2(j);%% spettro del diamante in diffrazione
      
      ckgradiff(j) = hopg_220_4_0_2(j);%% spettro della grafite in diffrazione
      
      c60diff(j)= c60_217_0_0_2(j); %%% spettro c60 in diffrazione
      
Io quello che devo fare è poter chiedere il nome dei files da aprire...avevo provato a fare così,
Innanzitutto, all'inizio del programma ho scritto
global diamdiff
e poi, ad esempio al posto di
load 'dia_221_2_0_2.txt'; %spettro diamante in diffrazione 
.
.
.
.
.
.
ckdiadiff(j) =dia_221_2_0_2(j);%% spettro del diamante in diffrazione
avevo scritto

diamdiff=input('Nome spettro diamante in diffrazione= ');
[fid msg]=fopen(diamdiff,'r');
.
.
.
.
ckdiadiff(j) =diamdiff(j);%% spettro del diamante in diffrazione
Purtroppo però il programma parte, mi chiede il nome , scrivo il nome del file (compreso .txt) e mi da errore

Questo è l'errore:

sp2sp3diff_Titantah
Nome spettro diamante in diffrazione= dia_221_2_0_2.txt
Undefined variable "dia_221_2_0_2" or class "dia_221_2_0_2.txt".

Error in sp2sp3diff_Titantah (line 23)
diamdiff=input('Nome spettro diamante in diffrazione= ');
Qualcuno sa aiutarmi per favore?

14 Risposte

  • Re: Matlab, leggere nome file

    In base a quanto hai riportato:
    sp2sp3diff_Titantah
    Nome spettro diamante in diffrazione= dia_221_2_0_2.txt
    Undefined variable "dia_221_2_0_2" or class "dia_221_2_0_2.txt".

    Error in sp2sp3diff_Titantah (line 23)
    diamdiff=input('Nome spettro diamante in diffrazione= ');
    sembra che tu abbia inserito il nome del file senza includerlo tra due apici (').
    Se è così, MatLab ha interpretato quello che hai inserito non come il nome del file, ma come una variabile, nella fattispecie, considerando la parte ".txt", come una struttura (struct) con il campo "txt".

    Prova con: 'dia_221_2_0_2.txt' (nota gli apici)

    Per evitare di dover scrivere direttamente il nome del file (con il rischio di sbagliare) puoi usare la funzione "uigetfile" che apre l'intefaccia grafica "Open FIle".
  • Re: Matlab, leggere nome file

    Ciao, innanzitutto grazie. Per ora ho provato scrivendo il nome (poi proverò anche uigetfile).
    Purtroppo adesso (scrivendo gli apici) ho quest'altro errore
    >> sp2sp3diff_Titantah
    Nome spettro diamante in diffrazione= 'dia_221_2_0_2.txt'
    Index exceeds matrix dimensions.

    Error in sp2sp3diff_Titantah (line 74)
    ckdiadiff(j) =diamdiff(j);%% spettro del diamante in diffrazione

    >>
  • Re: Matlab, leggere nome file

    Hai provato con il debugger?
    Il messaggi di errore è molto chiaro.

    Cosa contiene "diamdiff"?
    Qual è la sua dimensione?
    Quanto vale "j" quando viene generato il messaggio di errore?
  • Re: Matlab, leggere nome file

    Ciao e grazie ancora. Il file è un semplice file in cui c'è tutta una serie di numeri (un vettore riga per intenderci) ...ma nel programma originale (Quello con load) funziona...

    Comunque questo è il programma .m come l'ho modificato (e mi da quell'errore che ti ho detto)
    
    
    
    % in questo programma si cerca di esprimere il generico spettro di carbonio
    % amorfo ad esempio e pirovalvole come combinazione lineare degli spettri
    % standardizzati di grafite e diamante. Gli spettri sono stati acquisiti
    %in diffrazione
    % usando condizioni il più possibile standard.
    %%% Convoluzione su eVc riga 768 graconv2
    %%% convoluzione su eVl (riga 184)  è graconv_n (da riga 624)
    
    clear all
    close all
    global ckgran ckdian c60n flat flat2 b60  x a1 a2 a3 s1 s2 s3 Rgra2 Rmat2 flatc
    global A lambda sse R2 a1 mu1 eps1  a2 mu1 mu2 eps2  Rgra Rmat x sig eps
    
    global xdata ydata intspx  sp2e5n resid range Kfit gra2_T  ckgraconv_n
    global gra_T  pi_gau  sig_gau  y36nn eps3 ygra2n graconv2 ckgra_o xdatas ydatas 
    %%%%%%%%%%%%%%%%%%%START MIE MODIFICHE%%%%%%%%%%%%%%%%%%%%
    global diamdiff 
    %%%%%%%%%%%%%%%%%%%END MIE MODIFICHE%%%%%%%%%%%%%%%%%%%%
    
    %%% Spettri in imaging
    %%%%%%%%%%%%%%% START MIE MODIFICHE%%%%%%%%%%%%%%%%%%%%%%%%%
    %load 'dia_221_2_0_2.txt'; %spettro diamante in diffrazione 
    diamdiff=input('Nome spettro diamante in diffrazione= ');
    [fid msg]=fopen(diamdiff,'r');
    %%%%%%%%%%%%%END MIE MODIFICHE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    load 'hopg_220_4_0_2.txt'; %spettro grafite in diffrazione campione 2 ex 'hopg_220_4_0_2.txt'
    load 'c60_217_0_0_2.txt'; 
    load 'piro_216_0_0_2.txt'; % spettro PIROVALVOLA in diffrazione 
    
    %% seleziono i files acquisiti per 40.96 s OVVERO GLI SPETTRI CK SENZA
    %% NOISE 
    
    df =0.2;%% risoluzione spettrale
    N = 1024;%% sample length
    T = 40.96;%% acquisition time ck
    
    eVstart = 216; % start scala energia       %%% da inserire per ogni campione !!!!!!!
    
    eV0=220; % scala basi
    eVel_start = -25;                                %da inserire per ogni campione
      %eVel_start = -25.2  
    
    for j=1: N
          eV_el(j) = -18.6 + df*j;   %%% scala di energia picco elastico
          
           eV(j) = eV0+ df*j;
          jmin =round((282.5-eV0)/df); % indice che corrisponde ad Emin 282.5 eV
          % jmin =round((280-eV0)/df); % indice che corrisponde ad Emin 280 eV
          j280 = round((282.5-eV0)/df);
          j292 = round((292-eV0)/df);
          j293 =round((293-eV0)/df);
          j310=round((310-eV0)/df);
          j350=round((350-eV0)/df);
        jlim = j310;  %%% FISSA LA WINDOW  DI ENERGIA CHE PARTE DA Emin  [Emax di Titantah (291,292,293)]
         %jlim = j295; 
         j288 = round((288-eV0)/df);
    %      jlim = j300; 
          range = jlim -jmin;  %%% WINDOW DI ENERGIA SU CUI EFFETTUARE IL FIT
           rangel = j350-jmin;%% range su cui effettuare la convoluzione
    
           
          %%% costruire il vettore con spettro ck e spettro zl
    
            ck(j) =piro_216_0_0_2(j);% sample 9 ora 7 (il più grafitico) O
    
         %% BASI DI TITANTAH
        
    
          %%%  Spettri che costituiscono le basi
          %%%%%%%%%%%%%%%%%%START MIE MODIFICHE%%%%%%%%%%%
          %ckdiadiff(j) =dia_221_2_0_2(j);%% spettro del diamante in diffrazione
          ckdiadiff(j) =diamdiff(j);%% spettro del diamante in diffrazione
          %%%%%%%%%%%%% END MIE MODIFICHE%%%%%%%%%%%%%%%%%%%%
          
          ckgradiff(j) = hopg_220_4_0_2(j);%% spettro della grafite in diffrazione
          
          c60diff(j)= c60_217_0_0_2(j); %%% spettro c60 in diffrazione
        
          %c60diff(j) = c60_270314_holey_c_12__1350mm__nd_ck_06_02_1024_1nn_spot5_en_cor_edge_217_0_0_2(j);  %
        
    
      end
     
      
    
      
      %% TRASPONGO GLI SPETTRI PER FARNE DEI VETTORI COLONNA
      
      
        ckdiadiff = ckdiadiff';
        ckgradiff = ckgradiff';
        c60diff = c60diff';
       
      ck = ck';
      ns = round((eV0-eVstart)/df); % numero punti di cui traslare lo spettro
      %%% shifto opportunamente gli spettri  %%%%%%%%%%%%%%%%%%
      for k=ns+2+6+15:N
        ck_gra(k) = ckgradiff(k-2);
        ck_dia(k) = ckdiadiff(k-6);
        c60(k-15) = c60diff(k);
        
        ck_s(k-ns) = ck(k);
      end
    
      
    %%% per normalizzare gli spettri li divido per l'area ck totale
    %   
      intdiack =0;
      intgrack =0;
      intc60=0;
      intck = 0;
      
     
      %%%  integrale spettro ck  282 - 380 eV  Ick (lo spettro ck si deve
      %%%  estendere su un range di circa 100 eV
    for j= jmin:jlim%%%CAMBIARE IL RANGE PER MODIFICARE LA NORMALIZZAZIONE!!!!!
        intdiack =intdiack + df*ck_dia(j);
        intgrack = intgrack +df*ck_gra (j);
        intc60 = intc60 +df*c60(j);
        
        intck = intck +df*ck_s (j);
       
    end
      
      %%%%%%%%%%%%%%%%%%%% spettri normalizzati%%%%%%%%%%%%%%%%%%%%%%
        for k=1:range  %%%%%%%%%%%%% spettri delle basi normalizzati nel range 280 - 300 eV
          
            ckdian(k) = ck_dia(k+jmin-1)./intdiack;
            ckgran (k) =ck_gra(k+jmin-1)./intgrack;
            c60n (k) = c60(k+jmin-1)./intc60;  %%% fullerene normalizzato
            
    %%% spettro normalizzato del campione incognito
            ckxfit(k) = ck_s(k+jmin-1)/intck;
         
      %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
           
            eVc(k) = eV(k+jmin-1);
        end
        
       
    
        
        %%%%%%%%%%%%%%%%%%%%%%%%%   metodo di marco %%%%%%%%%%%%%%
        graconv=0;
    
         sig = 0.2;%% da inserire il valore giusto per ogni campione
         basis  = (1./(sig*(2*pi)^0.5).*exp(-((eVc-284.7).^2)./(2*sig^2)));
       
    
    
        graconv = conv(basis,ckgran); %% convoluzione fra lo spettro di grafite e un picco gaussiano centrato a 284.7 eV
        granconv2 =0;
    
    %%%% ora lo spettro originario e quello convoluto devono essere allineati
    %%%% %%%%%
      shift =11;
      for j=1:numel(graconv)-shift
          graconv2(j)=graconv(j+shift);
         
      end
        %%% normalizzazione dello spettro convoluto
     intgraconv=0;
    
    for j= 1:range%%%CAMBIARE IL RANGE PER MODIFICARE LA NORMALIZZAZIONE!!!!!
        intgraconv =intgraconv + df*graconv2(j);
    
      end
      ckgraconv_n=graconv2(1:range)./intgraconv;
    
      
         figure (1)
      plot(eVc, ckxfit,'m*'); hold on
      plot(eVc, ckgran,'r'); hold on
      
      plot(eVc, ckgraconv_n,'b');
      
    %   
      
          
        
        
        %%%%% programma per fitting %%%%%%%%%%%%%%%%%%%
        Kfit = 1;
    
         xdata=eVc;%  
    
         
        ydata = ckxfit ; %%% campione amorfo da fittare
    
     %%%%%%%%%%%%  FITTING PER DEFINIRE SIGMA  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     %%%%%%%%%%%%  della grafite convoluta
    
     
    [estimates, model] = fitcurvedemo(xdata,ydata);
    
    % if ((ydata - (estimates(1)*ckgran + estimates(2)*ckdian)) >0)
    [sse, FittedCurve] = model(estimates);
    
    figure (2)
     plot(xdata, ydata, 'k*'); hold on  %%% grafico del campione da fittare
    %    plot(xdata, FittedCurve, 'b');
    
      plot(xdata,ydata - A.*ckgraconv_n-lambda.*ckdian,'r'); %residuo (differenza tra campione e campione fittato)
      plot(xdata, A.*ckgraconv_n+lambda.*ckdian,'k');  %% funzione di fitting
      axis([ 282   300  0  0.06])
      xlabel('energy (eV)');
      ylabel('relative counts');
       legend (' Sample 6' )
    
    
    
    questo è il file fitcurvedemo.m che serve per il fitting
    
    
    
    function [estimates, model] = fitcurvedemo(xdata, ydata)
    % Call fminsearch with a random starting point.
    global ckgraconv_n ckdian
    global A lambda sse R2
    start_point = rand(1,2);%% scegli un valore casuale per tutti i parametri
    %start_point = 0.72;
    % start_point = rand(1,2,3);%% scegli un valore casuale per tutti i parametri
    %start_point = 3(1,3,5);
    model = @fun;
    estimates = fminsearch(model, start_point);
    % expfun accepts curve parameters as inputs, and outputs sse,
    % the sum of squares error for A*exp(-lambda*xdata)-ydata,
    % and the FittedCurve. FMINSEARCH only needs sse, but we want
    % to plot the FittedCurve at the end.
        function [sse, FittedCurve] = fun(params)
            A = params(1);
            lambda = params(2);
    %          sig_1p = params(1);
    % %      m_1p = params(2);
    %       sig_2p = params(2);
    % %  m_2p = params(4);
    % %          sig_3p = params(5);
    % %          m_3p = params(6);
    %    A = params(3);
    % %          B = params(8);
    % %        C = params(9);
             
            
           % eps = params(3);
          %  peak = params(2);
            %FittedCurve = A .* exp(-((xdata-292)/lambda).^2);
           %FittedCurve = A*ckgrasc+lambda.*ckdiasc;
          %FittedCurve = A*ckgran+lambda.*ckdian;
          
         %FittedCurve = A.*ckgran+lambda.*ckdian;
    %      FittedCurve = A.*ckgran+(1-A).*ckdian;
           FittedCurve =( A.*ckgraconv_n +  lambda.*ckdian); %% picco gaussiano allargato
           %%%%%%%%%%%%% fitting agli spettri espressi come comb lin di
           %%%%%%%%%%%%% funzioni gaussiane
          % FittedCurve = (0.72*((1/(2*3.1416*sig_1p)^0.5)*exp(-(xdata-m_1p)^2/(2*sig_1p))+0.2*(1/(2*3.1416*sig_2p)^0.5)*exp(-(xdata-m_2p)^2/(2*sig_2p))))+0.22*(1/(2*3.1416*sig_3p)^0.5)*exp(-(xdata-m_3p)^2/(2*sig_3p));
           
    %         FittedCurve =((1/(2*3.1416*sig_1p)^0.5)*exp(-(xdata-285.5).^2/(2*sig_1p))+A*(1/(2*3.1416*sig_2p).^0.5)*exp(-(xdata-292).^2/(2*sig_2p)));
    %        a1d =      0.0616 ;% (-0.01512, 0.1383)
    %        b1d =       289.1 ; % (289, 289.2)
    %        c1d =      0.5628 ; % (0.2931, 0.8325)
    %        a2d =     0.07788; %  (0.03446, 0.1213)
    %        b2d =         290; %  (289.5, 290.6)
    %        c2d =       1.003; %  (0.284, 1.723)
    %        a3d =      0.2585 ; % (0.2517, 0.2653)
    %        b3d =       292.2; %  (291.8, 292.6)
    %        c3d =        2.72; %  (2.491, 2.948)
    %        
    %        a1g2 =       0.117; %  (0.09806, 0.136)
    %        b1g2 =       284.7;%  (284.6, 284.7)
    %        c1g2 =      0.9052 ; % (0.7591, 1.051)
    %        a2g2 =      0.0599 ;% (0.05511, 0.06468)
    %        b2g2 =       287.4; %  (286.9, 287.9)
    %        c2g2 =       2.969; %  (1.851, 4.087)
    %        a3g2 =       0.214; %  (0.2035, 0.2246)
    %        b3g2 =       291.7; %  (291.7, 291.8)
    %        c3g2 =       1.472; %  (1.341, 1.603)
    %        
    % %        a1 =      0.1474 ;% (0.1377, 0.157)
    % %        b1 =       285.6 ;% (285.5, 285.6)
    % %        c1 =      0.8875 ;% (0.8172, 0.9578)
    % %        a2 =     0.08283;%  (0.07901, 0.08665)
    % %        b2 =       288.6;%  (288.2, 288.9)
    % %        c2 =       3.466 ;% (2.932, 4)
    % %        a3 =      0.1832;%  (0.1628, 0.2035)
    % %        b3 =       292.5 ;% (292.3, 292.7)
    % %        c3 =       1.379 ;% (1.103, 1.655)
    %        
    %        %Coefficients (with 95% confidence bounds):
    %        a1 =      0.1559; %  (0.1547, 0.1571)
    %        b1 =       292.4; %  (292.3, 292.5)
    %        c1 =       4.494; %  (4.223, 4.766)
    %        a2 =     0.05103; %  (0.04697, 0.05508)
    %        b2 =         286; %  (fixed at bound)
    %        c2 =        1.98; %  (1.826, 2.134)
    %        a3 =     0.05235; %  (0.04955, 0.05516)
    %        b3 =       284.6; %  (284.6, 284.6)
    %        c3 =       0.972; %  (0.931, 1.013)
           
           
    %        neral model Gauss3:
    %        f(x) = 
    %               a1*exp(-((x-b1)/c1)^2) + a2*exp(-((x-b2)/c2)^2) + 
    %               a3*exp(-((x-b3)/c3)^2)
    % Coefficients (with 95% confidence bounds):
           a1 =      0.1767;%  (0.173, 0.1804)
           b1 =         292;%  (291.9, 292.1)
           c1 =       1.879;%  (1.755, 2.004)
           a2 =      0.1361;%  (0.1281, 0.1441)
           b2 =       284.7;%  (284.7, 284.7)
           c2 =      0.8192;%  (0.764, 0.8743)
           a3 =     0.06714;%  (0.06387, 0.07042)
           b3 =         287;%  (286.8, 287.2)
           c3 =        2.76;%  (2.451, 3.069)
    
    % Goodness of fit:
    %   SSE: 0.001257
    %   R-square: 0.9943
    %   Adjusted R-square: 0.9935
    %   RMSE: 0.004738
    % 
    %        
           
           %FittedCurve = A.*(a1.*exp(-((xdata-b1)/c1).^2) + a2.*exp(-((xdata-b2)/c2).^2) + a3.*exp(-((xdata-b3)/c3).^2));
           
                  
           
           
    %       FittedCurve = A.*(a1g2.*exp(-((xdata-b1g2)/c1g2).^2) + a2g2.*exp(-((xdata-b2g2)./c2g2).^2) + a3g2.*exp(-((xdata-b3g2)/c3g2).^2))
    %       +lambda.*(a1d.*exp(-((xdata-b1d)/c1d).^2) + a2d.*exp(-((xdata-b2d)/c2d).^2)+a3d.*exp(-((xdata-b3d)/c3d).^2));
           
     %FittedCurve =  A.*(a1.*exp(-((xdata-b1)/c1).^2))+a2.*exp(-((xdata-b2)./c2).^2) + a3.*exp(-((xdata-b3)/c3).^2)+ lambda.*ckdian;
    %       +lambda.*(a1d.*exp(-((xdata-b1d)/c1d).^2) + a2d.*exp(-((xdata-b2d)/c2d).^2)+a3d.*exp(-((xdata-b3d)/c3d).^2));
           
            ymean = mean(ydata);
            SS = ydata-ymean;
            SSt =sum(SS.^2);
            ErrorVector = FittedCurve - ydata;
            sse = sum(ErrorVector .^ 2);
            R2 = 1 - sse/SSt;
        end
    end
    questo è il file dati che voglio chiamare
    0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	-24.041	485.256	-124.984	234.244	893.941	203.113	-81.2383	94.8906	252.502	242.6	-667.813	-351.73	-118.154	42.9219	830.5	566.584	819.174	867.277	503.895	163.029	-129.316	-588.139	30.5645	413.797	10.5625	-282.139	110.699	-303.924	-2.00391	-209.537	-5.52344	46.043	282.164	-38.1582	51.0781	179.877	-126.76	-380.828	-102.326	23.748	-510.604	-192.375	-740.568	-213.178	-310.203	-469.639	-376.486	-446.738	-358.396	480.543	90.082	224.223	-54.0313	-439.676	-105.713	-342.139	-303.949	580.855	435.279	71.3242	208.992	-88.7129	-423.793	-437.242	-219.059	-607.242	-164.787	-1029.7	-547.963	-434.588	-13.5684	-450.9	158.414	166.382	-47.999	-716.724	-594.792	364.8	-209.948	-38.0322	88.5479	206.795	159.712	-451.701	-137.441	118.493	27.1045	-97.6064	-554.637	-63.9844	-361.649	89.373	-172.918	-145.52	16.5703	140.353	-54.1699	-406.996	-34.123	158.448	728.723	405.699	775.382	-64.2295	-47.1318	-63.3242	-24.8047	-412.572	187.375	634.04	-77.5771	198.524	235.349	248.896	-118.833	-224.835	-223.109	164.345	-553.47	330.448	250.1	201.487	144.61	91.4727	-424.926	-38.583	78.5029	95.332	566.908	423.229	-76.6992	-188.879	-195.308	53.0166	28.0947	28.9287	5.51855	-627.134	-221.025	323.843	-166.527	-33.1338	-214.975	453.949	293.642	22.1016	68.332	145.333	-412.894	-129.346	88.9766	99.0742	36.9502	299.604	-196.962	-182.746	353.251	641.031	157.597	107.948	595.086	862.012	154.728	326.232	241.53	-465.38	447.504	398.183	143.657	440.93	-513	-306.131	-106.461	290.011	-109.716	55.3623	256.245	209.933	517.428	238.731	-15.1572	-449.235	135.497	196.042	-338.601	91.5713	153.558	2.36035	-332.021	-116.583	-169.327	-194.251	109.646	-124.636	43.9063	427.271	221.461	194.477	-306.682	410.987	311.484	110.812	-264.032	-202.044	170.775	71.4277	483.914	139.235	-385.608	-441.616	-414.786	198.881	386.388	-322.266	-647.079	-443.051	-259.181	-414.467	-126.91	139.492	177.74	136.834	-709.226	40.5635	-61.7988	205.688	147.025	-189.786	-21.7461	254.147	178.894	147.493	221.948	14.2598	256.427	-250.549	-80.667	-142.927	265.674	70.1338	-602.546	187.637	-344.318	3.58887	62.3594	-295.005	-345.505	-145.139	138.094	-314.807	-365.84	-298.004	173.7	106.275	368.72	13.0356	697.223	267.283	-33.7837	331.023	-35.2959	62.2598	559.691	-22.0005	-236.816	138.246	-28.8135	-100.995	-29.2959	-126.718	-592.259	251.081	203.302	4.40625	217.393	219.264	100.018	356.657	306.182	534.592	561.889	253.072	903.144	550.103	816.951	947.688	968.314	328.832	742.24	985.54	961.73	758.814	938.792	1402.66	1163.43	1542.09	1594.64	2225.09	3775.44	4967.68	7833.82	12146.9	20362.8	31236.6	42071.4	49704	53905.5	58380	61905.3	65073.5	67633.7	70264.7	70713.7	72852.5	73775.3	73997.9	75241.5	77199.9	77593.3	77023.6	77785.8	78871.9	77749.9	75753.8	72889.6	70440.3	68926	65961.5	63030	60270.3	59426.6	57448.8	55768.9	54757.9	55406.8	54520.7	54552.4	54745.1	52689.7	51381.2	51603.6	51722.9	52697.2	55213.3	56461.4	56966.4	56497.3	58390.2	58271.9	56837.6	56661.2	56479.7	55461.1	53792.5	52140.7	49558.9	48117	47014.1	45404	43553.9	41781.7	39253.5	36704.1	33832.7	31773.2	29279.6	27130	25432.2	23808.4	23163.6	22079.6	22843.6	22956.5	24512.4	26056.1	28876.8	31548.4	34516	37464.5	39322.9	41823.2	44747.5	47284.7	49872.8	52281.9	51340.9	52528.8	51008.7	50056.5	49156.2	48254.8	46879.4	45016	44148.4	42680.8	41542.1	41206.4	40128.6	40187.7	40105.8	39001.8	37446.8	35043.6	33400.5	31211.2	30533.9	30072.5	28765.1	27254.6	26448.1	25717.5	25191.8	25167	24398.3	24110.4	23578.5	23254.5	23069.5	23827.4	23141.2	22695	22336.8	22514.4	22306.1	21430.6	21508.1	22111.6	21795	21701.3	22447.6	21835.8	22698	23071.1	22610.2	22896.2	22075.1	22224	22778.9	22964.6	23632.4	24348.1	25052.7	25579.3	25186.8	25062.3	25521.7	26112.1	26576.4	25814.6	26602.9	27127	26844.1	27115.2	27340.2	27153.2	26492.1	27290	27078.8	27195.5	27925.3	27664.9	28453.6	28893.1	30293.7	30720.1	30388.6	31036.9	31750.3	32031.6	33682.8	34207	34207.2	34511.3	34839.3	36540.3	37490.3	37429.2	38244.1	39000.9	38998.7	40289.5	41186.2	41100.8	42496.4	43324	43399.5	43636	42704.4	43074.8	44438.2	44973.5	44233.7	44705	44832.1	45832.3	45401.4	45920.4	46080.5	45940.4	45651.4	44450.3	45561.1	45744.9	44751.7	43904.4	43880.1	43558.8	43288.4	44494	42806.5	42723	42816.5	41611.9	40856.3	40875.6	41206.9	39650.2	39948.4	38745.6	38462.7	37994.8	38296.9	38322	38420	38991.9	37421.9	37089.8	36726.6	35508.4	35198.2	35444	35201.7	35484.4	35089	34645.6	34428.2	33720.7	33289.2	33325.7	33578.1	34424.5	33852.9	33910.2	34401.5	33068.8	32664	33089.2	33677.4	33186.5	32513.6	31983.7	32889.7	33975.7	33704.7	33911.6	33491.5	33513.4	34248.2	34899	34173.8	33578.5	34533.3	33854.9	32969.6	33195.2	33364.8	33773.4	33405.9	32535.4	33135.8	33317.3	32668.7	32764.1	32537.4	31919.7	31473	32309.3	32571.5	32620.7	32440.9	32636	32325.1	31626.2	30563.2	31057.3	31724.3	30915.2	31042.2	30756.1	30411	29603.8	29664.6	30283.4	30191.2	30258	30793.7	30777.4	30241	28694.7	29509.3	30235.9	30164.4	30073	29862.5	30394.9	29754.4	30208.8	30054.2	30845.6	30422.9	30363.3	30006.6	29068.8	30103.1	30430.3	30058.5	30897.7	29984.8	29617.9	29914	30185.1	30135.2	31124.2	31842.2	32250.1	32058.1	31361	31967.9	33136.8	32301.7	32818.5	31673.3	31279.1	31340.8	32359.6	32632.3	32497	32142.7	32228.3	32544.9	32601.5	32658.1	32092.6	31902.2	32348.7	32622.2	32612.6	32216.1	31910.5	31756.9	31507.3	31335.6	31368	31788.3	31010.6	30960.8	31068.1	30720.3	30821.5	30374.7	30827.9	31146	30991.1	31098.2	31401.3	31230.4	31201.4	31086.4	31408.4	31222.4	30345.4	30355.3	30054.2	30121.1	30382	29721.9	29712.7	29296.5	29700.3	29170.1	29450.9	29303.6	29458.3	29393	29746.7	29812.4	30346	30024.6	29864.3	30087.8	29794.4	29311	29219.5	28822	28747.5	28049	28148.4	27962.9	27765.3	28397.7	28647.1	27806.5	27799.8	27153.2	27285.5	27777.8	27706.1	27365.3	27879.6	27303.8	26777	27026.2	27186.4	28044.5	27528.7	26881.8	26824.9	26419	27500.1	27209.2	27038.2	26674.2	27575.2	26760.2	26457.2	26342.2	26744.1	27060	26608	26597.9	26329.7	26062.6	26261.4	26485.3	26471.1	26241.9	25885.7	25969.5	26431.2	25923.9	26209.7	25979.4	25632.1	25291.8	25288.4	25783.1	25748.7	26397.3	25793.9	25512.5	24985.1	25699.6	26266.2	26778.7	26040.2	24665.7	25439.2	25721.7	25971.1	25993.6	26161	26163.4	25527.8	25074.2	25068.6	25270.9	25179.3	24888.6	25180.9	25043.2	25567.5	25236.8	24682	24831.3	25055.5	25773.7	25321.9	25916.1	26605.3	26190.5	25544.6	24831.8	24728.9	24678	24757.1	24100.2	24835.3	25384.3	24614.4	24930.4	25031.4	24868.5	23642.5	23836.4	24363.4	24126.4	23771.3	23989.3	24676.2	23937.1	23521	23121.9	24135.7	23814.6	23612.5	23237.3	23557.1	24044.9	23552.7	23289.5	23660.3	23520.1	23429.8	23634.6	22971.3	22544	22733.7	22477.4	23059.1	23089.8	23053.4	22487.1	22484.7	22027.3	23576	22737.6	22561.2	22266.7	22993.3	22543.9	22438.4	22796	23166.5	22373	22235.5	21841	21870.5	22181.9	22298.4	22313.9	22533.3	22350.7	22513.2	22873.6	22784	22540.3	23102.7	22989.1	22077.4	22337.8	21378.1	22283.5	22936.8	22321.1	21472.4	21450.7	21941.9	22069.2	21825.4	21601.7	21727.9	21590.2	21965.4	21856.6	21690.8	21267	20828.1	21706.3	22031.5	21616.6	20985.7	21141.9	21865	21115.1	21658.2	21482.3	22010.4	21496.4	21231.5	21028.6	20685.6	20438.6	21620.7	21790.7	21259.7	21101.7	21280.7	21165.7	20620.6	20361.6	20178.5	19958.5	20800.4	20790.4	20455.3	20666.2	20076.1	19434	19777.9	19244.7	20081.6	19667.5	19611.3	18905.1	19331	19510.8	19343.6	19101.4	19800.2	20191	19625.8	19436.6	19308.3	19793.1	19420.8	19486.6	19500.3	18864	18809.8	18790.5	18699.2	18955.9	18935.5	18298.2	19017.9	18883.5	18459.2	18275.8	18811.5	18334.1	18479.7	18107.3	18095.9	18175.5	18101.1	18657.7	18293.3	17464.9	18072.4	17807	17909.5	18100.1	17737.6	18062.1	17975.6	18332.1	18405.6	17431.1	17548.6	17138.1	17214.6	17091	17910.5	17823.9	17259.4	16770.8	16796.2	17060.7	17646.1	17500.5	17378.9	16964.3	16931.7	17041	16326.4	17006.8	17554.1	17730.5	17127.8	16608.2	16713.5	16575.8	16583.2	16420.5	17019.8	16296.1	16363.4	16224.6	16124.9	15493.2	16204.5	16564.7	16628	16749.2	16661.5	16142.7	16059.9	16071.1	16312.4	15868.6	15291.8	
    
    questi sono gli altri 3 file che per ora stanno ancora con la funzione load, ma che dovrò fare digitando il nome anche quelli

    c60_217_0_0_2.
    0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1224.93	956.625	-1186.06	-727.109	196.484	755.723	248.625	430.188	515.422	905.34	208.945	-896.75	-290.746	-481.027	252.406	934.57	525.465	146.102	-304.512	190.629	790.531	107.203	-208.344	331.891	562.914	-845.262	-1272.63	-720.188	-473.93	235.156	668.074	701.832	331.438	-298.109	-477.793	-915.613	-1593.56	-1525.63	61.1836	666.891	270.496	438.004	-353.578	-955.246	-978.988	115.195	-690.684	-115.621	1274.38	1144.34	296.262	-484.855	-283.004	33.8242	315.637	-420.566	251.227	582.016	281.813	775.617	2030.44	534.277	-261.855	-694.953	-1005.02	-559.035	-613.008	-163.926	677.215	-334.578	-290.305	733.043	804.473	830.984	-462.414	-378.719	456.078	388.98	-235.008	-435.883	-622.637	-823.27	-1692.77	-3092.14	-2944.37	-2500.45	-2870.39	-2385.18	-1896.8	-555.27	-1059.57	-353.699	-99.6523	735.574	1154.99	1203.59	1033.38	390.375	353.57	-173.031	364.582	-128.59	2.45313	-315.277	-227.777	-63.0508	322.918	-186.879	-343.43	-340.73	42.2188	930.426	1282.89	152.625	-301.375	-313.102	358.445	280.273	1219.39	1269.79	889.477	1422.46	668.746	362.336	4.23047	352.434	848.949	692.785	395.941	27.4258	-14.7656	297.375	255.852	-263.336	49.8242	1439.32	839.176	204.383	554.941	-563.137	-237.855	-715.203	180.813	203.203	266.973	-400.883	-388.352	-754.438	-484.137	-80.4414	1084.65	1139.14	941.031	967.328	487.031	-10.8555	389.672	470.617	1162.98	805.77	759.984	112.625	542.699	10.207	245.156	-566.457	87.375	538.652	503.379	249.555	-946.813	73.2773	-233.172	-532.156	-7.67578	151.273	1747.69	804.586	146.957	-120.195	245.137	511.953	-154.742	-929.949	-346.664	210.117	-132.604	-840.824	-451.543	164.244	652.537	464.342	868.658	212.49	-315.16	-407.291	-14.8984	-261.982	95.4609	108.434	-691.061	-867.021	194.553	-326.332	-385.676	-181.477	339.268	318.561	456.402	-200.201	-424.252	-0.744141	-590.678	178.949	-434.859	65.8984	-664.777	-464.883	-391.418	-389.377	-822.76	-915.564	-394.789	-13.4297	-202.488	-307.959	60.1602	-375.131	-873.83	499.066	-92.4414	-299.35	-256.658	-404.363	-11.4648	-10.959	-10.8457	399.879	104.215	145.166	-111.27	-592.084	-678.281	-69.8555	25.1914	-493.135	838.166	-59.9043	154.654	365.848	-126.326	591.135	531.236	437.975	768.355	163.379	448.047	586.359	1170.32	190.934	-105.803	-390.887	-275.316	-477.09	380.797	652.34	737.547	1302.42	174.949	640.148	501.016	-227.449	43.7578	356.637	111.191	652.42	672.324	238.91	914.174	1445.12	1063.75	1988.06	2733.06	3222.75	3367.13	3607.19	5026.95	4889.4	6641.55	8005.39	11488.9	16323.2	22243.1	32077.8	47013.1	71140.1	105548	145815	184622	213112	218351	208304	195406	185867	185249	192415	202080	203323	202227	197163	181999	166756	156861	149379	147578	147636	151938	158268	162499	162361	159099	157397	156297	156819	161420	167881	174706	185547	199890	217182	231588	243080	252413	255772	258263	261978	262931	264379	268217	269845	272421	270982	271086	269317	269203	265210	264288	266867	266734	266696	272232	277486	283704	288721	293066	299194	300977	300069	303468	304727	308735	310652	312236	317055	319990	324379	324555	325640	330831	328852	329093	330019	332155	336032	338966	340584	340336	341542	345158	342714	343774	343374	342100	340986	339223	338790	333699	331696	328326	325035	321352	319265	313028	309903	305313	303033	303278	299486	295226	291087	288413	287114	284270	281537	275792	272791	270817	268566	266312	260647	257677	255044	249390	248166	242678	237846	234344	231424	230109	228600	227056	225823	222628	224306	224497	223782	223389	223302	222407	223225	224087	223838	223565	222130	222883	223575	223530	221995	222767	224020	226019	228033	227974	228145	225861	227472	230531	230491	228091	228185	228938	232378	230809	230605	230245	230321	229921	229048	230644	230910	230081	230236	231031	231546	230248	231660	231793	231319	230564	232212	232862	234267	233695	233239	234029	233149	235263	237498	236303	237800	237492	240175	240046	237289	237881	236348	237928	240695	239580	238857	239869	240540	239515	238593	239444	240112	241508	241689	241772	239928	239064	241473	240791	239537	238486	239100	239261	239209	238027	236676	237541	235094	238625	237305	235576	235005	235253	236640	236451	236368	234709	231342	230830	231436	230913	230707	229284	229033	225474	227088	227585	225251	224955	224457	221909	221263	220846	220253	221183	219588	220346	219137	216186	215955	216072	214718	212472	212089	213329	214023	211436	209026	209665	208282	207036	206953	206419	206235	204239	202665	201939	200310	200920	200980	199826	199281	199562	198217	197277	196156	195431	196678	195426	196497	197331	196923	194814	193462	192017	193396	191273	190911	188333	189712	189786	190171	190374	190071	189381	188769	189003	187969	187718	187148	187207	185621	186052	185735	186840	184718	183296	183826	183032	182876	184936	184496	184475	181964	181013	181156	182041	181467	180079	179656	178510	179407	179409	177962	179379	180020	179882	178613	177925	177987	178008	178650	177623	177112	175899	176665	175493	174574	174953	174131	174522	173026	174083	173325	173550	172493	171829	171414	172173	171841	170712	170029	169839	169522	168652	167697	168636	168071	169677	169740	168697	167524	167176	165823	166494	165049	164067	164801	165520	165328	165131	163496	160995	161296	161139	161867	160544	160019	159182	159589	160345	160330	159424	158522	159379	159046	157510	157494	157463	156259	156404	156965	156847	155359	156132	154191	153070	153288	152915	152466	151881	152690	151092	152128	151826	150320	151135	150197	147792	147508	147186	147836	146047	146018	146101	144785	144842	145782	144656	143711	143159	143474	143770	143343	142565	142849	143074	142110	140198	141920	140765	139686	139090	139744	139469	139418	139169	139148	138617	137612	137662	138220	137917	137739	136894	135706	135542	135323	134174	133812	136032	135400	134583	133812	132988	134170	133327	133455	133616	134882	134008	133022	131568	131372	129332	129853	128705	129005	130517	129868	129641	128565	128456	128824	129479	128417	130512	129182	128215	129072	128412	128239	127682	127080	127989	126787	126895	125118	124447	124879	126305	124682	124785	123948	123212	122889	122851	121715	121861	123083	123017	120906	121506	121465	121590	121833	121083	119667	119892	120342	120266	120166	119460	118957	118787	117476	117117	115710	115297	117116	117954	117171	116182	117267	117377	116283	115876	115518	115214	115469	115582	115465	114788	113267	113642	113283	112979	112237	111591	112248	112098	112865	112426	112885	113219	113335	112762	112125	110848	109922	109849	110004	108993	109798	109864	108083	107373	108514	109605	108504	107477	105947	107524	106655	107824	108533	106454	106697	107845	107969	105987	105299	104225	106018	104111	103504	105231	104176	102149	102717	102885	102456	101344	101091	100528	101339	101185	99438.8	100147	101825	101538	99759.6	99363	100167	100165	99025.9	99581.2	100256	99366.6	98382.8	98053.9	96596	96307.1	96868.2	96992.2	98757.2	97757.2	96151.1	95102.1	95992	96271.8	93982.7	94275.5	95098.3	94528	93810.7	93011.4	93695.1	93170.8	92223.4	91629	92418.6	94596.1	93646.6	91206.1	91865.6	92196	90804.4	90592.8	90847.2	89922.5	89952.8	91079.1	91083.3	90829.6	89485.8	89474	89276.1	88250.3	88384.4	88733.4	88092.5	88028.5	87780.5	88190.5	88944.5	88648.4	86937.3	87497.2	88209.1	86596.9	85872.7	86939.5	85366.3	85958	85338.7	85455.4	85187.1	85618.7	85419.3	83966.9	82573.5	83808.1	83140.6	83193.1	82490.6	81878	82831.5	84106.9	83429.3	83182.7	84228	82790.3	81634.6	82251.9	81270.2	80809.4	79960.6	79673.8	80507	80649.1	79192.2	78935.3	78536.4	78548.5	78555.5	77569.5	76675.5	78398.5	77828.4	76167.4	75991.3	
    
    hopg_220_4_0_2.txt
    
    0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	314.416	-625.584	-99.729	-10.0181	95.5503	-97.0244	-143.74	249.403	-311.594	90.27	-62.0044	-173.417	-346.966	-473.652	-975.473	-217.428	-52.5181	-566.741	-248.096	191.417	-247.202	471.049	381.171	506.164	-265.972	-225.234	331.375	385.86	362.218	-452.548	370.562	88.5479	312.412	136.153	359.773	85.272	463.651	370.911	-154.949	325.074	381.979	119.767	-390.562	-202.005	126.436	233.762	381.975	289.074	483.062	119.936	-151.3	79.3521	-309.105	-562.673	-309.349	-267.134	-351.026	64.9736	6.8667	-41.3467	273.335	368.911	259.383	-15.2495	147.015	123.176	136.235	-348.808	-162.952	-166.196	119.458	179.014	244.47	-157.172	-448.913	-382.751	-133.687	-124.719	310.153	-77.0703	250.611	297.198	335.69	-101.911	87.3945	-122.392	88.7285	378.758	179.696	-176.457	122.3	257.967	74.5444	78.0332	-532.566	-514.254	-356.029	-258.892	-197.841	-474.876	-275.997	-173.203	-93.4941	171.13	294.67	37.1274	-402.499	78.7915	187	-77.873	-50.8281	-29.8643	-41.981	3.82227	13.5454	80.1895	165.754	-229.76	-493.352	-65.0225	-225.77	-33.5947	325.504	19.5264	72.4727	499.344	284.139	-217.14	65.5068	173.079	186.578	323.003	118.356	-166.364	-175.157	-7.02051	297.043	53.0366	-410.041	-587.189	-433.407	-394.695	-614.052	378.521	43.0259	-244.538	294.831	102.132	311.365	225.531	-197.369	-34.3359	241.631	-20.4673	139.369	-354.86	52.8457	261.487	530.065	-27.4214	237.029	350.416	82.7397	-153.999	-173.8	-210.663	-552.587	-215.573	16.3799	-193.728	-253.896	233.875	112.586	27.2383	300.831	138.364	257.839	157.255	368.613	5.91309	-217.845	69.3403	458.468	33.5396	-121.446	-741.488	-94.5854	1.26074	-53.9482	149.788	268.468	-50.9058	-205.334	-374.816	-264.353	-223.943	-22.5864	-359.283	13.9673	255.165	453.31	54.4036	-171.555	-92.5654	236.373	-9.74023	-167.904	-452.119	-426.384	-85.6992	33.9355	-77.4795	-193.944	43.542	263.979	-177.633	137.707	-90.002	186.241	107.437	-40.416	353.684	76.7366	-266.258	-309.299	-51.3865	211.479	369.299	-49.927	-442.199	-132.517	38.1206	119.713	-176.74	267.762	262.22	-181.366	58.0032	-27.6711	196.611	80.8494	-37.9556	-141.803	-166.694	317.372	251.396	16.3782	-109.682	-148.784	220.072	-278.114	74.6592	-340.609	-332.918	-42.2676	-242.658	-126.089	-202.56	-236.071	72.3779	-311.213	133.157	-25.5125	-333.221	87.0313	-63.7551	39.4199	69.5564	-78.3455	-402.285	16.7368	165.721	150.668	124.577	-68.5505	-35.7156	159.083	51.844	90.5686	143.257	270.909	73.5249	-130.895	84.6489	127.157	95.6304	-5.93188	-59.5293	-131.162	-21.8291	28.469	662.732	698.962	864.156	1276.32	1741.44	3436.54	7484.6	12791.6	20079.6	29358.6	38595.5	44802.4	47446.3	44106.1	36124.9	28395.6	22795.4	20500.1	18696.7	17846.4	16765	16130.5	15726.1	15811.6	15606.1	14948.5	15032.9	15119.3	15369.7	15298	14498.3	14957.6	14603.8	14810	15139.2	15262.3	15247.4	16867.5	17505.6	18908.6	24198.6	31058.6	38699.5	46427.4	52825.3	56230.2	56179	54547.8	54075.6	55100.3	54123	52926.7	50938.4	47344	46382.6	44926.2	43755.8	42525.3	43055.8	42609.3	42593.7	42542.1	41777.5	41358.9	41539.2	42250.5	41520.8	42315.1	41929.3	42049.5	41895.7	41597.9	41926	41591.1	41225.2	40861.2	40128.3	40671.3	40469.3	39299.2	39078.2	38369.1	37880	38148.8	37868.7	38949.5	38683.3	38620	37653.8	37076.5	37413.2	37768.9	38074.5	38608.1	37943.7	38022.3	38270.9	38962.4	39178.9	37932.4	38446.9	39035.3	39206.7	38914.1	39335.5	39462.9	38930.2	38927.5	38015.8	36861.1	36940.3	37701.5	36772.7	35989.9	37076.1	36140.2	37149.3	37234.4	36908.5	36501.6	36853.6	36156.6	37702.6	37356.6	37769.5	38254.5	36711.4	36799.3	36727.2	36797	35137.8	34564.7	33556.4	33845.2	33226	32018.7	32001.4	31580.1	30611.8	29623.4	28760.1	27927.7	28324.3	27868.9	27416.4	27183	25788.5	25249	24568.5	24050	23663.4	22901.9	23162.3	23429.7	22960	23483.4	22923.8	23275.1	23518.4	22722.7	22455.9	22993.2	22289.4	22194.6	22114.8	22930	23010.2	23501.3	23304.5	22905.6	22506.7	22647.8	22779.8	22881.9	23117.9	22959.9	22095.9	22431.9	21905.9	22495.8	22902.8	22091.7	22153.6	21781.5	22336.3	23100.2	22819	22431.8	22950.6	23247.4	23264.2	23787	22843.7	23153.4	23483.1	23273.8	23432.5	23779.2	24189.8	24273.5	23873.1	24429.7	25606.3	24154.8	24059.4	24728.9	25207.5	25282	25216.5	25202	25415.4	25223.9	25615.3	25175.8	25367.2	25744.6	25471	25964.3	25729.7	27058	26430.4	26083.7	26889	26714.3	26282.6	26420.8	26941.1	26224.3	25310.5	25808.7	26597.9	26733.1	26237.3	26989.4	26239.6	26203.7	25513.8	26213.9	25665	26072.1	25683.1	26186.2	25510.2	25624.2	25502.2	25837.2	25182.2	25270.2	25155.1	24896.1	24483	24583.9	23648.9	24656.8	24768.6	23781.5	23136.4	23571.2	23417.1	22978.9	22982.7	22331.5	22049.3	22341.1	22023.8	21618.6	21728.3	21911	22340.8	21850.5	21432.2	21395.8	21446.5	21123.2	21056.8	21108.5	20432.1	20644.7	20527.3	20035.9	20248.5	19882.1	20236.6	19622.2	20013.7	19705.2	19019.7	18854.2	19066.7	18808.2	18611.7	19125.2	19238.6	18790.1	18524.5	18308.9	19055.3	19536.7	18405.1	18687.5	18351.8	18074.2	18738.5	18622.9	18886.2	18369.5	18271.8	18270.1	18205.4	17875.7	17731.9	18095.2	17933.5	16937.7	17171.9	17479.1	17252.3	17272.5	17572.7	17816.9	17192.1	17086.2	16647.4	16670.5	17330.6	17843.8	17764.9	17471	17208.1	16914.1	16514.2	16999.3	16943.3	17130.4	17122.4	16349.5	16894.5	16744.5	16791.5	16640.5	16965.5	16974.4	16625.4	16408.3	16348.3	16532.2	16418.2	16152.1	16188	16625.9	16761.8	16490.7	16422.6	16087.4	16055.3	16310.1	17067	16620.8	16056.6	16904.5	16428.3	16906.1	16383.9	15748.7	15572.4	15852.2	16234	16392.7	16098.5	16363.2	15704.9	16407.6	15635.3	15970.1	15771.8	15733.4	15814.1	15747.8	16503.5	15794.1	15746.8	15934.4	16310	16119.7	15839.3	16228.9	15559.5	15889.1	15912.7	15652.3	15305.8	15378.4	16058	15243.5	15328	15344.6	15534.1	15015.6	15269.1	15597.6	15369.1	14850.6	14361.1	15057.6	15414.1	15274.5	15349	15102.4	14958.9	15058.3	15364.7	15217.2	15102.6	14612	14367.4	14925.8	15335.2	15324.5	14994.9	15178.3	14796.6	14809	14818.3	14972.7	14874	14484.3	14095.7	13918	14659.3	14894.6	14474.9	14855.2	13919.4	13217.7	13644	13496.2	13322.5	13507.7	14105	14298.2	13693.4	13661.7	13878.9	14152.1	13882.3	13110.5	13329.7	13398.9	13726	13619.2	13069.4	13519.5	13696.7	13766.8	13479	12983.1	12616.2	12821.4	13071.5	13226.6	13074.7	12448.8	12430.9	12418	12568.1	12945.1	12395.2	12414.3	11972.3	12362.4	11874.4	12594.5	13008.5	12064.6	11875.6	12049.6	12354.6	12300.6	12301.6	12186.6	12346.6	12384.6	12668.6	11938.6	12121.5	12244.5	12048.4	11773.4	12060.3	11715.3	11941.2	12453.2	12490.1	11638	11893.9	12186.8	11464.7	11460.6	11726.5	11788.4	11766.3	12140.2	11851.1	11730.9	11607.8	11494.7	11484.5	11162.4	11612.2	11831	12012.9	12034.7	12075.5	11650.3	11531.2	11686	11506.8	11355.6	11631.4	11720.2	11131.9	11051.7	11156.5	11075.3	11290	11214.8	11720.5	12064.3	11403	10580.8	11027.5	10697.3	10738	10801.7	11188.4	10764.1	10623.8	11014.5	10655.2	11213.9	11125.6	11032.3	10998	10707.7	11312.3	11102	10944.7	10963.3	10780	11167.6	10651.3	11043.9	11139.6	11554.2	11028.8	10848.5	10761.1	10575.7	10039.3	10217.9	10465.5	10458.1	10046.7	10235.3	10224.9	10345.5	10787	10161.6	9649.17	10241.7	10117.3	9970.85	10022.4	9784.95	10349.5	10022	10005.6	10048.1	9872.63	10134.2	10364.7	10197.2	9880.7	9705.21	10057.7	10009.2	9790.71	9379.2	9655.69	9754.17	9648.65	10201.1	9650.6	9713.07	9326.54	9144	9355.46	9650.91	9370.36	9241.8	9870.25	10006.7	9212.12	9657.55	9440.98	9526.4	9969.82	9557.23	9262.65	9154.06	9328.46	9118.86	9460.26	9396.65	9537.04	9106.43	9050.81	9153.19	9284.57	9083.94	9099.31	9043.68	8937.04	8826.4	8531.75	8770.1	9759.45	9377.79	9122.14	8803.47	8802.81	9112.14	8650.47	8269.79	8300.11	8641.43	8965.74	8556.05	7953.36	8211.66	8072.96	8326.26	8470.55	8966.84	8819.13	9007.42	8796.7	8182.97	8294.25	8074.52	8358.79	8016.05	8793.31	7943.57	8039.82	8115.07	7954.32	8488.57	8216.81	7896.05	7803.29	7830.52	8021.75	7852.97	8102.2	7717.42	7663.63	7875.85	8261.06	8388.27	8175.47	8519.67	7813.87	7554.07	7324.26	7938.45	7839.64	8048.82	8226	8148.18	7750.36	8004.53	7411.7	7629.86	7530.03	7563.19	7274.34	7458.5	7314.65	7638.8	7399.95	7602.09	7427.23	7285.37	7208.5	7598.63	6953.76	7005.89	6808.01	7289.13	6947.25	7115.36	6889.48	6750.58	7031.69	7503.8	7394.9	6913	7050.09	6906.18	7093.27	6985.36	6890.45	6660.53	6839.61	
    piro_216_0_0_2.txt
    0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	-966.297	-12.2266	-1565.84	-49.1016	-252.023	0.40625	318.211	-386.617	-763.047	-1557.09	-861.727	-111.945	-1539.74	-953.109	-1386.03	-388.5	-1473.5	-214.039	999.906	823.336	663.273	137.711	417.664	-427.859	1252.15	563.695	1056.8	1016.46	240.688	72.4922	-489.117	248.859	186.438	-34.3672	946.438	1621.87	116.93	503.633	1975.99	1399	367.68	-196.973	601.055	932.77	1165.18	1590.3	1761.12	-210.336	-917.066	-444.063	-244.32	234.168	-290.59	454.414	-605.809	-1270.26	-1398.93	-1270.8	-1254.88	-446.16	-361.625	-1334.27	-519.098	-789.09	-250.246	-514.559	-962.016	-143.621	-591.359	-407.227	93.7813	1023.67	-317.551	-645.875	132.703	224.191	377.59	-362.09	-541.844	147.336	1205.46	152.52	809.531	424.5	-32.5664	61.332	115.207	791.059	467.898	480.727	-253.449	-1157.62	1082.21	1423.06	863.93	178.82	-720.258	-91.3008	813.695	-993.266	-838.172	295.977	383.188	9.46484	42.8125	1139.24	24.7422	119.336	336.023	-1030.2	-1123.31	-1169.32	-1316.21	-2399	-1696.66	-1250.19	-1268.59	626.141	578.016	440.035	-337.797	-202.473	612.008	984.656	650.469	883.457	-139.383	326.965	1237.49	-451.785	202.129	244.246	242.563	37.0898	-100.172	-532.219	-752.047	-270.648	-597.02	1.83984	-264.063	250.277	200.859	313.691	578.777	-46.8828	154.723	83.5898	-247.273	42.1367	447.824	504.793	-58.957	451.582	132.414	-369.457	-432.031	650.699	-485.266	-202.918	905.742	585.719	-22.9805	681.641	122.594	522.879	-12.5	1207.46	496.758	1147.4	589.398	331.746	678.449	-214.488	-173.063	762.73	-156.109	-1691.57	-1921.66	116.621	120.293	6.34766	92.793	-547.371	-25.1406	-146.512	44.5195	312.957	-5.20313	-160.949	834.715	-856.203	-826.703	-244.777	908.57	228.348	1074.56	-336.797	1079.28	516.801	19.7656	-157.828	-821.973	-26.6641	755.098	378.316	32.9961	100.137	1055.74	1578.82	1640.36	352.379	491.871	1559.84	480.297	-183.77	701.652	-365.434	-855.031	-1254.13	-112.742	237.152	354.547	865.445	1218.85	407.764	625.191	920.131	-98.4141	165.563	-1144.94	-184.922	-418.377	-444.303	224.303	548.441	585.115	-226.674	341.076	-1058.63	-648.793	256.592	-277.475	-684.99	-60.9512	-450.357	-420.205	-308.494	-702.221	-871.381	-71.9766	-568.004	1158.54	440.658	-205.65	-225.381	-263.533	18.8965	374.908	-1339.49	384.691	-828.535	38.8301	-242.211	28.3438	-212.506	-836.756	-564.404	-215.449	-405.891	-143.725	-342.949	-971.563	-283.564	329.047	2.27734	-1009.88	-262.408	122.68	103.393	-38.2695	-555.305	48.291	-445.484	-997.627	336.865	537.994	-723.24	-1110.83	514.213	918.902	-451.764	466.219	300.848	-304.873	438.057	217.641	-161.121	836.773	515.324	174.537	903.41	958.947	1007.15	921.014	775.549	1153.75	80.627	-373.826	364.395	1386.29	1164.86	1308.11	2231.04	2384.66	3488.95	5088.93	6862.6	9100.95	13021	19645.7	32310.1	53026.3	79278.1	113070	141263	159085	163436	150376	128792	109621	93024.7	82183.9	75882.7	71044.3	66565.5	65874.5	64511.2	63808.6	61605.7	61058.5	60095	59956.3	60873.3	60396	59059.5	59550.6	60698.5	60463.1	62112.5	63621.6	65758.4	67975.9	73144.2	81043.2	91950	110210	133880	158629	181688	198578	200512	198301	196977	199779	198996	197167	190048	183309	176767	172140	170070	165450	162725	160886	159421	159607	157865	156831	158285	157229	157777	156435	157643	158521	159798	160145	158021	157370	156361	156456	156691	157002	153551	152864	155124	154263	153722	150794	150101	152979	152967	152900	152934	151279	152721	152737	152443	152565	150445	151816	153925	156429	154593	155675	154426	156106	154776	156553	156077	157420	156339	155558	155903	155860	155823	156098	154784	152708	152895	153233	152881	151350	153262	155310	155272	155436	156558	156049	158108	159081	157926	156543	155373	153404	151842	150109	149057	148225	147793	145434	144937	142358	138810	137216	136718	134893	135566	133276	129671	128635	127623	124925	125794	124771	123530	121410	121707	121854	122456	123568	121558	123289	122916	123327	121106	121759	121953	123081	123618	123978	124289	124453	124655	125104	122954	125914	124833	124644	126014	125284	125734	124890	127278	127523	126532	126857	126217	126375	129122	130587	130000	129455	131226	131670	130565	131425	133764	131793	134956	134534	134859	135644	136306	136834	139096	138888	138660	138692	138876	138834	140273	141051	142212	140640	143175	143415	144706	145716	145316	144948	144980	146057	146946	147512	147180	145323	145734	146141	147796	149281	148295	147542	148779	148199	147535	148352	148194	146506	146793	145909	147196	147769	147550	147128	145893	145151	143693	144118	144739	143038	142654	144070	143675	143078	141831	140099	140903	140369	141284	141601	139713	137915	136932	135188	137388	135944	135412	133690	133593	131357	129901	130402	130100	128785	127279	126940	126958	126444	127002	125227	125203	123685	122854	122432	124099	124431	122770	121288	121111	120503	120878	120191	119179	119052	120366	120685	119917	119274	118341	117222	118295	119067	119730	118311	117566	118559	117700	116445	117062	118510	116409	114692	115899	116028	117376	116216	114898	116511	117808	117795	115676	115394	115449	115701	113852	114309	114614	115620	113320	113737	113995	114571	114269	113401	114523	113047	115056	114421	112349	111866	112108	112233	111999	112824	112209	111383	112993	113217	110581	111145	110175	111666	112257	111820	111210	109113	110179	110845	110352	110023	111476	109916	110328	110094	110220	109512	109785	108881	109902	109820	108946	110239	109356	106897	107801	106850	106089	107255	108997	108710	107178	106430	106380	106171	105560	105636	105763	106326	106317	105270	105672	104666	105025	104739	103751	104187	105050	104308	103906	104039	103047	103082	103558	103032	102242	103659	103428	100973	102601	102063	99994.7	100021	100145	100303	100844	99871.3	99947	101137	98916.4	97664	98162.5	98141.9	97797.3	97136.7	97971	97214.2	96733.4	97941.5	95172.6	94752.6	95884.6	97719.5	97694.3	95852.1	95361.9	95248.6	96048.2	94532.8	95410.3	95433.8	94848.2	94929.5	94973.9	94175.1	93083.3	92571.5	91452.6	92142.6	92597.6	93688.6	93688.5	93298.3	93286.1	93325.9	91912.6	91314.2	92434.8	90492.4	91394.8	90981.3	90768.7	91097	91308.3	89952.6	90590.8	90546.9	89302	88923.1	89555.1	89051	89079.9	88225.8	88846.6	88320.4	86879.1	86906.8	87887.4	88401	88032.5	86547	86949.4	87042.8	86404.2	85345.5	86706.8	86136	87002.1	86388.3	85998.3	85811.4	85985.3	85630.3	86160.2	86788	84086.9	83878.6	84497.3	83838	83643.7	83959.3	83466.8	83043.3	83738.8	82929.2	82390.6	81275.9	82778.2	83414.5	82999.7	81460.9	82583	81975.1	81547.1	81833.1	83329.1	82177	81926.9	80102.7	80327.5	81424.3	80229	80217.7	80211.3	81070.9	80630.5	81569	81380.5	80905.9	80036.3	78163.7	79653	79570.3	78107.6	79019.8	77998	77832.1	79414.2	78763.3	79799.3	78670.3	78135.2	79013.1	77980	76821.8	77262.6	76954.4	77164.1	78295.8	78510.4	77302.1	75244.6	76743.2	76007.7	75915.1	75674.6	75064	75585.3	76435.7	76268	75552.2	75999.4	75537.6	74210.8	75374.9	76473	74595	73844.1	73780	72594	72431.9	73229.8	72973.6	73109.4	72731.2	72454.9	71961.7	71128.3	71631	71764.6	72018.2	71396.7	71301.2	71435.7	72310.2	71749.6	70650	71690.3	72288.6	70242.9	69975.2	70494.4	71693.6	71995.8	71411.9	69878	69295	68304.1	68340.1	70414.1	69900	69460.9	69644.8	68066.7	67462.5	67771.3	66728	66557.8	67131.5	67543.1	67018.8	68120.4	66586	67513.5	65483.1	66914.5	65869	66106.4	64653.9	65367.2	65348.6	64747.9	64719.2	64747.5	65610.7	65895.9	65296.1	64716.2	64612.4	65287.4	65377.5	65085.6	65255.6	65169.5	65188.5	63799.4	62699.3	62533.2	62757.1	62979.9	63580.7	62952.4	61941.2	61924.9	62533.6	61833.2	61123.9	61883.5	62647	61655.6	61616.1	61689.6	62280.1	60855.6	59681	60510.4	60348.8	60688.1	59866.4	59729.7	59265	60311.2	59283.5	58587.6	59846.8	59621	59803.1	59490.2	59657.3	58412.3	59140.3	58817.3	57630.3	58308.2	58068.2	57445.1	57517.9	57829.8	57643.6	57309.4	56447.2	56084	54982.7	55666.4	56065.1	56225.8	55650.4	56365	56271.6	55858.2	54845.7	54049.3	55025.8	55379.3	54691.7	54536.1	53786.6	54049.9	
    

    Quindi io quello che devo fare, mentre il programma originale (che sta nel primo messaggio) carica i 4 files dati tramite la funzione load, io devo fare in modo che eseguendo il programma, chiede all'utente i nomi dei 4 files .txt
  • Re: Matlab, leggere nome file

    Ti ripeto la domanda, hai provato a verificare il codice con il debugger?

    Il fatto che venga generato il messaggio di errore che hai riportato nel messaggio precedente sembra indicare che il file sia stato letto.

    Verifica con il debugger il contenuto della variabile nel quale sono stati caricati i dati letti e, passo passo, del codice fino alla generazione del messaggio di errore ed analizza il valore delle variabili in gioco.

    Il debugger è il tuo migliore amico.
  • Re: Matlab, leggere nome file

    Come faccio a fare il debugger? (Come ho detto ho appena iniziato a usare matlab!)
    Comunque ho fatto una prova...se scrivo:
    diamdiff=input('Nome spettro diamante in diffrazione= ');
    [fid msg]=fopen(diamdiff,'r');
    
    ma lascio il pezzo del programma originale
    
    
    load 'dia_221_2_0_2.txt'
    .
    .
    .
    .
     ckdiadiff(j) =dia_221_2_0_2(j);%% s
    
    il programma funziona...quindi (come hai detto ) l'apertura del file me la fa...il problema è che non riesco a far funzionare questo pezzo
    ckdiadiff(j) =dia_221_2_0_2(j);%% s
    se al posto del nome del file
    dia_221_2_0_2(j)
    gli assegno la variabile
    ckdiadiff(j) =diamdiff(j);%% s
    in modo da poter inserire manualmente il nome del file.
  • Re: Matlab, leggere nome file

    Non puoi procedere per tentativi sperando di "azzeccare" il metodo giusto per pura combinazione.

    Se hai iniziato da poco ad usare il linguaggio, devi familiarizzare con la sua sintassi, le sue funzioni di base, ecc.

    Per cominciare: https://www.mathworks.com/help/pdf_doc/matlab/getstart.pdf
    Per un'introduzione sul debugging:

    https://it.mathworks.com/help/matlab/matlab_prog/debugging-process-and-features.html
    https://it.mathworks.com/help/matlab/matlab_prog/set-breakpoints.html
    https://it.mathworks.com/help/matlab/matlab_prog/examine-values.html

    per la funzione "load":
  • Re: Matlab, leggere nome file

    Ti ringrazio per i link, l'unica cosa...siccome avrei una certa urgenza di quella modifica (altre sono riuscito a farle, tipo cicli while, acquisizione parametri da tastiera ecc....mi manca questa)...mica potresti provare tu a fare il debug?
  • Re: Matlab, leggere nome file

    Forse ho capito qual è il problema...ma essendo novizio in matlab non so scrivere lo script per risolverlo...ti dico quale credo sia il problema, puoi aiutarmi con lo script per favore?
    Allora partiamo dal sorgente originale:

    Carica il nome del file (Compreso di estensione .txt) con la riga
    load 'dia_221_2_0_2.txt'; %spettro diamante in diffrazione 
    poi usa i dati del file nella riga
    ckdiadiff(j) =dia_221_2_0_2(j);%% spettro del diamante in diffrazione
    ma notiamo che in questa riga MANCA l'estensione.txt!

    Se io infatti, cambio quest'ultima riga in
    ckdiadiff(j) =dia_221_2_0_2.txt(j);%% spettro del diamante in diffrazione

    ottengo questo errore
    Struct contents reference from a non-struct array object.
    
    Error in sp2sp3diff_Titantah (line 67)
          ckdiadiff(j) =dia_221_2_0_2.txt(j);%% spettro del diamante in diffrazione
    Allora, magari se io acquisisco il nome del file
    e poi scrivo

     ckdiadiff(j) =diamdiff(j);%% spettro del diamante in diffrazione
    [/code]

    MAtlab mi interpreta diamdiff come il nome del file compreso di estensione (generando l'errore)

    si può fare uno script che mi assegna a una variabile il nome SENZA estensione del file aperto? cioè mi spiego...se io scrivo
    diamdiff=input('Nome spettro diamante in diffrazione= ');
    [fid msg]=fopen(diamdiff,'r');
    e il file diamdiff è il file dia_221_2_0_2.txt ...allora mi serve una variabile che sarà il nome (Senza estensione) di quel file...così io provo a mettere quella variabile nella riga dove si genera l'errore, quindi se questa variabile la chiamo nome...allora scrivo
    ckdiadiff(j) =nome(j);%% spettro del diamante in diffrazione
    Grazie
  • Re: Matlab, leggere nome file

    A prescindere da come definisci il nome del file di input (scritto "direttamente" nel codice, acquisito tramite la funzione "input" o con "uigetfile") devi comunque leggerlo con la funzione "load" (o con qualunque altra funzione che legga il file nel "tuo" formato).

    Rispetto al tuo tentativo:
    
    %%%%%%%%%%%%%%% START MIE MODIFICHE%%%%%%%%%%%%%%%%%%%%%%%%%
    %load 'dia_221_2_0_2.txt'; %spettro diamante in diffrazione 
    diamdiff=input('Nome spettro diamante in diffrazione= ');
    [fid msg]=fopen(diamdiff,'r');
    %%%%%%%%%%%%%END MIE MODIFICHE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    load 'hopg_220_4_0_2.txt'; %spettro grafite in diffrazione campione 2 ex 'hopg_220_4_0_2.txt'
    load 'c60_217_0_0_2.txt'; 
    load 'piro_216_0_0_2.txt'; % spettro PIROVALVOLA in diffrazione 
    
    la funzione "input" assegna alla variabile "diamdiff" la stringa che contiene il nome del file (ad esempio "dia_221_2_0_2.txt".

    A questo punto devi chiamare la funzione "load" per "leggerlo e caricare i dati nel Workspace.

    La funzione "fopen" che chiami ([fid msg]=fopen(diamdiff,'r');) semplicemente "apre" il file in modalità "read", ma non lo legge, dovresti quindi usare una funzione che legga il file che hai aperto (ad esempio "textscan").

    Questo non serve perchè il file di testo è leggibile dalla funzione "load" che non necessita che tu "apra" il file.

    Quello che devi fare, semplicemente è chiamare la funzione "load" passandogli in input la variabile che contiene il nome del file.
    Devi anche specificare il nome della variabile di output: nel tuo caso devi usare il nome della variabile che usi nel resto del codice.

    In pratica, per leggere il file "dia_221_2_0_2.txt" ed assegnare il suo contenuto alla variabile "diamdiff" devi semplicemente:
    
    input_file_1=input('Nome FILE #1= ');
    diamdiff=load(input_file_1)
    
    Analogamente per gli altri tre file di input.
    
    input_file_2=input('Nome FILE #2= ');
    hopg_220_4_0_2=load(input_file_2);
    
    input_file_3=input('Nome FILE #3= ');
    c60_217_0_0_2=load(input_file_3)
    
    input_file_4=input('Nome FILE #4= ');
    piro_216_0_0_2=load(input_file_4);
    
    
    Nota, non è necessario usare nomi diversi per la variabile di output di "input" (input_file_1, input_file_2, ecc.).
  • Re: Matlab, leggere nome file

    Grazie mille! Adesso funziona! era proprio quello il problema...non sapevo che quel codice (senza il load) apriva il file senza però caricarne i dati!!!
  • Re: Matlab, leggere nome file

    Scusa...volevo chiederti un'altra cosa...vorrei mettere il controllo sul file...cioè se il programma non trova il file vorrei dare un messaggio di errore personale, ho fatto:
    inputdiamdiff=input('File spettro diamante= ');
    diamdiff=load(inputdiamdiff)
    if diamdiff == 0
    	fprintf('Non ho potuto trovare il file! \n');
    	return;
    end
    ma se scrivo un nome di file sbagliato, invece di darmi l'errore personale mi da questo errore:
    Error using load
    Unable to read file 'spettro.txt'. No such file or directory.
    
    Error in sp2sp3diff_Titantah (line 62)
    diamdiff=load(inputdiamdiff)
  • Re: Matlab, leggere nome file

    Ci sono diverse possibilità:
    [*] la più semplice è utilizzare la funzione "uigetfile" al posto della funzione "Input"

    la funzione "uigetfile" dovrebbe essere usata in combinazione con la la funzione "fullfile" per creare il nome completo (path + nome file)


    [*] puoi usare la funzione "exist"
    https://it.mathworks.com/matlabcentral/answers/49414-check-if-a-file-exists


    [*] puoi inserire la parte di lettura in un blocck "try" - "catch"
  • Re: Matlab, leggere nome file

    Grazie ancora!
Devi accedere o registrarti per scrivere nel forum
14 risposte