-2

输入:给定值,例如 sig 和 rho_c 列出所有日期,使用 for 循环查找每一天的时间,保存该时间查找温度的变化。对于每一天,找出每一天的温度值,找出你需要的值 A 图表数据输出:天与温度的图表。

Aice = 1
Anoice=0.
Tice =273.
Tnoice=293.
dt = 86400.
S = 342.5
rho_c =206000000.
epsilon_tow =.62
sig =5.6710E-8
Tint=288.

import numpy as N
tempvals= N.zeros((3000,))   #creates an array to store temp. values                     
tempvals[0]= Tint            #set the first value of array to Tint
times=N.zeros((3000,))       #creates array to store time values
    for day in range(3000):      #Creates the values of day and goes through
                             #calculates for every day time, A,dT,T 
        time = (dt)*day
        times[day] = time
        if tempvals[day] <= Tice:
            A=Aice
        elif tempvals[day] >=Tnoice:
            A=Anoice
        else :
            A=(((tempvals[day]-Tice)/(Tnoice-Tice)*(Anoice-Aice))+Aice)
        dT =(((S*(1-A))-((epsilon_tow*sig*(tempvals[day]**4))/rho_c )*dt

        if day <2999  
                 tempvals[day+1]= T+dT
                 tempvals[day]= T


        plot(day,T)                    #plots graph of day valueson x axis and
                                       #T values on as y-axis
        plot.title(T)                  #creates title of the graph
4

1 回答 1

3

:在上一行中缺少 a 。

if day < 2999: # <- need a colon here  
    tempvals[day+1]= T+dT

编辑:您在此行中也有不匹配的括号/括号:

dT =(((S*(1-A))-((epsilon_tow*sig*(tempvals[day]**4))/rho_c )*dt # missing parens

这条线看起来应该更像:

dT = ((S*(1-A))-((epsilon_tow*sig*(tempvals[day]**4))/rho_c))*dt
于 2012-12-06T01:37:37.550 回答