4 août 2022
4 août 2022
Terminal
MQL5
//--- matrix a= {{1, 4}, {9, 16}}; Print("matrix a=\n",a); a=MathSqrt(a); Print("MatrSqrt(a)=\n",a); /* matrix a= [[1,4] [9,16]] MatrSqrt(a)= [[1,2] [3,4]] */Pour MathMod et MathPow, le deuxième élément peut être soit un scalaire, soit une matrice/vecteur de la bonne taille.
//+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- Use the initializing function to populate the vector vector r(10, ArrayRandom); // Array of random numbers from 0 to 1 //--- Calculate the average value double avr=r.Mean(); // Array mean value vector d=r-avr; // Calculate an array of deviations from the mean Print("avr(r)=", avr); Print("r=", r); Print("d=", d); vector s2=MathPow(d, 2); // Array of squared deviations double sum=s2.Sum(); // Sum of squared deviations //--- Calculate standard deviation in two ways double std=MathSqrt(sum/r.Size()); Print(" std(r)=", std); Print("r.Std()=", r.Std()); } /* avr(r)=0.5300302133243813 r=[0.8346201971495713,0.8031556138798182,0.6696676534318063,0.05386516922513505,0.5491195410016175,0.8224433118686484,... d=[0.30458998382519,0.2731254005554369,0.1396374401074251,-0.4761650440992462,0.01908932767723626,0.2924130985442671, ... std(r)=0.2838269732183663 r.Std()=0.2838269732183663 */ //+------------------------------------------------------------------+ //| Fills the vector with random values | //+------------------------------------------------------------------+ void ArrayRandom(vector& v) { for(ulong i=0; i<v.Size(); i++) v[i]=double(MathRand())/32767.; }
Améliorations des fonctions mathématiques pour les opérations utilisant le type float.
La possibilité nouvellement implémentée d'appliquer des fonctions
mathématiques à des matrices et des vecteurs de ’float’ a permis une
amélioration des fonctions mathématiques appliquées aux scalaires de
type ’float’. Ces paramètres de fonction étaient auparavant
automatiquement transformés en type 'double'. L'implémentation
correspondante de la fonction mathématique était ensuite appelée et le
résultat était retransformé en type 'float'. Les opérations sont
désormais implémentées sans conversion de type supplémentaire.
L'exemple suivant montre la différence dans les calculs mathématiques du sinus :
//+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- Array of random numbers from 0 to 1 vector d(10, ArrayRandom); for(ulong i=0; i<d.Size(); i++) { double delta=MathSin(d[i])-MathSin((float)d[i]); Print(i,". delta=",delta); } } /* 0. delta=5.198186103783087e-09 1. delta=8.927621308885136e-09 2. delta=2.131878673594656e-09 3. delta=1.0228555918923021e-09 4. delta=2.0585739779477308e-09 5. delta=-4.199390279957527e-09 6. delta=-1.3221741035351897e-08 7. delta=-1.742922250969059e-09 8. delta=-8.770715820283215e-10 9. delta=-1.2543186267421902e-08 */ //+------------------------------------------------------------------+ //| Fills the vector with random values | //+------------------------------------------------------------------+ void ArrayRandom(vector& v) { for(ulong i=0; i<v.Size(); i++) v[i]=double(MathRand())/32767.; }
AF_ELU | Unité Linéaire Exponentielle |
AF_EXP | Exponentiel |
AF_GELU | Unité Linéaire d'Erreur Gaussienne |
AF_HARD_SIGMOID | Sigmoïde Dure |
AF_LINEAR | Linéaire |
AF_LRELU | Unité Linéaire Rectifiée Perméable |
AF_RELU | Unité Linéaire Rectifiée |
AF_SELU | Unité Linéaire Exponentielle Mise à l'Echelle |
AF_SIGMOID | Sigmoïde |
AF_SOFTMAX | Softmax |
AF_SOFTPLUS | Softplus |
AF_SOFTSIGN | Softsign |
AF_SWISH | Bruissement |
AF_TANH | Tangente Hyperbolique |
AF_TRELU | Unité Linéaire Rectifiée Avec Seuil |
LOSS_MSE | Erreur Quadratique Moyenne |
LOSS_MAE | Erreur Absolue Moyenne |
LOSS_CCE | Inter-entropie Catégorielle |
LOSS_BCE | Inter-entropie Binaire |
LOSS_MAPE | Erreur Moyenne en Pourcentage Absolu |
LOSS_MSLE | Erreur Logarithmique Quadratique Moyenne |
LOSS_KLD | Divergence Kullback-Leibler |
LOSS_COSINE | Similarité/Proximité Cosinus |
LOSS_POISSONS | Poisson |
LOSS_HINGE | Charnière |
LOSS_SQ_HINGE | Charnière Au carré |
LOSS_CAT_HINGE | Charnière Catégorielle |
LOSS_LOG_COSH | Logarithme du Cosinus Hyperbolique |
LOSS_HUBER | Huber |
int cl_ctx; //--- Initializing the OpenCL context if((cl_ctx=CLContextCreate(CL_USE_GPU_DOUBLE_ONLY))==INVALID_HANDLE) { Print("OpenCL not found"); return; }
CalendarValueLast(change, result, "", "EUR")
MetaEditor
'levels.bmp' as 'uint levels[18990]'