\documentclass{article}
\usepackage[dvips]{graphicx}
\usepackage{amsfonts}
\usepackage{fbox}
\usepackage[most]{tcolorbox}

\newtcblisting{mybox}[2][]{%
    nobeforeafter, listing only,
    box align=center,
    sharp corners, width=#2, notitle, size=fbox, #1}

\newcommand{\alphab}{\mbox{$\boldsymbol\alpha$}}
\def\alphab{\mbox{$\boldsymbol\alpha$}}
\def\varepsilonb{\mbox{$\boldsymbol\varepsilon$}}
\def\omegabb{\mbox{$\boldsymbol\omega$}}
\def\rset{\mbox{$\mathbb{R}$}}
\def\cset{\hbox{$\mathbb{C}$}}
\def\nset{\mbox{$\mathbb{N}$}}
\def\fset{\mbox{$\mathbb{F}$}}
\def\zset{\hbox{$\mathbb{Z}$}}
%\def\pset{\mbox{$\mathbb{P}$}}
\def\pset{\mbox{$\cal{P}$}}
\def\tset{\mbox{$\mathbb{T}$}}
\def\psetp{\mbox{$\mathbb{P}$}}
\def\eset{\mbox{$\mathbb{E}$}}
\def\qset{\mbox{$\mathbb{Q}$}}
\def\psets{\mbox{$\scriptstyle \mathbb{P}$}}
\def\fnset{\mbox{$\scriptstyle {\cal{F}}$}}
\def\rsets{\mbox{$\scriptstyle \mathbb{R}$}}
\def\kset{\hbox{$\mathbb{K}$}}
\def\fl{\hbox{\rm fl}}
\def\im{\hbox{\rm i}}
\def\Rea{\mbox{\rm Re}}
\def\dx{\hbox{${\rm ~d}x$}}
\def\dt{\hbox{${\rm ~d}t$}}
\def\tset{\hbox{$\mathbb{T}$}}
\def\iset{\hbox{$\mathbb{I}$}}
\def\bbb{\hbox{$\mathbf{b}$}}
\def\bbbs{\mbox{$\scriptstyle \mathbf{b}$}}


\newenvironment{enumerate*}%
  {\begin{enumerate}%
    \setlength{\itemsep}{0pt}%
    \setlength{\parskip}{0pt}}%
  {\end{enumerate}}

  \newenvironment{itemize*}%
  {\begin{itemize}%
    \setlength{\itemsep}{0pt}%
    \setlength{\parskip}{0pt}}%
  {\end{itemize}}

%\oddsidemargin 3.2cm
\oddsidemargin -1.4cm \evensidemargin -1.4cm
\parindent 0.4cm
\topmargin -3.0cm
%\textwidth 13cm
\textwidth 18.5cm \textheight 28.5cm


\headsep 0.7cm
\title{Calcolo Numerico: Esercizi}
\date{~}
\author{\phantom{MRZ}}

\begin{document}
\pagestyle{empty} \pagestyle{empty}

\begin{center}
{\large \textbf{Calcolo Numerico (Ingegneria Energia), Prova di Laboratorio II, 14 luglio 2026}}
\end{center}

\vspace{0.3cm}  \noindent{\textbf{Cognome} \underline{%
\phantom{XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}} \textbf{Nome} \underline{%
\phantom{XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}}   }


\vspace{0.1cm}  \noindent\textbf{Matricola}  \underline{%
\phantom{XXXXXXXXXXXXXX}} \textbf{Postazione}  \underline{%
\phantom{XXXXXXXXXXXXXX}} \hspace{1cm} \textbf{Consegnare} \scalebox{2}{$\square$} \quad  \quad \textbf{Ritiro} \scalebox{2}{$\square$}

\vspace{0.5cm} \noindent {\small \textsc{1. Si raccomanda agli studenti di
\textbf{commentare adeguatamente} script e funzione Matlab. }}

\vspace{0.25cm} \noindent {\small \textsc{2. Ogni codice \textbf{deve avere} nella prima riga un commento {\tt{$\%$}} con nome, cognome, numero di matricola e postazione.}}

\vspace{0.5cm}
\noindent
\begin{center}
{\underline{\bf{Oggetto della prova}}}
\end{center}


\noindent
Si implementi la formula di {\it {Gregory}}
\begin{equation}\label{0}
	G_N(f):=  h (f(x_1)/2+\sum_{i=2}^{N-1}f(x_i)+f(x_N)/2) + (h/12)\cdot \left(
    (f(x_2)-f(x_1))-(f(x_N)-f(x_{N-1}))
    \right)\approx \int_a^b f(x) dx
\end{equation}
in cui $x_k=a-{\frac{h}{2}}+kh$, ove $h={\frac{b-a}{N}}$ e $f \in C([a,b])$, testando i codici con una demo.

\vspace{0.5cm}

\begin{center}
{\underline{\bf{Funzione {\tt{gregory}}}}}
\end{center}	


% itemize 1
Si definisca la funzione {\tt{gregory}}, avente come input:

% enumerate 1
\begin{enumerate} 
\item la funzione {\tt f},
\item il numero intero positivo {\tt N}, 
\item un vettore {\tt {estremi}} che ha per componenti, nell'ordine, gli estremi $a$ e $b$.
\end{enumerate} % end enumerate 1

La stessa funzione deve dare in output 
\begin{enumerate} 
\item il vettore {\tt Inum} che contiene l'approssimazione dell'integrale richiesto utilizzando la formula di Gregory.
\end{enumerate} 

\vspace{0.5cm}

Nella porzione di codice:

\begin{itemize}
\item lo script testi se {\tt{N}} \'e il vettore vuoto (usare il comando Matlab {\tt{isempty}} o alternativamente il comando {\tt{length}} in modo appropriato); se ci\'o si verifica, si ponga {\tt{Inum=NaN}} e si esca dalla routine;

\item lo script testi se {\tt{N}} \'e strettamente positivo; se ci\'o non si verifica, si ponga {\tt{Inum=NaN}} e si esca dalla routine;

\item si ponga {\tt{a}} uguale alla prima componente di {\tt{estremi}} e {\tt{b}} uguale alla seconda componente di {\tt{estremi}};

\item si ponga {\tt{h}} pari a $\frac{b-a}{N-1}$;

\item utilizzando il comando {\tt{linspace}}, si ponga {\tt{x}} il vettore di {\tt{N}} componenti equispaziate nell'intervallo $[a,b]$;

\item utilizzando il comando Matlab {\tt{feval}}, si assegni ad {\tt{y}} la valutazione della funzione (vettoriale) {\tt{f}} nel vettore {\tt{x}}, ovvero $y_k=f(x_k)$, $k=1,\ldots,N$;

\item si assegni ad {\tt{S}} il valore di {\tt{h}} moltiplicato per il vettore {\tt{y}};

\item si pongano la prima e ultima componente di {\tt{S}} pari alla met\'a del loro valore;

\item si ponga {\tt{C1}} pari a $(h/12) \cdot(y_2-y_1)$ con $y_1$ e $y_2$ rispettivamente prima e seconda componente del vettore {\bf{y}};

\item si ponga {\tt{C2}} pari a $(h/12) \cdot(y_N-y_{N-1})$ con $y_{N-1}$ e $y_{N}$ rispettivamente penultima e ultima componente del vettore {\bf{y}};

\item si ponga {\tt{corr}} pari a {\tt{C1}} meno {\tt{C2}};
\item si ponga {\tt{Inum}} uguale alla somma delle componenti di {\tt{S}} (utilizzare il comando {\tt{sum}});

\item si ponga {\tt{Inum}} pari al valore corrente di {\tt{Inum}} sommato a {\tt{corr}}.

\end{itemize} % end itemize 1

\begin{flushright}
	(continua $\rightarrow$)
\end{flushright}
\newpage

\begin{center}
	{\underline{\bf{Funzione {\tt{demo\_gregory}}}}}
\end{center}		

Si scriva una funzione {\tt{demo\_gregory}} in cui

\begin{itemize}
\item mediante un comando del tipo {\tt{f=@(x) ...}} si definisca la funzione vettoriale $f(x)=\exp(x)+x^2$ (si faccia un corretto utilizzo del {\it{puntino}} di Matlab),
\item mediante un comando del tipo {\tt{prim=@(x) ...}} si definisca la funzione vettoriale {\tt{prim}} che corrisponde a una primitiva di $f$;

\item assegni alla prima componente di {\tt{estremi}}, il valore {\tt{0}} e alla seconda componente di {\tt{estremi}}, il valore $1$;

\item si assegni ad {\tt{I}} il valore {\tt{prim(estremi(2))-prim(estremi(1))}};

\item assegni ad {\tt{NV}} il vettore di componenti $[10 {\hspace{0.1cm}} 20  {\hspace{0.1cm}} 30  {\hspace{0.1cm}} 40  {\hspace{0.1cm}} 50]$ mediante un opportuno comando Matlab adatto per vettori con componenti equispaziate;

\item si ponga {\tt{M}} pari alla lunghezza del vettore {\tt{NV}};

\item si definisca un ciclo-for in cui l'indice di iterazione {\tt{k}} va da $1$ a {\tt{M}}; alla $k$-sima iterazione di tale ciclo,
	
	\begin{enumerate}
		\item[(a)] si ponga {\tt{N}} uguale alla $k$-sima componente di {\tt{NV}};
		\item[(b)] si ponga la $k$-sima componente di {\tt{Inum}} uguale al risultato ottenuto dalla chiamata di {\tt{gregory}} con argomenti {\tt{f}}, {\tt{N}}, {\tt{estremi}};
        \item[(c)] si ponga la $k$-sima componente di {\tt{err}} uguale a $|{\tt{I}} - {\tt{Inum}}_k|$ ovvero uguale al valore assoluto di {\tt{I}} meno la k-sima componente di {\tt{Inum}};
		\item[(d)] si visualizzi su monitor il valore di {\tt{k}} con una cifra prima della virgola e 0 dopo la virgola in formato decimale e sulla stessa riga il valore della k-sima componente di {\tt{err}} con una cifra prima della virgola e 3 dopo la virgola in formato esponenziale.
	\end{enumerate}

	
\end{itemize}

\vspace{0.15cm}

\begin{center}
	{\underline{\bf{Tabella risultati}}}
\end{center}	


Nella tabella che segue si scrivano i valori ottenuti relativamente a {\tt{err(1)}}, {\tt{err(2)}}, {\tt{err(3)}}, {\tt{err(4)}}, {\tt{err(5)}}.
\begin{center}
	\begin{tabular}{ | c | c | c | c | c |}
		\hline
		{\mbox{\tt{err(1)}}} &  {\mbox{\tt{err(2)}}} &   {\mbox{\tt{err(3)}}} &  {\mbox{\tt{err(4)}}} & {\mbox{\tt{err(5)}}}  \\
		\hline
		{\hspace{2.95cm}} & {\hspace{2.95cm}} & {\hspace{2.95cm}} & {\hspace{2.95cm}} & {\hspace{2.95cm}} \\
		{\hspace{2.95cm}} & {\hspace{2.95cm}} & {\hspace{2.95cm}} & {\hspace{2.95cm}} & {\hspace{2.95cm}}\\
		{\hspace{2.95cm}} & {\hspace{2.95cm}} & {\hspace{2.95cm}} & {\hspace{2.95cm}} & {\hspace{2.95cm}}\\
		\hline
	\end{tabular}
\end{center}

\vspace{0.15cm}

\begin{center}
	{\underline{\bf{Note sull'esame}}}
\end{center}

{\footnotesize{
\begin{enumerate}
\item In aula:
\begin{itemize}
\item tenere solo documento di riconoscimento, penne, borraccia d'acqua;
\item non sono ammessi fogli, libri, apparecchi elettronici;
\item zaini e borse vanno riposti negli scaffali in aula;
\item sedersi in corrispondenza delle postazioni indicate;
\item si ricordi che non e' possibile uscire durante l'esame.
\end{itemize}

\item Per lanciare Matlab cliccare sulla relativa icona del desktop.

\item Per accedere a Moodle esami:

\begin{itemize}
\item Entrare su Moodle esami (vedi icona sul desktop).
\item Effettuare la login con le vostre credenziali SSO (es. albert.einstein@studenti.unipd.it + password).
\item Ricercare l’esame digitando nel campo di ricerca {\tt{calcolo numerico}} e cercare nella lista ottenuta il corso per Ingegneria dell'Energia. 
\end{itemize}

\item Per la consegna la consegna dei file con Moodle esami:

\begin{itemize}
\item andare nella cartella {\tt{Documenti/MATLAB}} (cliccare icona con monitor in alto a sinistra).
\item fare {\it{drag and drop}} dei files Matlab nella box di consegna di Moodle esami.
\item uscire da sistema, andando in alto a destra, cliccando sulla freccia a fianco il proprio nome, scorrendo fino a {\tt{Esci}}. 
\end{itemize}

\item Uscire dall’aula recuperando i propri effetti personali.

\item Non serve consegnare la brutta, bensi il foglio del compito debitamente compilato.

\item Si consegnano solo codici di tipo {\tt{.m}} e non sono accettati {\tt{.mlx}}.

\item Il docente puo'controllare assieme allo studente la corretta consegna presso il sito {\tt{https://esami.unipd.it/}}.
\end{enumerate}
}}
\end{document}

