以下是使用Python读取fits文件并用sin函数拟合数据的代码示例:

import numpy as np
import astropy.io.fits as fits
from scipy.optimize import curve_fit
import matplotlib.pyplot as plt

# 读取fits文件
hdulist = fits.open('example.fits')
data = hdulist[0].data

# 定义sin函数模型
def sin_func(x, A, w, phi, C):
    return A * np.sin(w * x + phi) + C

# 定义x和y的值
x = np.arange(len(data))
y = data

# 用curve_fit函数来拟合数据
popt, pcov = curve_fit(sin_func, x, y)

# 绘制图像
plt.plot(x, y, 'b-', label='data')
plt.plot(x, sin_func(x, *popt), 'r-', label='fit')
plt.legend()
plt.show()

这段代码首先使用Astropy库的fits模块读取了一个fits文件,然后定义了一个sin函数模型并用scipy.optimize库的curve_fit函数拟合了数据。最后使用Matplotlib库绘制了数据和拟合线的图像。您可以根据自己的需求进行修改和调整

使用python写一段代码读取fits文件并且对数据用sin函数拟合

原文地址: https://www.cveoy.top/t/topic/hlEL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录