Compiler errors 错误:不是有效的函数参数名称

Compiler errors 错误:不是有效的函数参数名称,compiler-errors,julia,Compiler Errors,Julia,在Julia上编写程序时遇到以下错误: ERROR: LoadError: syntax: "-2" is not a valid function argument name 代码如下: tic() using JPLEphemeris using SatelliteToolbox using SymEngine using DifferentialEquations using Polynomials fileF107 = open("C:/stj/Julia/f107.txt","r

在Julia上编写程序时遇到以下错误:

ERROR: LoadError: syntax: "-2" is not a valid function argument name
代码如下:

tic()
using JPLEphemeris
using SatelliteToolbox
using SymEngine
using DifferentialEquations
using Polynomials


fileF107 = open("C:/stj/Julia/f107.txt","r") 
linesF107 = readlines(fileF107)
spk = SPK("C:/stj/Julia/de430.bsp")
jd  = DatetoJD(2018,01,01,0,0,0) * 86400
jd2 = DatetoJD(2018,01,11,0,0,0) * 86400
sputnik_coord = [-976.3107644649057, -4835.627052558522, -5031.728586125443, -0.7944031487816871, 5.474532271429767, -5.094496750907486]
Kps = [2,1,1,1,2,1,0,4,2,0] 
h0 = 90
hx = 125
T0 = 183
M0 = 28.96
rho0 = 3.46e-12 
g = 9.8065
Ra = 6356766
R = 8.31432
req = BigFloat(6378136.3)


sun_declination_degree = [  -22.94980416,
                            -22.8593264,
                            -22.76126935,
                            -22.65568101,
                            -22.54261303,
                            -22.42212068,
                            -22.29426272,
                            -22.15910134,
                            -22.01670204,
                            -21.86713355
                        ]
c = [0.0,0.0,0.0,0.0,0.0]
c[1] = -89284375.0
c[2] = 3542400.0
c[3] = -52687.5
c[4] = 340.5
c[5] = -0.8
cstar = c
A = [0.0,0.0,0.0,0.0,0.0,0.0,0.0]
A[1] = 83809.05064
A[2] = -5196.932946
A[3] = 134.0855452
A[4] = -1.842006056
A[5] = 1.421149e-2
A[6] = -5.83912e-5
A[7] = 9.9826e-8
alpha = [
            3144902516.672729,
            -123774885.4832917,
            1816141.096520398,
            -11403.31079489267,
            24.36498612105595,
            0.008957502869707995
        ]
beta =  [
            52864482.17910969,
            16632.50847336828,
            -1.308252378125,
            0.0,
            0.0,
            0.0
        ] 
B = [0.0,0.0,0.0,0.0,0.0,0.0]

function getF107(daynum)
    stringF107 = split(linesF107[40 + daynum])
    F107 = parse(stringF107[4])
    return F107
end

function getF107a(daynum)
    sum = 0
    for day = (0:80)
        stringF107 = split(linesF107[daynum + day])
        F107 = parse(stringF107[4])
        sum = sum + F107
    end
    sum = sum / 81
    return sum
end

function getHeight(y)
    a = sqrt(y[1]^2 + y[2]^2 + y[3]^2)-Ra/1000
    return a
end

function temperature(h, date)
    date = jd2/86400

    if h < 125
        daynum = trunc(Int64,jd2/86400 - jd/86400)
        F107  = getF107(daynum)
        F107a = getF107a(daynum)
        Tc = 379 + 3.24*F107a + 1.3*(F107 - F107a)
        st_bar_sun = state(spk, 0, 10, date)
        st_bar_moon_earth = state(spk, 0, 3, date)
        st_bar_me_earth = state(spk, 3, 399, date)
        earth_solar_barycentre  =  st_bar_moon_earth + st_bar_me_earth
        sun_coord  = (st_bar_sun - earth_solar_barycentre)
        global phi_gc = y[1]/sqrt(y[1]^2+y[2]^2)
        global phi_gd = atan(tan(phi_gc)/(1 - (0.0167)^2))
        global delta = sun_declination_degree[daynum]/57.2958
        global eta = abs(phi_gd - delta)/2
        global theta = abs(phi_gd + delta)/2 
        LHA = 180/pi*(
        (y[1]*sun_coord[2] - y[2]*sun_coord[1])/(abs(y[1]*sun_coord[2] - y[2]*sun_coord[1]))*
        acos((y[1]*sun_coord[2] + y[2]*sun_coord[1])/(sqrt(y[1]^2 + y[2]^2)*sqrt(sun_coord[1]^2 + sun_coord[2]^2))))
        tau = LHA - 37 + 6*sin(LHA + 43) 
        Tunc = Tc*(1 + 0.3*(sin(theta)^2.2 + (cos(eta)^2.2 - sin(theta)^2.2)*cos(tau/2)^3)) 
    end
    Kp = Kps[daynum]
    if (h >= 200)
        deltaTcorr = 28*Kp + 0.03*exp(Kp)
    else
        deltaTcorr = 14*Kp + 0.02*exp(Kp)
    end
    global Tcorr = Tunc + deltaTcorr 
    global Tx = 371.6678 + 0.0518806*Tcorr - 294.3505*exp(-0.00216222*Tcorr)
    deltaT = 0
    for i = (1:5)
        deltaT += c[i]*h^(i - 1)
    end
    global d1 = Tx - T0
    if h < 125
        T = Tx + (d1/35^4)*deltaT 
    end
    return T    
end

function molecular_mass(y,date)

    h = 90
    if h <= 100 && h >= 90
        M = 0
        for i = 1:7
            M += A[i]*h^(i - 1)
            println("i = $i, added $(A[i]*h^(i - 1))")
        end
        return M
    end
end

y = sputnik_coord
date = jd2/86400

println(molecular_mass(y,date))

function density(y, date)
    M = molecular_mass(y, date)
    T = temperature(y, date)
    k = -g/(R*(Tx-T0))
    f = (35^4)*(Ra^2)/c[5]
    cstar[1] = 35^4 * [1 +T0/(Tx- T0)] + c[1]
    P = Poly([cstar[1],cstar[2],cstar[3],cstar[4],cstar[5]])
    roots_of_P = [0.0,0.0,0.0,0.0]
    roots_of_P = roots(P)
    println(roots_of_P)
    r1 = 0
    r2 = 0
    x = 0
    y = 0

    if imag(roots_of_P[1]) == 0
        r1 = real(roots_of_P[1])
    else
        x = real(roots_of_P[1])
        y = abs(imag(roots_of_P[1]))
    end

    if imag(roots_of_P[2]) == 0
        if r1 != 0
            r2 = real(roots_of_P[2])
        else
            r1 = real(roots_of_P[2])
        end
    else
        x = real(roots_of_P[2])
        y = abs(imag(roots_of_P[2]))
    end

    if imag(roots_of_P[3]) == 0 && r1 != 0
        r2 = real(roots_of_P[3])
    elseif imag(roots_of_P[3]) == 0 && r1 == 0
        r1 = real(roots_of_P[3])
    else
        x = real(roots_of_P[3])
        y = abs(imag(roots_of_P[3]))
    end

    if imag(roots_of_P[4]) == 0
        r2 = real(roots_of_P[4])
    end

    B[1] = (A[1] - 5.04227040425412*cstar[1])*f
    B[2] = (17856541.74708379 + 0.00158642630679*cstar[1])*f107
    B[3] = (-259910.779829766 - A[7]*cstar[1]/c[5])*f
    B[4] = -1.236944975267146e17
    B[5] = 2.642300254604438e14
    B[6] = 9.740305355778338e10
    S1 = 0
    S2 = 0
    SRminus = 0
    for i = (1:6)
        S1 += B[i]*r1^(i-1) 
        S2 += B[i]*r2^(i-1)
        SRminus += B[i]*(-Ra)^(i-1)
    end

    X = -2*rl*r2*Ra*(Ra^2 + 2*x*Ra + x^2 + y^2),
    U1 = (r1 + Ra)^2 * (r1^2 - 2*x*r1 + x^2 + y^2)* (r1 - r2)
    U2 = (r2 + Ra)^2 * (r2^2 - 2*x*r2 + x^2 + y^2)* (r1 - r2)
    V =  (Ra^2 + 2*x*Ra + x^2 + y^2)*(-Ra - r1)*(-Ra - r2)
    W1 = r1*r2*(Ra^2)*(r1 + Ra) + (x^2 + y^2)*Ra*(Ra*r1 + r1r2)
    W2 = r1*r2*(Ra^2)*(r2 + Ra) + (x^2 + y^2)*Ra*(Ra*r2 + r1r2)
    p2 = S1/U1
    p3 = -S2/U2
    p5 = SRminus/V
    p4 = (B[1] - r1*r2*Ra^2* (B[5] + (2*x + r1 + r2 - Ra) *B[6]) - r1*r2*Ra*(x^2 + y^2)*B[6] + r1*r2*(Ra^2 - (x + y))*p5 + W1*p2 +W2*p3)/X
    F1 = ((h + Ra)/(h0 + Ra))^p1 *((h - r1)/(h0 - r1))^p2 * ((h - r2)/(h0 - r2))^p3 * ((h^2 - 2*x*h + x^2 +y^2)/(h0^2 - 2*x*h0 + x^2 + y^2))^p4
    p6 = B[5] + (2*x + r1 + r2 - Ra)*B[6] - p5 - 2*(x + Ra)*p4 - (r2 + Ra)*p3 - (r1 + Ra)*p2
    p1 = B[6] - 2*p4 - p3 -p2
    F1 = ((h+Ra)/(h0+Ra))^p1 *((h-r1)/(h0-r1))^p2 *((h-r2)/(h0-r2))^p3 *(((h^2)-2*x*h + x^2 +y^2)/((h0^2)-2*x*h0 + x^2 +y^2))^p4
    F2 = (h-h0)*(f*A[7] + p5/((h + Ra)*(h0 + Ra))) + p6/y *atan((y*(h-h0))/(y^2+(h-x)*(h0-x)))
    rho = rho0*(F1^k)*exp(k*F2)*((M*T0)/(M0*T)) 
    return rho
end
toc()
tic()
使用JPLEphemeris
使用卫星工具箱
使用符号引擎
使用微分方程
使用多项式
fileF107=open(“C:/stj/Julia/f107.txt”、“r”)
linesF107=读取行(文件f107)
spk=spk(“C:/stj/Julia/de430.bsp”)
jd=DatetoJD(2018,01,01,0,0,0)*86400
jd2=DatetoJD(2018,01,11,0,0,0)*86400
人造卫星坐标=[-976.3107644649057,-4835.627052558522,-5031.728586125443,-0.7944031487816871,5.474532271429767,-5.094496750907486]
Kps=[2,1,1,1,2,1,0,4,2,0]
h0=90
hx=125
T0=183
M0=28.96
rho0=3.46e-12
g=9.8065
Ra=6356766
R=8.31432
req=BigFloat(6378136.3)
太阳赤纬度=[-22.94980416,
-22.8593264,
-22.76126935,
-22.65568101,
-22.54261303,
-22.42212068,
-22.29426272,
-22.15910134,
-22.01670204,
-21.86713355
]
c=[0.0,0.0,0.0,0.0,0.0]
c[1]=-89284375.0
c[2]=3542400.0
c[3]=-52687.5
c[4]=340.5
c[5]=-0.8
cstar=c
A=[0.0,0.0,0.0,0.0,0.0,0.0,0.0]
A[1]=83809.05064
A[2]=-5196.932946
A[3]=134.0855452
A[4]=-1.842006056
A[5]=1.421149e-2
A[6]=-5.83912e-5
A[7]=9.9826e-8
α=[
3144902516.672729,
-123774885.4832917,
1816141.096520398,
-11403.31079489267,
24.36498612105595,
0.008957502869707995
]
β=[
52864482.17910969,
16632.50847336828,
-1.308252378125,
0.0,
0.0,
0
] 
B=[0.0,0.0,0.0,0.0,0.0,0.0]
函数getF107(daynum)
stringF107=拆分(linesF107[40+daynum])
F107=解析(stringF107[4])
返回F107
结束
函数getF107a(daynum)
总和=0
第天=(0:80)
stringF107=拆分(行SF107[daynum+day])
F107=解析(stringF107[4])
总和=总和+F107
结束
总和=总和/81
回报金额
结束
函数getHeight(y)
a=sqrt(y[1]^2+y[2]^2+y[3]^2)-Ra/1000
归还
结束
功能温度(小时、日期)
日期=jd2/86400
如果h<125
daynum=trunc(Int64,jd2/86400-jd/86400)
F107=getF107(daynum)
F107a=getF107a(daynum)
Tc=379+3.24*F107a+1.3*(F107-F107a)
st_bar_sun=状态(spk,0,10,日期)
圣巴鲁月亮地球=国家(spk,0,3,日期)
st_bar_me_earth=州(spk,3399,日期)
地球太阳重心=圣巴月亮地球+圣巴月亮地球
太阳坐标=(太阳-地球-太阳-重心)
全局phi_gc=y[1]/sqrt(y[1]^2+y[2]^2)
全球phi_gd=atan(tan(phi_gc)/(1-(0.0167)^2))
全球增量=太阳赤纬度[daynum]/57.2958
全球eta=abs(phi_gd-δ)/2
全局θ=abs(φgd+delta)/2
LHA=180/pi*(
(y[1]*太阳坐标[2]-y[2]*太阳坐标[1])/(abs(y[1]*太阳坐标[2]-y[2]*太阳坐标[1]))*
acos((y[1]*太阳合作社[2]+y[2]*太阳合作社[1])/(sqrt(y[1]^2+y[2]^2)*sqrt(太阳合作社[1]^2+太阳合作社[2]^2)))
tau=LHA-37+6*sin(LHA+43)
Tunc=Tc*(1+0.3*(sin(θ)^2.2+(cos(eta)^2.2-sin(θ)^2.2)*cos(tau/2)^3))
结束
Kp=Kps[daynum]
如果(h>=200)
deltaTcorr=28*Kp+0.03*exp(Kp)
其他的
deltaTcorr=14*Kp+0.02*exp(Kp)
结束
全局Tcorr=Tunc+deltaTcorr
全局Tx=371.6678+0.0518806*Tcorr-294.3505*exp(-0.002162*Tcorr)
deltaT=0
对于i=(1:5)
deltaT+=c[i]*h^(i-1)
结束
全局d1=Tx-T0
如果h<125
T=Tx+(d1/35^4)*deltaT
结束
返回T
结束
功能分子质量(y,日期)
h=90
如果h=90
M=0
对于i=1:7
M+=A[i]*h^(i-1)
println(“i=$i,增加了$(A[i]*h^(i-1)))
结束
返回M
结束
结束
y=人造卫星坐标
日期=jd2/86400
println(分子量(y,日期))
功能密度(y,日期)
M=分子质量(y,日期)
T=温度(y,日期)
k=-g/(R*(Tx-T0))
f=(35^4)*(Ra^2)/c[5]
cstar[1]=35^4*[1+T0/(Tx-T0)]+c[1]
P=Poly([cstar[1],cstar[2],cstar[3],cstar[4],cstar[5]))
_P的根_=[0.0,0.0,0.0,0.0]
根(P的根)=根(P)
println(P的根)
r1=0
r2=0
x=0
y=0
如果imag(P[1]的根=0
r1=实(P[1]的根)
其他的
x=实(P[1]的根)
y=abs(imag(P[1]的根)
结束
如果imag(P[2]的根=0
如果r1!=0
r2=实(P[2]的根)
其他的
r1=实(P[2]的根)
结束
其他的
x=实(P[2]的根)
y=abs(imag(P[2]的根)
结束
如果imag(P[3]的根=0&&r1!=0
r2=实(P[3]的根)
elseif imag(P[3]的根=0&&r1==0
r1=实(P[3]的根)
其他的
x=实(P[3]的根)
y=abs(imag(P[3]的根)
结束
如果imag(P[4]的根=0
r2=实(P[4]的根)
结束
B[1]=(A[1]-5.0422704042412*cstar[1])*f
B[2]=(17856541.74708379+0.00158642630679*cstar[1])*f107
B[3]=(-259910.779829766-A[7]*cstar[1]/c[5])*f
B[4]=-1.236944975267146e17
B[5]=2.642300254604438e14
B[6]=9.74030535577338E10
S1=0
S2=0
sr负=0
对于i=(1:6)
S1+=B[i]*r1^(i-1)
S2+=B[i]*r2^(i-1)
sr+=B[i]*(-Ra)^(i-1)
结束
X=-2*rl*r2*Ra*(Ra^2+2*X*Ra+X^2+y^2),
U1=(r1+Ra)^2*(r1^2-2*x*r1+x^2+y^2)*(r1-r2)
U2=(r2+Ra)^2*(r2^2-2*x*r2+x^2+y^2)*(r1-r2)
V=(Ra^2+2*x*Ra+x^2+y^2)*(-Ra-r1)*(-Ra-r2)
W1=r1*r2*(Ra^2)*(r1+Ra)+(x^2+y^2)*Ra*(Ra*r1+r1r2)
W2=r1*r2*(Ra^2)*(r2+Ra)+(x^2+y^2)*Ra*(Ra*r2+r1r2)
P