4
Écrire une fonction Phi servant à calculer la fonction de répartition d’une loi normale centrée réduite, soit
\[ \Phi(x) = \int_{-\infty}^{x} \frac{1}{\sqrt{2\pi}} e^{-y^2/2} \, dy, \quad -\infty < x < \infty. \]
Supposer, pour le moment, que \(x \geq 0\). L’évaluation numérique de l’intégrale ci-dessus peut se faire avec l’identité
\[ \Phi(x) = \frac{1}{2} + \phi(x) \sum_{n=0}^{\infty} \frac{x^{2n+1}}{1 \cdot 3 \cdot 5 \cdots (2n+1)}, \quad x \geq 0. \]
Utiliser la fonction phi de l'exercice 5.3 et tronquer la somme infinie à une grande valeur, 50 par exemple. La fonction ne doit pas utiliser de boucles, mais peut ne prendre qu’une seule valeur de x à la fois. Comparer les résultats avec ceux de la fonction pnorm.
5
Modifier la fonction Phi de l'exercice 5.4 afin qu’elle admette des valeurs de \(x\) négatives. Lorsque \(x < 0\), \(\Phi(x) = 1 - \Phi(-x)\). La solution simple consiste à utiliser une structure de contrôle if ... else, mais les curieux chercheront à s’en passer.
7
Sans utiliser l’opérateur %*%, écrire une fonction prod.mat qui effectuera le produit matriciel de deux matrices seulement si les dimensions de celles-ci le permettent. Cette fonction devra avoir deux arguments (mat1 et mat2) et devra tout d’abord vérifier si le produit matriciel est possible. Si celui-ci est impossible, la fonction retournera un message d’erreur.
Utiliser une structure de contrôle if ... else et deux boucles.
Utiliser une structure de contrôle if ... else et une seule boucle. Dans chaque cas, comparer le résultat avec l’opérateur %*%.