Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como hago este calculo??? (https://www.clubdelphi.com/foros/showthread.php?t=17738)

danytorres 19-01-2005 21:30:08

Como hago este calculo???
 
Buenas tardes señores de foro, existe una funcion en delphi 7.0 para calcular la desviacion standar y en caso que no existe como calculo un valor elevado a la 2 (X^2)??? :confused:

AGAG4 19-01-2005 21:43:22

Te Recomiendo...
 
Si quieres hacer cálculos te recomiendo que agarres un cálculo hecho por ti mismo manualmente en el cuaderno ya que tengas los pasos, ya puedes implantar el Cálculo en Delphi.

En conclusión haz el análisis de la formula y.... manos a la obra en vez de obra en las manos.

Que tengas buen día.

ISKANDAR 19-01-2005 21:52:23

Hola, puedes probar descargar una demo en esta página: http://www.arrakis.es/~sigecom/FreeEspanol.html
Está codificado para Delphi 3/4, pero puedes tomar las porciones de cálculo y adaptarlas muy fácilmente, a Delphi 7.
Espero que te sirva. Saludos.

marcoszorrilla 19-01-2005 21:53:36

Tienes que añadir la Unit Math

Código Delphi [-]
 
 procedure TForm1.Button1Click(Sender: TObject);
 var
 x,y:integer;
 j:Extended;
 begin
 x:=2;
 y:=3;
 j:=Power(x,y);
 end;

En cuanto a la desviación estandar, también está definida en esta Unit.
{ Standard Deviation (STD): Sqrt(Variance). aka Sample Standard Deviation }
function StdDev(const Data: array of Double): Extended;

Un Saludo.

Mick 20-01-2005 02:14:05

Hombree yo para elevar a 2, me limitaria a multiplicar el valor por si mismo:

resultado= x * x;

que es mas rapido que usar la funcion power.

Saludos

danytorres 20-01-2005 13:35:53

Disculpen ni falta de conocimiento respecto al uso de esta funcion:

: StdDev(const Data: array of Double):

Me pueden enseñar a usarla, tengo un query con dos columnas en una esta la produccion diaria que es donde quiero aplicar la función de dsviacion estandar, como la aplico???????? :confused:


Gracias, a quien me pueda ayudar

marcoszorrilla 20-01-2005 14:59:45

Esto quiere decir que para hallar la desviación estándar con esta función, hay que pasarle una matriz o arreglo de datos de tipo doble "double".

Por lo tanto tendrás que declarar una matriz de tipo doble y luego redimensionarla, con arreglo al número de registros que obtengas en la consulta, luego cargas la matriz mediante un bucle sobre la consulta y para finalizar envías la matriz con los datos a través de la función citada, te devolverá el resultado que tendrás que guardar en una variable de tipo extendido. "extended".

Un Saludo.

marcoszorrilla 20-01-2005 15:37:29

Al final me ha dado tiempo hasta hacer un ejemplo:

Código Delphi [-]
 
 procedure TForm1.Button1Click(Sender: TObject);
 var
 Numeros: array of double;
 nConta:Integer;
 Desviacion:Extended;
 
 begin
 Query1.Close;
 Query1.Sql.Clear;
 Query1.Sql.Add('Select Busqueda, Total');
 Query1.Sql.Add('From Factura');
 Query1.Sql.Add('Where Total Between 1 And 4');
 
 Query1.Open;
 
 SetLength(Numeros,Query1.RecordCount );
 
   For nConta:=1 to Query1.RecordCount  do
   begin
   Numeros[nConta - 1]:=Query1.Fields[1].Value;
   Query1.Next;
   end;
 
 Desviacion:= StdDev(Numeros);
 ShowMessage(FormatFloat(',0.000',Desviacion));
 end;
Un Saludo.

danytorres 20-01-2005 17:32:33

Mucha gracias marcoszorrilla por enseñarme a calcular la desviacion, pero ahora necesito graficar este valor los 31 dias del mes, la pregunta es como grafico un valor???? :confused:

AGAG4 20-01-2005 17:55:54

Disculpa
 
Quiero dar la disculpa a DanyTorres por el ultimo comentario que puse no lo hice de mala fe si algunos piensan mal, lo que trate de decir es que no es lo mismo ponerse a Buscarle Manualmente haciendo un analisis de lo que queremos que en vez de preocuparnos bien del problema, pero en fin siento que mas de uno se molestaron les pido DISCULPAS....
Que tengan buen día.

FGarcia 18-11-2008 22:27:19

Reviviendo a este hilo
 
Solo para dar las gracias sobre la existencia de la funcion de calculo de desviacion estandar. Tambien dentro de la unidad Mat (delphi 7) existe la funcion MeanAndStdDev.

De la ayuda de Delphi7

Cita:

Calculates the mean and standard deviation of array elements.

Unit
Math

Category
Statistical routines

Delphi syntax:
procedure MeanAndStdDev(const Data: array of Double; var Mean, StdDev: Extended);

C++ syntax:
extern PACKAGE void __fastcall MeanAndStdDev(const double * Data, const int Data_Size, Extended &Mean, Extended &StdDev);

Description
MeanAndStdDev calculates Mean and standard deviation in one pass. Using this is twice as fast as calculating them separately. Precision may be lost when the Mean is very large (> 10e7) or the variance is very small.
Data specifies the data to be summarized. In C++, Data_Size is the index of the last element in the Data array (one less than the number of elements). The mean is returned as Mean and the standard deviation is returned as StdDev.

Note: If the sample size is 1 (that is, if Data contains only one entry), StdDev returns the value of Data[0] and not zero.
¡Me ahorro mucho trabajo! ¡¡Aun hay mucho que encontrar en Delphi!!


La franja horaria es GMT +2. Ahora son las 10:25:38.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi