MathExp

La función devuelve el valor del número e elevado a la potencia d.

double  MathExp(
   double  value      // potencia para el número e
   );

Parámetros

value

[in]  Número que especifica la potencia.

Valor devuelto

Número del tipo double. Al superar el límite la función devuelve INF (infinito), en caso de perder el orden MathExp devolverá 0.

Nota

En vez de la función MathExp() se puede usar la función exp().

Véase también

Tipos reales (double, float)

 

Ejemplo:

#define GRAPH_WIDTH  750
#define GRAPH_HEIGHT 350
 
#include <Graphics\Graphic.mqh>
 
CGraphic ExtGraph;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- obtenemos 9 valores de 0 a 8 con paso 1
   vector X(9,VectorArange);
   Print("vector X = \n",X);
//--- calculamos el valor del número "e" (número de Euler) en el grado de cada valor del vector X
   X=MathExp(X);
   Print("MathExp(X) = \n",X);
   
//--- transferimos los valores calculados de vector a array
   double y_array[];
   X.Swap(y_array);
 
//--- dibujamos el gráfico de los valores calculados del vector
   CurvePlot(y_array,clrDodgerBlue);
 
//--- esperamos la pulsación de Escape o PgDn para eliminar el gráfico (crear una captura de pantalla) y finalizar el funcionamiento
   while(!IsStopped())
     {
      if(StopKeyPressed())
         break;
      Sleep(16);
     }
 
//--- limpiamos
   ExtGraph.Destroy();
  }
//+------------------------------------------------------------------+
//| Rellena el vector con el valor value con el incremento step      |
//+------------------------------------------------------------------+
template<typename T
void VectorArange(vector<T> &vec,T value=0.0,T step=1.0
  { 
   for(ulong i=0i<vec.Size(); i++,value+=step
      vec[i]=value
  }
//+------------------------------------------------------------------+
//| Al pulsar ESC, retorna true                                      |
//| Al pulsar PgDn hace una captura del gráfico y retorna true       |
//| Si no, retorna false                                             |
//+------------------------------------------------------------------+
bool StopKeyPressed()
  {
//--- si ESC está pulsado, retornamos true
   if(TerminalInfoInteger(TERMINAL_KEYSTATE_ESCAPE)!=0)
      return(true);
//--- si PgDn está pulsado y se realiza correctamente la captura de pantalla, retornamos true
   if(TerminalInfoInteger(TERMINAL_KEYSTATE_PAGEDOWN)!=0 && MakeAndSaveScreenshot(MQLInfoString(MQL_PROGRAM_NAME)+"_Screenshot"))
      return(true);
//--- retornamos false
   return(false);
  }
//+------------------------------------------------------------------+
//| Crea un objeto de gráfico y dibuja una curva                     |
//+------------------------------------------------------------------+
void CurvePlot(double &x_array[], double &y_array[], const color colour)
  {
   ExtGraph.Create(ChartID(), "Graphic"000GRAPH_WIDTHGRAPH_HEIGHT);
   ExtGraph.CurveAdd(x_arrayy_arrayColorToARGB(colour), CURVE_LINES);
   ExtGraph.IndentUp(30);
   ExtGraph.CurvePlotAll();
   string text1="Press ESC to delete the graph and stop the script, or";
   string text2="Press PgDn to create a screen, delete the graph and stop the script";
   ExtGraph.TextAdd(549text1ColorToARGB(clrBlack));
   ExtGraph.TextAdd(54,21text2ColorToARGB(clrBlack));
   ExtGraph.Update();
  }
//+------------------------------------------------------------------+
//| Crea una captura de pantalla y guarda la imagen en un archivo    |
//+------------------------------------------------------------------+
bool MakeAndSaveScreenshot(const string file_name)
  {
   string file_names[];
   ResetLastError();
   int selected=FileSelectDialog("Save Picture"NULL"All files (*.*)|*.*"FSD_WRITE_FILEfile_namesfile_name+".png");
   if(selected<1)
     {
      if(selected<0)
         PrintFormat("%s: FileSelectDialog() function returned error %d"__FUNCTION__GetLastError());
      return false;
     }
   
   bool res=false;
   if(ChartSetInteger(0,CHART_SHOW,false))
      res=ChartScreenShot(0file_names[0], GRAPH_WIDTHGRAPH_HEIGHT);
   ChartSetInteger(0,CHART_SHOW,true);
   return(res);
  }

 

Resultado:

MathExp_Screenshot

Vea también

Tipos reales (double, float), Estadística, Gráficos científicos, Estado del terminal de cliente