Construir un algoritmo que calcule el "seno integral"
Ante todo Muchas gracias por calentarte la cabeza y sacarnos a los inexpertos de lo atolladeros en los que nos metemos:
Estoy tratando de construir un algoritmo que me calcule el "Seno integral" de un número X. Sebes que en una calculadora, igual que en VB la función seno "sin(x)" se calcula mediante la suma de los términos de la serie
Sin(x)=x-x^3/(3!)+x^5/(5!)-x^7/(7!)+.......
La serie converge lentamente por lo que hay que emplear un número elevado de términos. La primera dificultad la encuentro en que en el denominador existe el factorial de un número que es una función matemática, no incluida en VB.
Pues el seno integral se calcula con la misma serie variando el denominador de manera que:
si(x)=x-x^3/[3*(3!)]+x^5/[5*(5!)]-x^7/[7*(7!)]+.......
Se consigue suficiente eexactitud con 100 términos
La fórmula empírica es: si=^SUMA(acumulativa) para k DESDE 0 a 100 de: (-1)^k*x^(2*k+1)/[(2*k+1)*(2*k+1)!]
He hecho lo siguiente en un command button ("Caption=calcular")
'DECLARO VARIABLES
Dim si as double
Dim fact as double
Dim I as integer
Dim n as double
Introduzco el valor de "x" en un textbox
'SUMA ACUMULATIVA Y CALCULO DE FACTORIAL PARA CADA VALOR DE "I"
si=0
x=val(Text1.Text)
For I=0 to 100
n=(2*I+1)
'Calculo el factorial
If n=1 then
fact=1
Else
fact=fact*(n+1)*(n+2)
'Hallo el valor de la variable "si" y sumo
si=[(-1)^I*X^n/(n*fact)
si=si+si(I)
Next I
Text2.Text=si 'para que aparezca el resultado en otro textBox
En la barra de menús, voy a Run-Start With Full Compile (Ctrl+F5) .El programa se para en "si(I)" y aparece un mensaje de "Compile error, Expected array".
Aquí estoy parado y ya no se seguir.
¿Qué hago mal?
Un abrazo
Estoy tratando de construir un algoritmo que me calcule el "Seno integral" de un número X. Sebes que en una calculadora, igual que en VB la función seno "sin(x)" se calcula mediante la suma de los términos de la serie
Sin(x)=x-x^3/(3!)+x^5/(5!)-x^7/(7!)+.......
La serie converge lentamente por lo que hay que emplear un número elevado de términos. La primera dificultad la encuentro en que en el denominador existe el factorial de un número que es una función matemática, no incluida en VB.
Pues el seno integral se calcula con la misma serie variando el denominador de manera que:
si(x)=x-x^3/[3*(3!)]+x^5/[5*(5!)]-x^7/[7*(7!)]+.......
Se consigue suficiente eexactitud con 100 términos
La fórmula empírica es: si=^SUMA(acumulativa) para k DESDE 0 a 100 de: (-1)^k*x^(2*k+1)/[(2*k+1)*(2*k+1)!]
He hecho lo siguiente en un command button ("Caption=calcular")
'DECLARO VARIABLES
Dim si as double
Dim fact as double
Dim I as integer
Dim n as double
Introduzco el valor de "x" en un textbox
'SUMA ACUMULATIVA Y CALCULO DE FACTORIAL PARA CADA VALOR DE "I"
si=0
x=val(Text1.Text)
For I=0 to 100
n=(2*I+1)
'Calculo el factorial
If n=1 then
fact=1
Else
fact=fact*(n+1)*(n+2)
'Hallo el valor de la variable "si" y sumo
si=[(-1)^I*X^n/(n*fact)
si=si+si(I)
Next I
Text2.Text=si 'para que aparezca el resultado en otro textBox
En la barra de menús, voy a Run-Start With Full Compile (Ctrl+F5) .El programa se para en "si(I)" y aparece un mensaje de "Compile error, Expected array".
Aquí estoy parado y ya no se seguir.
¿Qué hago mal?
Un abrazo
1 Respuesta
Respuesta de Albert Aguiló
1