%SCRIPT DESCRIPTION: ...

%reset
close; clear; clc;

%mydata (uso 3 modi diversi per define un vettore)
x=[1 2 3 4 5 6 7 8 9 10]*0.1;
x2=(1:1:10)*0.1;
x3=linspace(1,10,100)*0.1;       %comment

y=x.^2;
y3=sin(x3);

%plot
figure
plot(x,y,'ro','linewidth',2,'markersize',8)
xlabel('x')
% xlabel('\theta')  %latex syntax
ylabel('y')                 
% grid on
% box on
% set(gca,'XScale','log')   %scala logaritimica
% set(gca,'YScale','log')
% xlim([0 10])              %imposto i limiti del grafico manualmente
% ylim([0 100])
hold on  					%plotto tutto sullo stesso grafico
plot(x3,y3,'bx:','linewidth',2,'markersize',8)
legend('y','y3')
% title('my title')
mystring='title: ';
val=3;
mystring=strcat(mystring,num2str(val),' cm^{2}');
title(mystring)

%save data in matlab format
save mymemory
save myvar x y


%SCRITTURA DEI DATI SU FILE DI TESTO
export_matrix=[x; y];   %costruisco una matrice con 2 RIGHE = 2 vettori da esportare!
myheader='x y';         %il mio header con la descrizione dei dati
IWantExport=1;          %abilito l'esportazione
if (IWantExport==1)
    outname=strcat('file_',num2str(val),'cm2','.dat');  %stinga col nome del file
    fileID=fopen(outname,'wt'); %apro il file di testo in scrittura (ritorna un intero: fileID)
    fprintf(fileID,'%s\n',myheader);  %scrivo l'header come stringa (%s) sul file usando il suo ID: fileID
    fprintf(fileID,'%0.5e %0.5e\n',export_matrix);  %scivo i dati: %0.5e %0.5e -> 2 COLONNE in formato scientifico con 5 cifre decimali
    fclose(fileID); %chiudo il file
end


%LETTURA DEI DATI DA FILE DI TESTO
inputname=outname;  %leggo il file che ho appena scritto!
myfile=fopen(inputname,'r'); %apro il file in lettura (ritorna un intero con l'ID del file)
headerread=textscan(myfile,'%s',1,'Delimiter','\n'); %leggo l'header e lo memorizzo nella variabile headerread
datamatrix=transpose(fscanf(myfile,'%g',[2 inf]));  %continuo a leggere il file con 2 colonne fino alla fine (traspongo per ottenere effettivamente 2 colonne)
fclose(myfile); %chiudo il file


%elaboration
xread=datamatrix(:,1);
yread=datamatrix(:,2);

%USE of a custom function
[yel,zel]=myfun(xread);

%plot
%figure %plotto i dati letti (in nero) nella stessa figura di prima
plot(xread,yel,'-k','linewidth',2,'MarkerSize',8)
% xlabel('x_{read}')
% ylabel('y_{read}')
legend('y','y3','y_{read}')

