Les données (points x, y) sont générées entièrement au sein du bloc PROC IML par un processus itératif, puis stockées dans le dataset temporaire 'IFS'. Aucune donnée externe ou issue de SASHELP n'est utilisée pour la génération principale.
1 Bloc de code
PROC IML Data
Explication : Ce bloc initialise les matrices de transformation linéaire (L), les vecteurs de translation (B) et les probabilités pour un système de fonctions itérées, spécifiquement configuré pour générer un sapin de Noël. Il effectue ensuite 100 000 itérations en utilisant la fonction `randgen` pour sélectionner aléatoirement une transformation. Chaque itération calcule un nouveau point basé sur le précédent. Les points générés (x, y) sont ensuite transcodés et stockés dans un jeu de données SAS temporaire nommé 'IFS', qui sera utilisé pour la visualisation.
Copié !
proc iml;
/* For an explanation of how to construct an iterated function system in SAS, see
http://blogs.sas.com/content/iml/2012/12/12/iterated-function-systems-and-barnsleys-fern-in-sas/
*/
/* Each row is a 2x2 linear transformation */
/* Christmas tree */
L = {0.03 0 0 0.1,
0.85 0.00 0.00 0.85,
0.8 0.00 0.00 0.8,
0.2 -0.08 0.15 0.22,
-0.2 0.08 0.15 0.22,
0.25 -0.1 0.12 0.25,
-0.2 0.1 0.12 0.2};
/* ... and each row is a translation vector */
B = {0 0,
0 1.5,
0 1.5,
0 0.85,
0 0.85,
0 0.3,
0 0.4 };
prob = { 0.02 0.6 0.1 0.07 0.07 0.07 0.07};
L = L`; B = B`; /* For convenience, transpose the L and B matrices */
/* Iterate the discrete stochastic map */
N = 1e5; /* number of iterations */
x = j(2,N); k = j(N,1);
x[,1] = {0, 2}; /* initial point */
call randgen(k, "Table", prob); /* values 1-7 */
do i = 2 to N;
x[,i] = shape(L[,k[i]], 2)*x[,i-1] + B[,k[i]]; /* iterate */
end;
/* Plot the iteration history */
y = x`;
create IFS from y[c={"x" "y"}]; append from y; close IFS;
quit;
1
PROC IML;
2
/* For an explanation of how to construct an iterated function system in SAS, see
create IFS from y[c={"x""y"}]; append from y; close IFS;
38
QUIT;
2 Bloc de code
PROC SGPLOT
Explication : Ce bloc configure le système de destination ODS Graphics pour définir la taille de l'image de sortie (200px de large par 400px de haut). Ensuite, PROC SGPLOT est utilisée pour créer un graphique de type nuage de points (scatter plot) à partir du jeu de données 'IFS' généré précédemment. Les attributs des marqueurs sont définis avec une petite taille (1) et une couleur vert forêt pour simuler l'apparence des aiguilles du sapin. Les axes Y et X sont désactivés pour produire une image épurée du sapin.
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.