Défi
Étant donné l'entrée d'un entier, (où ), sortez le graphique de de à inclus.
Où est la partie réelle du nombre complexe .
Notez que
Sortie
La sortie peut être sous la forme que vous souhaitez (par exemple une image ou une fenêtre, etc.). L'art ASCII est interdit.
Le graphique n'a pas besoin d'avoir des axes (pour permettre aux langues sans fonctions graphiques intégrées de rivaliser).
Si une image est sortie, chaque côté doit dépasser 500 pixels. De même, l'intrigue doit remplir l'image du mieux qu'elle peut.
L'intervalle minimum entre les parcelles est de 0,05.
Les graphiques vectoriels sont autorisés.
Exemples
Pour une entrée de 2
:
Pour une entrée de 1
:
Vous devez mettre vos sorties correspondantes dans votre réponse (n = 1 et n = 2).
Gagnant
Le code le plus court en octets gagne.
ASCII art is disallowed.
(ಥ﹏ಥ)Réponses:
MATL,
22 1816 octetsMerci @LuisMendo pour -2 octets supplémentaires!
Essayez-le sur matl.suever.net
la source
TI-Basic,
2621 octetsSortie pour N = 2:
la source
Bash + Gnuplot,
5645 octets(-11 octets grâce à Noiralef!)
Enregistre le graphique résultant sous la forme d'une
png
image nomméeA
dans le répertoire de travail actuel.Exemples de sorties
Pour n = 1 :
Pour n = 2 :
la source
gnuplot -e "se t png;p[-3:3]real((-2)**x)">A
Python 3 avec matplotlib ,
10372 octets-12 octets grâce à DSM (un module est installé à côté
matplotlib
appelépylab
avec la fonctionnalité nécessaire "rendre Python dans une réplique plus comme Matlab" - étrange, mais vrai!)-18 plus en conséquence (pylab a aussi de nombreuses fonctions numpy!)
- 1 octet merci à Ajasja (remplacer
arange(-60,61)/20+0j
pararange(121)/20-3+0j
)n = 2,1
la source
from matplotlib.pyplot import*
si vous démarrez ipython avec le drapeau --pylab --matplotlib?%pylab
que ça te donne aussi du sang-froid et si tu es dans un cahier, tu n'as pas besoin d'un spectacle à la fin :)Mathematica, 41 octets
La sortie ressemble exactement à celle du défi, à l'exception de la police des chiffres (que je soupçonne d'avoir été créée avec Wolfram Alpha).
la source
MATLAB,
3530 octetsCela définit une fonction unique. La sortie s'effectue via une nouvelle fenêtre avec une sortie graphique vectorielle redimensionnable. MATLAB
plot
ignore automatiquement la partie imaginaire des coordonnées y tant que vous fournissez les coordonnées x correspondantesn=3
. La sortie suivante est pour .la source
R, 30 octets
n
= 1n
= 2la source
x=seq(-3,3,.05);plot(x,Re((0i-n)^x))
R, 29 octets
n
est fourni via stdin. Résultat pour n = 1:Et pour n = 2:
la source
n
comme les autres réponses et raser cinq caractères de votre réponse? Quoi qu'il en soit, réponse folle. J'oublie toujourscurve
.n
. Les réponses matlab, matl, TI-Basic et mathématique prennent l'entrée en tant que stdin (pour autant que je les comprenne), tandis que les réponses python et VBA créent une fonction. Même si cela est autorisé, c'est juste une question de goût personnel: je n'aime tout simplement pas la prédéfinition des variables comme moyen de saisie.Excel VBA,
168160147138 octets (cellules en pixels à l'échelle 100x)8 octets enregistrés grâce à KyleKanos
22 octets enregistrés grâce à Taylor Scott
Formaté, il ressemble à ceci:
Fait d'amusement: VBA n'a pas intégré
pi
variable de sorte que nous devons l' évaluer en fonction de feuille de calcul où il fait exist.n = 1 n = 2
J'ai commencé avec une version graphique à 193 octets, mais elle a obtenu de meilleurs résultats.
n = 1
n = 2
la source
(-n)^x
qu'à la place du codage en dur pi?atn(1)*4
pour pi?MATLAB,
3533 octetsMerci pour @flawr d'avoir supprimé 2 octets!
Cela définit une fonction anonyme. Pour l'appeler avec entrée
2
, utilisezans(2)
(ou affectez la fonction à une variable telle quef
, puis utilisezf(2)
).La sortie est des graphiques vectoriels (fenêtre redimensionnable). L'intervalle d'échantillonnage sur l' axe des x est déterminé automatiquement par la
ezplot
fonction, mais il semble être plus que suffisant.Un avertissement est généré dans STDERR car la fonction passée à
ezplot
(@(x)real((-n)^x)
) n'est pas vectorisée, mais le graphique est généré.Exemple pour
n = 2
:la source
ezplot = la-z-plot
: D (j'oublie toujours celui-ci ...)ezplot
aimer ça. Malheureusement, on ne peut pas en direfplot
autant, donc aucun octet ne peut y être enregistré.Cahier Jupyter et Python 3; 53 octets
Trois octets enregistrés grâce à @Jonathan Allan.
la source
x=arange(-60,61)/20
pour résoudre les problèmes mis en évidence par DSM au coût de 2 octets. Si vous ajoutez0j
àarange
cela, il peut être utilisé pour passer à laplot(x,(-n)**x)
sauvegarde 4.arange(121)
!PostScript encapsulé; 232 octets
Maintenant, puisque c'est une image vectorielle elle-même ...
la source
TikZ + PGFPlots , 175 octets
Compilez avec, par exemple ,
latexmk -cd -f -pdf in.tex
pour une sortie pdf. Lors de la compilation, l'utilisateur est invité àn
.Exemples de sorties (converties en png) pour n = 1 et n = 2:
la source
Math.JS Grapher , 20 octets
Par pure fluke, cet utilitaire graphique est TC (pour la plupart, les boucles infinies le font planter.), Et par nature, sa sortie principale est les graphiques.
Comment ça marche
r(n)=
assigne une fonctionr
qui prend l'argumentn
à l'expressionf(x)=re((-n)^x)
.re((-n)^x)
est à peu près lettre pour lettre la description du défi. Mais cela attribue la fonctionf(x)
à cela, que le grapher affiche implicitement sous forme de graphique linéaire.Comment le tester
Vous pouvez utiliser ce site, y insérer cette fonction, puis l'appeler avec
r(input)
.Sortie
la source
J ,
3736 octetsMerci à mon collègue Marshall pour ses conseils. -2 merci à FrownyFrog.
Fonction de préfixe tacite anonyme.
la source
20%~i:@60
possiblei:@3j120
.Dyalog APL, 41 octets
Comment ça marche:
La commande de l' utilisateur
]chart
, dans ce cas, prend deux arguments vectoriels,x
ety
et trace les graphiques:la source
SmileBASIC, 82 octets
Le graphique remplit tout l'écran, même lorsque N est inférieur à 1.
Lorsque N est supérieur à 1, vous pouvez mettre Y à l'échelle entre -1 et 1 en le divisant par
n^3
. Je fais déjàn^x
, etn^x / n^3
peut être simplifién^(x-3)
. Cependant, lorsque N est inférieur à 1, je doisn^-3
plutôt diviser Y par . C'est équivalent àn^(x+3)
.Je peux utiliser
n^(x-3*sign(n-1))
pour utiliser-3
sin>1
et+3
sin<1
Images à venir
la source
Excel VBA, 133 octets
Script de fenêtre immédiate qui prend des entrées
[A1]
et des sorties d'unChart
objet vers l'Sheet1
objet.Ungolfed
Version de
Sub
routine complète. Les E / S sont inchangées.Sortie
la source
Julia 0.6 avec Plots.jl, 46 octets
Cela nécessitait une représentation de Julia!
Pas grand-chose à jouer au golf ici, sauf (ab) en utilisant la surcharge d'opérateur pour économiser des octets sur la définition de la fonction et en utilisant
0im-n
pour rendre le numéro d'entrée complexe où j'aurais pu habituellement l'utiliserComplex(n)
. Cela est nécessaire car dans Julia, pour des raisons de stabilité de type , l'^
opérateur renvoie des résultats complexes uniquement lorsque l'entrée est Complexe elle-même. Donc, ici, nous en faisons un nombre complexe en ajoutant0im
ie. 0i.Une chose intéressante à propos du package Plots.jl est qu'il choisit automatiquement le backend à utiliser en fonction des packages de traçage que vous avez installés et d'où vous exécutez la
plot
commande. Le tracé ci-dessus a été créé avec le backend GR , mais si je ne l'avais pas installé (ou si j'avais explicitement exécuté uneplotly()
commande comme je l'ai fait pour cela), il aurait utilisé le backend Plotly plus interactif et produit ceci (qui ressemble à un un peu plus joli IMO):Il y a même un backend UnicodePlots , pour imprimer un tracé dans le terminal (ou l'enregistrer dans un fichier texte) en utilisant des caractères Unicode et des codes de couleur. SE continue de gâcher l'alignement du tracé si j'essaie de le coller directement, alors voici une capture d'écran du terminal:
la source