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]'