Ce face math.J0
Funcțiile Bessel apar în fizică și inginerie la probleme cu simetrie circulară: vibrațiile unei membrane de tobă, propagarea undelor într-un cilindru, câmpul electromagnetic dintr-un cablu. Probabil nu le vei folosi decât în calcule științifice.
J0, J1 și Jn(n, x) sunt funcțiile de speța întâi, de ordinul 0, 1 și n. Seamănă cu un cosinus care se stinge treptat. Y0, Y1 și Yn(n, x) sunt funcțiile de speța a doua; ele sunt definite doar pentru x > 0 (la 0 dau -Inf, iar pentru x negativ dau NaN).
Parametri
| Parametru | Descriere |
|---|---|
n |
Ordinul funcției (pentru Jn și Yn). |
x |
Argumentul. |
Ce returnează
Valoarea funcției Bessel, ca float64.
Exemple
Exemplul 1: Valori ale funcțiilor Bessel
2.4048 este aproape de primul punct în care J0 trece prin zero.
package main
import (
"fmt"
"math"
)
func main() {
for _, x := range []float64{0, 1, 2.4048, 5} {
fmt.Printf("x = %-6v J0 = %7.4f J1 = %7.4f J2 = %7.4f\n", x, math.J0(x), math.J1(x), math.Jn(2, x))
}
}
Rezultat
x = 0 J0 = 1.0000 J1 = 0.0000 J2 = 0.0000
x = 1 J0 = 0.7652 J1 = 0.4401 J2 = 0.1149
x = 2.4048 J0 = 0.0000 J1 = 0.5192 J2 = 0.4318
x = 5 J0 = -0.1776 J1 = -0.3276 J2 = 0.0466
Exemplul 2: Speța a doua: Y0, Y1, Yn
package main
import (
"fmt"
"math"
)
func main() {
for _, x := range []float64{1, 2, 5} {
fmt.Printf("x = %v Y0 = %7.4f Y1 = %7.4f Y2 = %7.4f\n", x, math.Y0(x), math.Y1(x), math.Yn(2, x))
}
fmt.Println(math.Y0(0), math.Y0(-1))
}
Rezultat
x = 1 Y0 = 0.0883 Y1 = -0.7812 Y2 = -1.6507
x = 2 Y0 = 0.5104 Y1 = -0.1070 Y2 = -0.6174
x = 5 Y0 = -0.3085 Y1 = 0.1479 Y2 = 0.3677
-Inf NaN
Greșeli frecvente
- Apelezi
Y0/Y1/Yncu 0 sau un număr negativ: rezultatul este-InfsauNaN.
Comenzi înrudite
math.Gamma: Funcția Gamma (factorialul extins la numere reale) și Lgamma, logaritmul ei, util pentru valori mari.math.Sin: Funcțiile trigonometrice sinus, cosinus și tangentă; unghiul se dă în radiani. Sincos le dă pe primele două deodată.