T + F + T 1<2 & 2<3 w <- sample( x=v , size=40, replace=TRUE) #Quel est l'indic
T + F + T 1<2 & 2<3 w <- sample( x=v , size=40, replace=TRUE) #Quel est l'indice du dernier élément négatif de w ? #l'indice du dernier élément, c'est le plus grand max( which( w<0) ) w[w<0] <- -q #Combien de fois le 1er élément de w est-il présent ? sum(w == w[1] ou length( which (w == w[1]) ) v2 <-seq(from=10, to=1, by=(-1)) v3 <- (1:50)*2 head(v3) # Afficher uniquement le début du vecteur v3 v4[15] <- 105 # rj[365] <- "lu" 15 est l’indice qui n’existe pas encore dans le vecteur vn <- rep( x= 1:20 , each= 100) v5 <- rep(x=(1:9) , times=10) sqrt(v4) exp(v4) # Calculer la somme 1/1^2 + 1/2^2 + ... + 1/20^2 sum((1/seq(from=1, to = 20, by = 1)**2)) paste0(“test”, 1:20) sd(temp) var(temp) mean(temp) median(temp) min(temp) max(temp) summary(temp) # affecter nommois aux names du vecteur temp nommois <-c("jan", "fév" , "mar" , "avr" , "mai" , "jun" , "jul" , "aoû" , "sep" , "oct" , "nov" , "déc") names(temp) <- nommois Dataframe dfteam <- data.frame(Age, Height, Weight, Sex, row.names = Noms) dfteam[ 1:4 , ] #faire apparaître ligne 1 à 4 d’un dataframe ou: dfteam[ c("Alex","Lilly", "Marc", "Olivier")] ou dfteam[ , c("Age", "Height", "Weight") ] dfteam[Age,] #Ajouter Colonne ou ligne membre1 <- data.frame (Age=36, Height=158, Weight=47, Sex="F", row.names="Claire") dfteam <- rbind(dfteam, membre1) # ou cbind pour les lignes dfteam[, "Working" ] <- c("YES","NO","NO", "YES", "YES", "NO", "YES", "NO") dfteam$WORKINGBIS <- c("YES","NO","NO", "YES", "YES", "NO", "YES", "NO") #Supprimer colonne ou ligne dfteam$WORKINGBIS <- NULL #Extraire catégorie dfg <- dfteam[ dfteam$Sex != "F", ] Matrix M<- matrix(data=c(-1,8,2,6,-9,12,-9,-5,1),byrow= T, ncol = 3) “byrow=booléen à TRUE pour #signaler que les coefficients sont alignés en lignes # créer la matrice N de taille 4x4 de coefficients a(i,j)=100/(i+j) a<-function(i,j){100/(i+j)} N<-outer(1:4, 1:4, a) det(N) P<-solve(N) #inverse matrice P%*%N # Remplacer tous les coefficients de D dont la valeur absolue est inférieure à 1e-10 par 0 D[abs(D)<1e-10]<-0 mean(Q[1,]) M[1,] n<-nrow(M) # créer un vecteur ligne U avec 3 fois 1 U<- matrix(data=c(1,1,1), nrow=3) I<-diag(rep(1,3)) A<- I- 1/n*U%*%t(U) # calculer P la matrice centrée en colonnes de M par l'opération Q = A x M Q <- A%*%M Suite et For Farenheit <- function ( Celcius) { Celcius*1.8 + 32 } tempF <- Farenheit(Celcius = temp) #input du vecteur temps dans un autre vecteur pour créer un vecteur tempsF mbf<-function(x) {(exp(x)+exp(-x))/2} mbf(x=0) v7<-mbf(x=u) #Calculer le vecteur des termes de la suite selon la formule vf(n)=(a^n-b^n)/√5 par 3 #méthodes. a <- (1+sqrt(5))/2 b <- (1-sqrt(5))/2 vf1 <- ( a ** (1:20) - b ** (1:20) ) / sqrt(5) #ou fib <- function(n) { ( a**n - b**n ) / sqrt(5) } #ou vf3 <- NULL for(n in 1:20) { vf3[n] <- ( a**n - b**n ) / sqrt(5) } #Calcul d’une suite à partir de premières valeurs : vr <- c( 1 , 1 ) for( n in 3:20 ) { vr[n] <- vr[n-1] + vr[n-2] } #ici la diff avec le vert du dessus c qu’on met des vecteur (avec crochet) dans la formule du vecteur Liste lj <- list() for (i in 0:6 ) { lj[[ jr[i+1] ]] <- jr[ ( 0 : 6 + i ) %% 7 + 1] } finmois <- c(31 , 28 , 31, 30 , 31 , 30, 31, 31, 30 , 31, 30, 31) numj <- NULL for(i in finmois) { numj <- c(numj, 1:i ) } Conditions if (t>10){ x<-x+2 y<-10} else if (5<=t & t<10){ x<-x+1 y<-5 }else { x<-x-1 y<-3} while (s <= n) s <- s + d[s] # ggplot() + ggplot()+ # trait X Y titre trait transparance geom_line(mapping=aes(x=1:20,y=vf1, colour="suite générale" , size=2) , alpha= 0.3)+ geom_line(mapping=aes(x=1:20,y=vr , colour="suite récurrente" , size=3) , alpha= 0.3)+ geom_smooth((mapping=aes(x=1:20,y=vr , colour="suite récurrente" , size=3) , alpha= 0.3)+ scale_color_manual(values= c("red", "blue") )+ #couleurs des traits theme_minimal()+ #arrière plan vide scale_y_log10()+ #échelle logarithmique xlab("titre des X") + ylab("Titre Y") plot(1:T,S,pch="+") qplot(x=1:12, y=temp,geom="line")+labs(title="2014 de Montsouris",x="Mois",y="T°")+scale_x_discrete(limits=nommois) plot(), boxplot(), barplot(), hist(), curve() plot(w ~ z, data = dt, type = "o", # type de tracé: points ("p"), lignes ("l"), les deux ("b" ou "o"), ... col = "blue", # couleur, tapez `colours()` pour la liste complète pch = 4, # type de symboles, un chiffre entre 0 et 25, tapez `?points` cex = 0.5, # taille des symboles lty = 3, # type de lignes, un chiffre entre 1 et 6 lwd = 1.2, # taille de lignes xlim = c(-2.5, 2.5), # limites de l'axe des x ylim = c(-1.5, 1.5), # limites de l'axe des y) xlab = "La variable z", # titre pour l'axe des x ylab = "Le sinus de z", # titre pour l'axe des y main = "La fonction sinus entre -pi et pi" # titre général pour le graphique ) plot(w ~ z, data = dt) points(x = -3:3, y = c(-1, -0.7, 0.3, 0, -0.3, 0.7, 1), col = "blue", pch = 4) lines(x = -3:3, c(-1, -0.7, 0.3, 0, -0.3, 0.7, 1), col = "red") text(x = -3:3, y = c(-1, -0.7, 0.3, 0, -0.3, 0.7, 1) + 0.05, labels = c("a", "b", "c", "d", "e", "f", "g")) Proba pbinom(3, 10, 0.3) renvoie P(Y 6 3) avec Y comme dans l’item précédent. qbinom(0.6,10,0.3) renvoie le plus petit entier k tel que P(Y 6 k) > 0, 6. runif(10,0,20) renvoie 10 valeurs tirées selon la loi uniforme sur l’intervalle [0; 20]. pnorm(3) renvoie P(Z 6 3) ou` Z suit une N (0; 1). On peut également taper pnorm(3,mean=0,sd=1) ou pnorm(3,0,1) ou encore pnorm(q=3,mean=0,sd=1) Exam 2021 AR4 colnames(dfX)<- paste0("T", 1:20) c1 <- complex(modulus=1, argument=r1) # Q1(X)=(1-2.Re(c1).X + X^2) # Q3(X)=(1-2.Re(c3).X + X^2) library(polynom) Q1 <- polynomial(coef = c(1,-2*rc1, 1) ) Q1 Q3 <- polynomial(coef = c( 1 , -2*rc3 , 1) ) # puissance croissante Q3 #racines de Q et contrôler la présence de c1, c3 et leurs 2 conjugués complexes polyroot(Q) # ****************************************** # Processus autoregressif oscillant AR(p=4) # # Première partie # ****************************************** # Un processus autorégressif d'ordre p,noté AR(p), est une suite définie par récurrence : # X[n] = f1.X[n-1] + f2.X[n-2] + ... + fp.X[n-p] # où f1,...,fp sont des nombres réels appelés les paramètres du processus # Le terme processus désigne simplement que le rang n représente une dimension temporelle # Un processus est oscillant son polynome caractéristique a toute ses racines de module égal à 1 # Nous allons calculer et tracer des processus oscillants # Le polynome caractéristique du processus X[n] # est défini à partir de ses paramètres par la formule : # Q(X) = 1- f1.X - f2.X^2 - ... - fp.X^p # ********************************************** # Familiarisation avec l'aléatoire # ********************************************** # ---- Question 0 ---- # Afficher 5 nombres aléatoires uniformes entre -10 et 10 # Utiliser runif( n=5, min=-10, max=10 ) runif( n=5, min=-10, max=10 ) # ---- Question 2 ---- # Dans r1, tirer un nombre aléatoire entre 0 et 2.pi # Utiliser le générateur aléatoire uniforme : runif(n=..., min=..., max=...) # En R le nombre pi s'écrit pi r1 <- runif( n=1, min=0, max=2*pi ) r1 # ---- Question 3 ---- # Dans c1, créer un nombre aléatoire complexe de module 1 et d'argument r1 # utiliser complex(modulus=..., argument=...) c1 <- complex(modulus=1, argument=r1) c1 # ---- Question 4 ---- # Dans rc1, extraire la partie réelle de c1. # Utiliser Re(...) rc1 <- Re(c1) rc1 # ---- Question 5 ---- # Idem pour r3, c3 et rc3 r3 <- runif( n=1, min=0, max=2*pi ) r3 c3 <- complex(modulus=1, argument=r3) c3 rc3 <- Re(c3) rc3 # ---- Question 6 ---- # Si ce n'est déjà fait, installer et lier le package Polynom # Dans les variables Q1 et Q3, créer les polynômes : # Q1(X)=(1-2.Re(c1).X + X^2) # Q3(X)=(1-2.Re(c3).X + X^2) library(polynom) Q1 <- polynomial(coef = c(1,-2*rc1, 1) ) Q1 Q3 <- polynomial(coef = c( 1 , -2*rc3 , 1) ) # puissance croissante Q3 # ---- Question 7 ---- # Dans la variable Q, créer le polynome Q(X) = Q1(X).Q3(X) # les opérations * / - + fonctionnent sur les polynomes du package Polynom Q <- Q1 * Q3 Q # ---- Question 8 ---- # Afficher les racines de Q # et contrôler la présence de c1, c3 et leurs 2 conjugués complexes polyroot(Q) # ---- Question 9 ---- # Dans un vecteur vf, extraire les coefficients de -Q (l'opposé de Q) # vf doit être de longeur 5 # Utiliser coef(...) vf <- coef( -Q ) vf # ---- Question 10 ---- # Retirer le premier coefficient de vf (celui qui vaut -1) # vf doit être de longueur 4 et son dernier coeffcient est -1 vf <- vf[-1] vf # ****************************************************************** # Simulation de X1 à X100 # du processus de paramètre vf # X[n] = vf[1].X[n-1] + vf[2].X[n-2] + vf[3].X[n-3] + vf[4].X[n-4] # ****************************************************************** # ---- Question 11 ---- # Dans un vecteur vX tirer p=4 nombres entre 0 et 1 vX <- runif(p, 0, 1) vX # ---- Question 12 ---- # Dans w, calculer w <- vf[1].vX[4] + vf[2].vX[3] + uploads/Industriel/cours-d-x27-informatique 1 .pdf
Documents similaires










-
33
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Aoû 07, 2022
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 0.5455MB