import numpy as np
import pandas as pd
import sympy as sp
import math
import matplotlib.pyplot as plt
from scipy.optimize import fmin
from scipy import signal #滤波等import time
import ee
import geemap
import os
import brewer2mpl
from rich.progress import track
import matplotlib as mpl
import csv
os.environ ['HTTP_PROXY']='http://127.0.0.1:7890'
os.environ ['HTTPS_PROXY']='http://127.0.0.1:7890'
ee.Initialize()
1.1定义函数及其导数
a =240.68568420410156
b =-4.687686443328857
c =-0.9298160076141357
d =0.2455974966287613#定义函数defHarmonic(t):return a+b*t+c*np.cos(2*np.pi*t)+d*np.sin(2*np.pi*t)#导数defdy_Harmonic(t):return b-c*2*np.pi*np.sin(2*np.pi*t)+d*2*np.pi*np.cos(2*np.pi*t)#sympy定义函数
x = sp.Symbol("x")
y = a+b*x+c*sp.cos(2*sp.pi*x)+d*sp.sin(2*sp.pi*x)
np_y=sp.lambdify('x',y,"numpy")#转为数组输入
dy = sp.diff(y,x,1)#1阶导数
np_dy=sp.lambdify('x',dy,"numpy")#转为数组输入
#定义输入变量#创建时间范围内的数组
time = np.arange(ee.Date('2021-01-01').getInfo().get('value'),ee.Date('2021-05-15').getInfo().get('value'),86400000)
time_diff =[]
Doy =[]#计算数组内每个时间与1970差值for i in track(range(len(time))):
date = ee.Date(int(time[i])).difference(ee.Date('1970-01-01'),'year').getInfo()
doy = ee.Date(int(time[i])).difference(ee.Date('2021-01-01'),'day').getInfo()
time_diff.append(date)
Doy.append(doy)
func_x = np.array(time_diff)