Source Latex: TP de mathématiques en Algorithmique: Terminale, BTS, Post-Bac


Fichier
Type: TP
File type: Latex, tex (source)
Télécharger le document pdf compilé pdficon
Description
Exercices d'initiation à Matlab
Niveau
Algorithmique: Terminale, BTS, Post-Bac
Table des matières
  • Exercice 1: Vecteurs et courbes
  • Exercice 2: Manipulation de matrices
  • Exercice 3: Fonctions graphiques
  • Exercice 4: Etude d'une fonction
  • Exercice 5: Initiation à la programmation
  • Exercice 6: Unepremière fonction
  • Exercice 7: Recherche d'un élément dans un vecteur
  • Exercice 8: Matrices et systèmes linéaires
Mots clé
Matlab, introduction, initiation, programmation, scripts, fonctions
Voir aussi:

Documentation sur LaTeX
lien vers la documentation Latex
Source LaTex icone

Source Latex

\documentclass[12pt]{article}
%\usepackage{french}
\usepackage[french]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}\usepackage{amssymb}
\usepackage[utf8]{inputenc}
\usepackage{a4wide}
\usepackage{graphicx}
\usepackage{epsf}
\usepackage{pst-all}
\usepackage{ifthen}
\usepackage{calc}
\usepackage{pst-all}

\usepackage{hyperref}
\hypersetup{
    pdfauthor={Yoann Morel},
    pdfsubject={Matlab},
    pdftitle={Initiation et travaux pratiques en Matlab},
    pdfkeywords={Matlab, simulation, programmation, 
      modélisation, mathématiques}
}
\hypersetup{
    colorlinks = true,
    linkcolor = red,
    anchorcolor = red,
    citecolor = blue,
    filecolor = red,
    urlcolor = red
}
\voffset=-1.cm
% Raccourcis diverses:
\newcommand{\nwc}{\newcommand}
\nwc{\dsp}{\displaystyle}
\nwc{\bge}{\begin{equation}}\nwc{\ene}{\end{equation}}
\nwc{\bgar}{\begin{array}}\nwc{\enar}{\end{array}}
\nwc{\bgit}{\begin{itemize}}\nwc{\enit}{\end{itemize}}
\nwc{\bgmp}{\begin{minipage}}\nwc{\enmp}{\end{minipage}}

\nwc{\ct}{\centerline}
\nwc{\V}[1]{\overrightarrow{#1}}


\nwc{\la}{\left\{}\nwc{\ra}{\right\}}
\nwc{\lp}{\left(}\nwc{\rp}{\right)}
\nwc{\lb}{\left[}\nwc{\rb}{\right]}

\nwc{\bgsk}{\bigskip}
\nwc{\vsp}{\vspace{0.1cm}}
\nwc{\vspd}{\vspace{0.2cm}}
\nwc{\vspt}{\vspace{0.3cm}}
\nwc{\vspq}{\vspace{0.4cm}}


\newcounter{ntp}%[section]
\setcounter{ntp}{1}
\newenvironment{TP}[1]{%
\setcounter{equation}{0}\setcounter{subsection}{0}
%\bgsk{\large {\bf Exercice }\arabic{nex}}\hspace{0.5cm}
\clearpage
%\if@openright\clearpage\else\cleardoublepage\fi 
% ...doublepage... necessite documentclass{book}...
\section*{ \underline{TP \arabic{ntp} :} #1}
\addcontentsline{toc}{section}{\underline{TP \arabic{ntp} :}\ #1}
\stepcounter{ntp}}{}

\nwc{\bgTP}{\begin{TP}}\nwc{\enTP}{\end{TP}}


\def\N{{\rm I\kern-.1567em N}}                              % Doppel-N
\def\No{\N_0}                                               % Doppel-N unten 0
\def\R{{\rm I\kern-.1567em R}}                              % Doppel R
\def\C{{\rm C\kern-4.7pt                                    % Doppel C
\vrule height 7.7pt width 0.4pt depth -0.5pt \phantom {.}}}
\def\Z{{\sf Z\kern-4.5pt Z}}                                % Doppel Z

% grec et autres
\nwc{\lbd}{\lambda}
\nwc{\vphi}{\varphi}
\nwc{\ga}{\gamma}
\def\epsi{\varepsilon}
\def\tht{\theta}

\nwc{\tm}{\times}

\nwc{\ul}{\underline}
\nwc{\scp}[1]{\scriptsize{#1}}

\author{Y. Morel}
\date{}

\headheight=0cm
\textheight=26cm
\topmargin=-1.8cm
\footskip=.8cm
\textwidth=17.6cm
\oddsidemargin=-1.cm
%\parindent=0.2cm


\usepackage{fancyhdr}

\newenvironment{centerpage}{\vspace*{\fill}}{%
	\protect\vspace*{\fill}}

\begin{document}


\pagestyle{fancyplain}
\setlength{\headheight}{0cm}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0.1pt}
\lhead{}\chead{}\rhead{}

\lfoot{Y. Morel - \url{https://xymaths.fr/Matlab/}}
\rfoot{Exercices d'initiation à Matlab - \thepage/\pageref{LastPage}}
\cfoot{}


\vspace*{1cm}

\nwc{\TPtop}{}
\newlength{\lgr}
\newlength{\TPtopLarge}
\newlength{\EXX}
\newlength{\Tlgr}
\newlength{\TopHeight}
\newlength{\TopTitleHeight}

\newcommand{\ChapTitle}[3]{
  \renewcommand{\TPtop}{{\LARGE\bf #1} {\Huge\bf#2}}
  \settowidth{\lgr}{\LARGE\bf #1}
  \settowidth{\TPtopLarge}{\TPtop}
  \settoheight{\EXX}{\LARGE X}
  \settowidth{\Tlgr}{\LARGE T}
  \setlength{\Tlgr}{0.5\Tlgr}
  \settototalheight{\TopHeight}{\fbox{\bgmp{\linewidth}\begin{center}{\LARGE\bf#3}\end{center}\enmp}}
  %%
  \noindent
  \bgmp{\linewidth}
  \psline(\lgr,\EXX)(1.1\lgr,\EXX)
  \psline(\TPtopLarge,\EXX)(\linewidth,\EXX)%
  (\linewidth,-1.\TopHeight)(\Tlgr,-1.\TopHeight)%
  (\Tlgr,-0.05)
  \TPtop
  \vspace{-0.5\EXX}
  \begin{center}
    {\LARGE\bf#3}
  \end{center}
  \enmp%
  \vspace{0.5cm}
}


\setcounter{ntp}{1}
%\input{TP_Initiation_Matlab} 
%\bgTP{Exercices d'initiation à Matlab}
\section*{}
\ChapTitle{TP}{\thentp}{Exercices d'initiation à Matlab}
\addcontentsline{toc}{section}{TP \thentp: Exercices d'initiation à Matlab}

\subsection*{Exercice 1: Initiation à MATLAB - Vecteurs et courbes}
\addcontentsline{toc}{subsection}{Exercice 1: Vecteurs et courbes}

\bgit
\item[a)] Définir la variable $\dsp x=\frac{\pi}{4}$, et calculer
  $y_1=\sin(x)$ et $y_2=\cos(x)$, puis $z=tan(x)$ à partir de $y_1$ et $y_2$. 
\vspd
\item[b)] Définir la variable $\dsp
  x=[\frac{\pi}{6},\frac{\pi}{4},\frac{\pi}{3}]$, et calculer
  $y_1=\sin(x)$ et $y_2=\cos(x)$. 

  \vsp
  Calculer alors $\tan(x)$ en utilisant exclusivement les vecteurs
  $y_1$ et $y_2$ précédents. 
\vspd
\item[c)] Définir la variable $x=[0:0.1:2\pi]$. 
  Combien y a-t-il de valeurs dans ce vecteur ? 
  Afficher la courbe du sinus. 

  Faire varier le pas. Qu'affiche exactement la commande \verb+plot+ ? 
  
  (\verb+plot, size, length+). 
\enit


\subsection*{Exercice 2: Initiation à MATLAB - Manipulation de matrices}
\addcontentsline{toc}{subsection}{Exercice 2: Manipulation de matrices}

\bgit
\item[a)] Définir le vecteur $V=\lb 0\ 1\ 2\ 3\ \cdots\ 49\ 50 \rb$. 
  Quelle est la taille de ce vecteur ? 

  Définir le vecteur $W$ contenant les cinq premiers éléments de $V$,
  et le vecteur $X$ contenant les cinq premiers et les cinq derniers
  éléments. 

  Définir ensuite le vecteur $Z=\lb 0\ 2\ 4\ \cdots\ 48\ 50\rb$ à partir de $V$. 

  \vspd
\item[b)] Définir la matrice 
  $M=\lb\bgar{*{10}{c}} 
  1&2&3&4&5&6&7&8&9&10 \\
  11&12&13&14&15&16&17&18&19&20\\
  21&22&23&24&25&26&27&28&29&30\\
  \enar\rb$

  \vspd
  Extraire de cette matrice la matrice 
  $N=\lb \bgar{cc} 1&2\\11&12\\21&22\enar\rb$, 
  la matrice 
  $P=\lb \bgar{ccc} 8&9&10\\18&19&20\\28&29&30\enar\rb$, 
  puis la matrice 
  $Q=\lb\bgar{cc} 3&7\\23&27\enar\rb$. 

  \vspd
  Extraire de la matrice $M$ la matrice $R$ obtenue en prenant dans la
  matrice $M$ une colonne sur 2. 


  \vspd
\item[c)] Définir les matrices 
  $M=\lb 2\ 4\ 6\ 8\ \cdots\ 100\rb$ 
  et 
  $N=\lb -1\ -3\ -5\ \cdots\ -99\rb$, 
  puis le vecteur 
  $P=\lb -1\ \ 2\ -3\ \ 4\ -5\ \  8\ \cdots\ -99\ \ 100\rb$.


  \vspd
\item[d)] Définir une matrice $M$ aléatoire à trois lignes et sept
  colonnes. 
  Combien de nombres dans cette matrice sont plus grand que $0,5$ ?
  que $0,8$ ? Ou sont-ils situés ?

  (\verb+rand, nnz, find, sum+)

  \vspd
  Construire alors la matrice $P$ obtenue à partir de la matrice $M$
  en remplaçant tous les nombres de $M$ inférieurs à $0,4$ par $0$, et
  ceux supérieurs à $0.4$ par $1$. 

  \vspd
  Construire de même la matrice $Q$ obtenue à partir de la matrice $M$
  en remplaçant tous les nombres de $M$ inférieurs à $0.5$ par $-3$ et
  tous les nombres supérieurs à $0.5$ par $14$. 
  
  \vspd
\item[e)] Créer un vecteur contenant $N$ valeurs binaires ($0$ ou $1$) 
  tel que $10$\,\% de ces valeurs soient des~$1$.
\enit

\subsection*{Exercice 3: Initiation à MATLAB, fonctions graphiques}
\addcontentsline{toc}{subsection}{Exercice 3: fonctions graphiques}

Représenter sur une figure à 4 cadrans, les fonctions sinus,
exponentielle, logarithme et tangente. 
(\verb+subplot+)

\subsection*{Exercice 4: Etude de la fonction $Sig=exp(-A.t+j.2\pi f_0.t)$}
\addcontentsline{toc}{subsection}{Exercice 4: Etude d'une fonction}

\bgit
\item[a)]  Créer le vecteur t=[0 : 0.1 : 100]; quel est le nombre de
  points ?  
  Quelle est la place utilisée en mémoire?
  (\verb+size, length, whos+)

  \vspd
\item[b)] Tracer la fonction demandée en choisissant $A$ et $f_0$ de
  façon à observer une dizaine de cycles et une attenuation d'environ
  90\%. 
  (\verb+plot, real, imag, abs+)
  
  \vspd
\item[c)] Représenter sur une figure 4 cadrans, la partie réelle, la
  partie imaginaire, le module et la phase de cette courbe. 

  Mettre les titres et les légendes de chaque graphique.
  (\verb+subplot, title, legend+)

  \vspd
\item[d)] Représenter cette fonction complexe sous la forme d'une
  trajectoire 3d à l'aide de la fonction \verb+plot3+.

  \vspd
\item[e)] Utiliser la fonction graphique rotate3d, pour retrouver les
  courbes 2D de (c) à partir de la représentation 3D. 
\enit

\subsection*{Exercice 5: Initiation à la programmation sous MATLAB}
\addcontentsline{toc}{subsection}{Exercice 5: Initiation à la programmation sous MATLAB}

\bgit
\item[a)] Quel est votre répertoire courant? 
  Créer un nouveau répertoire {\verb+Initiation_Matlab+} et se placer dedans. 

\item[b)] Reprendre le problème de l'exercice 3. Ecrire un script de
  commande qui fixe au départ les valeurs de $A$ et $f_0$, puis calcule la
  fonction et enfin représente en 3D la courbe voulue.

\item[c)] Taper 'clear all' puis who. Il n'y a plus de variables
locales. Taper le nom de votre fichier de commande : quelles sont les
variables reconnues dans l'espace de travail?

\enit

\subsection*{Exercice 6: Création d'une fonction}
\addcontentsline{toc}{subsection}{Exercice 6: Création d'une fonction}

\bgit
\item[a)] Créer, à partir de votre fichier de commande, une fonction
  qui trace la courbe 3D de l'exercice 3, en fonction des variables
  $A$ et $f_0$ passées en paramètres et qui retourne les valeurs
  prises par la fonction Sig. 

\item[b)] Ajouter un "flag" passé à la fonction qui permet de
  choisir ou non la visualisation de la courbe 
  (\verb+nargin+) 

\enit

\subsection*{Exercice 7: Recherche d'un élément dans un vecteur}
\addcontentsline{toc}{subsection}{Exercice 7: Recherche d'un élément dans un vecteur}

Ecrire une fonction \verb+Trouve+ qui prend en argument un vecteur $v$
et un nombre $x$, et qui retourne $1$ si $x$ est un élément du vecteur
$v$, et $0$ sinon. 

Deux versions de cette fonction peuvent-être implémentées, une à l'aide
d'une boucle \verb+for+, et d'un test \verb+if+ approprié, 
l'autre directement avec une comparaison globale \verb+==+
(et, par exemple, \verb+find+ ou \verb+nnz+).


\subsection*{Exercice 8: Matrices et systèmes linéaires}
\addcontentsline{toc}{subsection}{Exercice 8: Matrices et systèmes linéaires}

a) Ecrire une fonction, n'utilisant aucune boucle (for, while, ...)
qui prend comme paramètre un entier $n$ et qui construit la matrice
suivante (fonctions \verb+eye+, \verb+diag+): 
\[ \lb\bgar{ccccccc}
1 & 1 & 0 & \cdots & 0 & 0 & 0 \\
\frac{1}{n} & 2 & \frac{n-1}{n} & 0 & 0 & 0 \\
0 & \frac{2}{n} & 3 &\cdots & 0 & 0 & 0 \\
\vdots & \vdots &\vdots & \ddots  & \vdots & \vdots &\vdots \\
0 & 0 & 0 & \cdots & n-1 & \frac{2}{n} & 0 \\
0 & 0 & 0 & \cdots & \frac{n-1}{n} & n & \frac{1}{n} \\
0 & 0 & 0 & \cdots & 0 & 1 & n+1
\enar\rb
\]

b) Avec Matlab, on peut résoudre tout type de système linéaire en
l'écrivant préalablement sous forme matricielle. 

\vspd
\bgit
\item[(i)] La système linéaire, d'inconnues $x$, $y$ et $z$ suivant 
  \[ \la\bgar{ccccccc}
    6x &+& y  &-&5z &=& 10 \\
    2x &+& 2y &+&3z &=& 11 \\
    4x &-& 9y &+&7z &=& 12
  \enar\right.\]

  s'écrit sous forme matricielle $AX=b$, 
  où $X=[x\ y\ z]^T$ est le vecteur inconnu. 

  \vspd
  Le vecteur $X$ se calcule alors suivant: $AX=b \iff X=A^{-1}b$, ou
  encore, avec Matlab, $X=A\setminus b$ 
  (voir \verb+help slash+).
  \vspd
  Résoudre le système linéaire précédent.

%\item[(ii)]
%  \[ \la\bgar{ccccccc}
%    6x &+& y  &-&5z &=& 10 \\
%    2x &+& 2y &+&3z &=& 11 \\
%    8x &+& 3y &-&2z &=& 12
%  \enar\right.\]
  \vspd
\item[(ii)] Résoudre numériquement le système: 
  \[ \la\bgar{ccccccccc}
    x  &+& 2y  &+& 3z &+& 4t &=& 1 \\
    2x &+& 3y  &+& 4z &+& t  &=& -2 \\
   -2x &+& 4y  &-& 5z &+& 2t &=& 0 \\
    8x &+&  y  &-&  z &+& 3t  &=& 1
  \enar\right.\]

  \vspd
\item[(iii)] Résoudre numériquement le système suivant (moindres carrés):
  \[ \la\bgar{ccccc}
    x &+& 3y  &=& 5 \\
    -2x &+& 6y &=& 7 \\
    3x &-& 4y  &=& 6 \\
    6x &-& 13y &=& -3
  \enar\right.\]
\enit

\label{LastPage}
\end{document}

Télécharger le fichier source Latex