PDA

Ver la versión completa : javascript



Se_ChInI
24-02-2008, 12:56
Buenas,
estoy haciendo un programa para el calculos de circuitos RLC serie, pero no se hacer la raiz cuadrada. alguien me puede hechar una mano. podria facilitaros el codigo y ya me corregis no.
saludos

Giskard
27-02-2008, 21:49
Para realizar raices cuadrada debes hacer uso de la clase Math, con SQRT. Busca en google sobre eso.

Saludos

gondar_f
27-02-2008, 23:07
podria facilitaros el codigo y ya me corregis no.
si, si está en nuestra mano te ayudamos...

En cuanto al otro problema gisckard ya te dio la solución....

Por cierto, esta pregunta debería ir en programación web... pero no pasa nada...

Un Saludo

hystd
28-02-2008, 01:20
Buenas! Hay muchas maneras de calcular una raiz... lo más cómodo es hacer lo que te han dicho mis compañeros... hacer uso de la función Math.sqrt(x), o en su defecto de la función Math.pow(x, 1/2).

Pero por aportar algo, decir que la forma en que se calcula una raiz computacionalmente depende de la capacidad del software y del hardware en la que se va a desarrollar. Por poner un ejemplo, calculadoras avanzadas almacenan en memoria los valores de las raices de los números primos, de forma que la raiz de cualquier número (depende de la capacidad de memoria de la calculadora y del mayor número representable por ella), se puede descomponer en producto de esos factores primos. Así raiz(x), con x = (a)^n*(b)^m, tenemos que raiz(x)=raiz(a^n)*raiz(b^m), y como tenemos almacenado en la memoria el valor de raiz(a) y raiz(b) es trivial.

Como ventaja este método es el más rápido (programación dinámica), coste constante, pero presenta el gran dilema de la informática: velocidad vs capacidad. Si el rango de números representables es muy grande, necesitamos gran capacidad de memoria (tanta como números primos haya entre 1 y el mayor de los números representables. (Si cada entero ocupa 32 bits por poner algo... pues sólo es cuestión de hacer cálculos...)

Algorítmicamente, existen otros métodos, pero no tan rápidos; son los usados a nivel de software, en nuestras aplicaciones. Como es el caso de sqrt(x), o pow(x, 0.5). Consisten en métodos iterados de forma que en cada iteración nos vamos acercando al valor exacto con tantas cifras decimales exactas, y el proceso continua hasta que el error cometido sea tan pequeño como queramos. Se suelen hacer uso de llamadas recursivas, pero cabe la posibilidad de optimizar dicho algoritmo implementándolo con instrucciones en ensamblador...

Otras técnicas posibles es usar series de potencias, de forma que raiz(x) se puede representar como una suma de tantos términos (depende de la presición que queramos). Dicha suma es la serie de Taylor de raiz(x). De forma que al final lo que tenemos es una suma de polinomios en función de x.

Y mil formas más...

Resumiendo... usar sqrt(x) de la clase Math como te han dicho mis compañeros, y acabamos antes... xD

Un saludo

Se_ChInI
29-02-2008, 15:16
muchas gracias compañeros!! ya solucione el problema :D