Question

dans le langage de programmation J ,

-: i. 5 

la fonction ci-dessus calcule les moitiés de tous les entiers dans [0,4]. Maintenant, disons que j'aimerais réécrire la fonction -:, juste pour le plaisir. Ma meilleure hypothèse à ce jour était

]&%.2

mais cela ne semble pas le couper. Comment faites-vous cela?

Était-ce utile?

La solution

%&2    NB. divide by two
0.5&*  NB. multiply by one half

Autres conseils

Notez que]% 2: fonctionnerait également, mais pour vous assurer que la grammaire est correcte, vous souhaitez soit l'utiliser comme définition d'un nom, soit placer l'expression entre parenthèses.

J'ai vu que vous utilisiez%. probablement parce que vous divisiez une matrice et pensiez que vous deviez faire une "division de matrice".

La division matricielle et l'inverse matricielle dont ils parlent parlent de l'algèbre matricielle, où vous avez une liste de, enfin, essentiellement des polynômes, et vous souhaitez effectuer des transformations sur les polynômes en même temps, afin de résoudre les équations . Une des choses que vous pouvez faire très facilement en J est l’algèbre matricielle, il existe des fonctions intégrées pour la division et la conversion de matrice (comme vous l’avez vu) et dans la section des phrases, il y a des phrases courtes pour effectuer toutes les transformations typiques de la matrice. . Prendre le déterminant, par exemple.

Mais lorsque vous divisez simplement un vecteur par un scalaire pour obtenir un vecteur, ou que vous divisez une matrice par les éléments correspondants d'une autre matrice, eh bien, il ne s'agit que du symbole% division.

Si vous voulez essayer de comprendre cela, examinez le problème euler 101 (http://projecteuler.net/problem=101), puis recherchez le réglage de courbe Google sur le site Jsoftware.com. La création des matrices à partir des observations et des matrices de base illustrées vous permet de résoudre ax ^ 2 + bx + c = y où vous avez x et y et que vous souhaitez déterminer a, b et c. Rappelez-vous simplement d'utiliser l'arithmétique étendue pour tout, car les équations résultantes sont très bonnes mais ne sont pas parfaites à moins que vous ne le fassiez, et pour résoudre l'équation, vous avez besoin d'équations parfaites.

Juste une pensée, à moins que vous ne vouliez jouer avec Matrix Algebra, vous pourriez ne pas vous en soucier.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top