Почему я получаю разные результаты от M1 и M2 после запуска циклов? Я не использую их. Моя цель - получить несколько массивов на основе M1 и M2. Я хочу заменить столбец-j из M1 в столбце-j из M2, чтобы создать массив-j и сохранить его в списке.
import numpy
factores= ['V1','V2','V3','V4']
mean_values = numpy.array([5,5,25,1])
#Uncertainty index
unc=5 #Measured in percentage
ub2=ub1=mean_values*(1+unc/100) # 5% up mean
lb2=lb1=mean_values*(1-unc/100) # 5% below mean
#Dimensions
nd=len(lb1) #determines number of variables considered in sensitivity analysis
np=5 #sample size
x=(numpy.random.rand(np,nd))
one =numpy.ones(np)
sample1 = (1+2*(x-1)*(unc/100)) # The % moved between plus or minus the unc%
M1 = sample1*mean_values # sample 1
y=(numpy.random.rand(np,nd))
sample2 = 1+2*(y-1)*(unc/100) # The % moved between plus or minus the unc%
M2 = (sample2*mean_values) # sample 2
z=(numpy.random.rand(np,nd))
sample3 = 1+2*(z-1)*(unc/100) # The % moved between plus or minus the unc%
M3 = sample3*mean_values # sample 3
lista_N=[]
lista_NTj=[]
NTj=numpy.zeros((np,nd))
matriz_1=M1[:,:]
matriz_2=M2[:,:]
print(M1==M2)
for j in range(nd):
Nj=numpy.zeros((np,nd))
Nj=matriz_2
Nj[:,j]=matriz_2[:,j]
lista_N.append(Nj)
for i in range(nd):
NTj=matriz_1
NTj[:,i]=matriz_2[:,i]
lista_NTj.append(NTj)
print(M1==M2)