我正在写一个如下所示的循环,但是对于sigma
的每个子列表元素,我想确保如果值小于threshold_sigma
,它应该被替换为threshold_sigma
。我给出了当前和预期的输出。
import numpy as np
km = [1, 2, 3, 4, 5]
CI = []
sigma0=0.021
R=8.314
Temp=295
K=1.5e3
sigma=[]
threshold_sigma=0.005
for t in range(0, 3):
CI_t = []
sigma_t=[]
alpha_t=[]
Pr_cap_t=[]
for i in range(0, len(km)):
CI1 = 0.001 * (1 - np.exp(-km[i] * t))
CI_t.append(CI1)
sigma1=sigma0-R*Temp*0.001*np.log(1+K*1.0*CI_t[i])
sigma_t.append(sigma1)
CI.append(CI_t)
sigma.append(sigma_t)
print("sigma =",sigma)
当前输出为
sigma = [[0.021, 0.021, 0.021, 0.021, 0.021], [-1.6146492190972785, -2.0186136083750714, -2.1519399869949933, -2.199220054620485, -2.2163866261027207], [-2.0186136083750714, -2.199220054620485, -2.222671745347101, -2.225828428605512, -2.2262553272687082]]
预期输出为
sigma = [[0.021, 0.021, 0.021, 0.021, 0.021], [0.005, 0.005, 0.005, 0.005, 0.005], [0.005, 0.005, 0.005, 0.005, 0.005]]
1条答案
按热度按时间cngwdvgl1#
您几乎可以在代码中将
sigma_t.append(sigma1)
替换为sigma_t.append(max(sigma1,threshold_sigma))