Code: Alles auswählen
ParamName=['x'; 'b'; 's'];
initDisPar=[0.9 1.1; 0 0.05; 0.01 0.1];
n=5e3;
p=size(ParamName,1);
for j=1:p;
param(j,:)= unifrnd(initDisPar(j,1),initDisPar(j,2),1,n);
ParamResul(j,:)=[ParamName(j,:) 'Resul']
eval([ParamResul(j,:) '=param(j,:);']);
end;
Code: Alles auswählen
import numpy as np
ParamName = np.array([['x'], ['b'], ['s']], dtype=str)
initDisPar = np.array([[0.9, 1.1], [0, 0.05], [0.01, 0.1]])
n = 5000
p = ParamName.size
param = np.empty([p, n])
for j in range (0, p):
param[j,:] = np.random.uniform(initDisPar[j,0],initDisPar[j,1], n)
ParamResul = np.core.defchararray.add(ParamName, 'Resul')
ParamResul[j] = eval('param[j,:]')
Meine Frage lautet nun... Wie schreibe ich den eval()-Befehl in Python, damit er mir dynamisch die VariablenValueError: could not broadcast input array from shape (5000) into shape (1)
"xResul, bResul, sResul" als Array [1x5000] erzeugt und dort die zugehörigen 5000 Werte von "param" (aus der zugehörigen Zeile) hineinschreibt...
Vielen Dank schon mal im Voraus an alle, die sich damit beschäftigen!