%% Task
% Table of Contents
% 1. Introduzione
% 2. Importazione dei dati
% 3. Plot dei dati
% 4. Interpolazione dei dati
%% 1. Introduzione
% Il live editor di MATLAB offre la possibilità di comporre un algoritmo in maniera "grafica" aggiungendo al flusso di lavoro operazioni preimpostate (task) che agiranno sui dati che vengono generati all'inizio del flusso di lavoro e/o durante lo stesso. Eventualmente, si può produrre il codice data la sequenza dei task, in caso si voglia personalizzare qualche passaggio.
% Esempio. Preparare un flusso di lavoro in cui si leggano i dati da un file di testo formattato come tabella a due colonne, si faccia il plot di tali dati, e infine se ne esegua l'interpolazione polinomiale.
%
%% 2. Importazione dei dati
%

% Set up the Import Options and import the data
opts2 = delimitedTextImportOptions("NumVariables", 2);

% Specify range and delimiter
opts2.DataLines = [1, Inf];
opts2.Delimiter = "\t";

% Specify column names and types
opts2.VariableNames = ["Var1", "Var2"];
opts2.VariableTypes = ["double", "double"];

% Specify file level properties
opts2.ExtraColumnsRule = "ignore";
opts2.EmptyLineRule = "read";

% Import the data
data3 = readtable("G:\Il mio Drive\Didattica\LabChimica2\AA23-24\materiale\OLD\/data.txt", opts2);

% Convert to output type
x = data3.Var1;
y = data3.Var2;

% Clear temporary variables
clear data3

% Clear temporary variables
clear opts2

%
%
%% 3. Plot dei dati
%

% Create plot of x and y
h3 = plot(x,y,"DisplayName","y");

% Add xlabel, ylabel, title, and legend
xlabel("x")
ylabel("y")
title("y vs. x")
legend

%
%
%
%
%
%
%
%
%% 4. Interpolazione dei dati
%

% Remove trend from input data
detrendedData3 = detrend(y,3,"SamplePoints",x);

% Extract trend from input data
trends = y - detrendedData3;

% Display results
figure
plot(x,y,"Color",[77 190 238]/255,"DisplayName","Input data")
hold on
plot(x,trends,"Color",[217 83 25]/255,"LineWidth",1,"DisplayName","Trend")
hold off
legend
xlabel("x")
clear detrendedData3

%