# Converted from nextT.m - optimal next temperature experiment (3 reps)importnumpyasnpfromscipy.statsimportchi2frommiscimportsave_ascii,ellipsechisq=5.99Tmin=300.0Tmax=500.0n0=1T0=np.concatenate([np.full(n0,Tmin),np.full(n0,Tmax)])S=np.eye(2)Trep=np.array([300.0,500.0,1000.0])meanT=1.0/(0.5*(1.0/Tmin+1.0/Tmax))table=NoneforTiinTrep:Tmeas=np.concatenate([T0,[Ti]])ndata=len(Tmeas)Tcenter=-1.0/Tmeas+1.0/meanTX=np.column_stack([np.ones(ndata),Tcenter])measvar=1e-3amat=S@X.T@X@S/measvarlevel=chisqinva=np.linalg.inv(amat)x,y=ellipse(amat,level,150)[:2]block=np.column_stack([x,y])table=blockiftableisNoneelsenp.column_stack([table,block])save_ascii('nextT.dat',table)