Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 拟合太阳数据的多项式作图法_Python_Matplotlib - Fatal编程技术网

Python 拟合太阳数据的多项式作图法

Python 拟合太阳数据的多项式作图法,python,matplotlib,Python,Matplotlib,我花了大约2.5个小时坐在这里,试图让一件非常简单的事情开始工作,但我已经到了无法用新的眼睛看到它的地步。所以,尽管这很简单,但我真的可以得到一些帮助,因为我感到沮丧 问题是用python绘制多项式,很简单吧? 所以我从excel中得到了一个多项式拟合,它看起来非常像高斯函数,但这并不重要。然而,我的绘图代码似乎无法处理它。尽管我的项目中的代码以完全相同的方式运行,但没有问题 忽略随机导入,因为它只是我主文档中的一个复制粘贴jobby 它应该看起来像我附上的照片。但现在它在我脸上爆炸了。这可能是

我花了大约2.5个小时坐在这里,试图让一件非常简单的事情开始工作,但我已经到了无法用新的眼睛看到它的地步。所以,尽管这很简单,但我真的可以得到一些帮助,因为我感到沮丧

问题是用python绘制多项式,很简单吧? 所以我从excel中得到了一个多项式拟合,它看起来非常像高斯函数,但这并不重要。然而,我的绘图代码似乎无法处理它。尽管我的项目中的代码以完全相同的方式运行,但没有问题

忽略随机导入,因为它只是我主文档中的一个复制粘贴jobby

它应该看起来像我附上的照片。但现在它在我脸上爆炸了。这可能是一个非常简单的问题,但我已经盯着它太久了,所以我对它视而不见

非常感谢那些花时间帮助我的人。我真的很感激!

将numpy导入为np
随机输入
将matplotlib.pyplot导入为pyplot
时基=1440
t0=0
ts=np.arange(t0,时基,1)#以1分钟的间隔创建介于0和最大值之间的范围
def solar():
数值=np.数组(范围(时基),数据类型=浮点)#辐照度ie//功率/m^2
#太阳辐照度参数:
对于范围内的t(时基):

如果0如果你通过wolframalpha.com绘制你的函数,对于t=0到3000,你会看到一条与照片上完全不同的曲线。公式一定是错误的,或者t和x之间一定存在某种奇怪的转换。很可能,您需要比显示的有效数字多得多的有效数字。你能从照片上的方程式中得到更多的数字吗?约翰,你解出来了!有效数字把事情搞砸了。我从来没想到会有这么大的不同。不管怎样,非常感谢您如果您通过wolframalpha.com绘制函数,对于t=0到3000,您会看到与照片上完全不同的曲线。公式一定是错误的,或者t和x之间一定存在某种奇怪的转换。很可能,您需要比显示的有效数字多得多的有效数字。你能从照片上的方程式中得到更多的数字吗?约翰,你解出来了!有效数字把事情搞砸了。我从来没想到会有这么大的不同。不管怎样,谢谢你
import numpy as np 
import random 
import matplotlib.pyplot as pyplot

timebase = 1440
t0 = 0
ts = np.arange(t0, timebase, 1) # Create range between 0 and Max with 1 min spacing 

def solar():
    values = np.array( range(timebase), dtype = float) # Irradiance ie// Power / m^2
    # Solar Irradiance Parameters:

    for t in range(timebase):
        if 0 <= t < 210:
            values[t] = 0.00
        if 210 <= t < 1290:
            values[t] = ( (-2.00E-16)*(t**6) ) + ( (9.00E-13)*(t**5) ) - ( (1.00E-9)*(t**4) ) + ( (1.00E-6)*(t**3) ) - ( (0.0004)*(t**2) ) + ( (0.0795)*(t) ) - 5.4647
        if t >= 1290:
            values[t] = 0.00

     # Irradiance Efficiency Parameters
    return values

Test_sol =  solar()

pyplot.plot(ts, Test_sol, color = 'b', linewidth = 0.5)
pyplot.ylabel("Solar Power, kW") 
pyplot.xlabel("Time (Minutes)") 
pyplot.legend()
pyplot.ylim(0,)
pyplot.show()