3 eK!@s~ddlZddlZddlZddlmZejfddZddZddZ d d Z d d Z d dZ ddZ ddZddZddZdS)N) curve_fitcCsbg}g}xLtt|D]<}|||ko0|knr|j|||j||qWt|||S)N)rangelenappendr)xyxminxmaxfuncxfyfir!/home/armin/python/DTA/DTAeval.pydo_fit srcCst|j|j|d|d\}}tdt|ddt|dd|jdt|ddt|dd|j||d|_|d|_|d|_ |d|_ |d|_ t j t j|}|d|_|d|_d|_dS)Nru Előszakasz illesztése, x[z; z], y = p0*x + p1TF)rrT1printstrlog fitreportbMp1mp1_amp1_b mp1_startmp1_endnpsqrtdiagDmp1_aDmp1_bbMaxT1)measrangesparamscovsperrrrrfitfutess(*       r'cCst|j|j|d|d\}}tdt|ddt|dd|jdt|ddt|dd|j||d|_|d|_|d|_ |d|_ |d|_ t j t j|}|d|_|d|_dS)Nrru' Átalakulási szakasz illesztése, x[z; z], y = p0*x + p1T)rrrrrrrbMp2mp2_amp2_b mp2_startmp2_endrrrDmp2_aDmp2_b)r"r#r$r%r&rrr fitatalakulas-s(*      r/cCsfd|_|j|j|j|j|_|j|j|j|_tdt|jd|j dt|jddS)NTuMetszéspont: z C) bTmprr*r)rTmp_xTmprrr)r"rrr intersection?s r3cCs|d|_|d|_g}g}xtt|jD]p}|d|j|koP|dkns||d|j|kov|dknr,|j|j||j|j|q,W|d|_|d |_ttj ||\}}t dt |ddt |ddt |ddt |dd|j d t |ddt |ddt |ddt |dd|j |||d|_|d|_tjtj|}|d|_|d|_d |_d |_d |_dS) NrruAlapvonal illesztése, x[z, z ; z], y = p0*x + p1u Alapvonal illesztése, x[TF) base_startbase_endrrrrdTrDTAutilflinrrrrbase_abase_brrrDbase_aDbase_bbBasebDiff bComplexBase)r"r#ZfitxZfityr r$r%r&rrrfitbaseKs,  L  HJ     rCc Cs|d|_|d|_|d|_|d|_g}g}g}g}g}g}x>tt|jD]*}|d|j|kox|dknr|j|j||j|j||dd|j|ko|dknr|j|j||j|j||d|j|ko |dknr2|j|j||j|j||d|j|koX|ddknrR|j|j||j|j|qRWt t j ||\} } |j dt |ddt |dd|j| | | d|_| d|_tjtj| } | d|_| d|_t t j ||\} } |j d t |ddt |dd|j| | | d|_| d|_tjtj| } | d|_| d|_dd lm} | |||_|j d t |ddt |dd d |_d|_d |_dS)Nrrr5r4u Alapvonal illesztése 1, x[z; z], y = p0*x + p1u Alapvonal illesztése 2, x[) CubicSplineu3 Köztes szakasz illesztése köbös spline-al, x[]TF) r7r8 baseUp_start baseUp_endrrrrr9rr:r;rrrr<r=rrrr>r?baseUp_abaseUp_b DbaseUp_a DbaseUp_bZscipy.interpolaterE basespliner@rArB) r"r#Zfitx1Zfity1Zfitx2Zfity2Zfitspl_xZfitspl_yr r$r%r&rErrrfitComplexBaseksZ    &**,*     *       *rNcCsg|_|jrxtt|jD]}|j||jkr\|jj|j|tj |j||j |j q|j||j kr|jj|j|t |j|j|q|jj|j|tj |j||j|jqWnBx@tt|jD].}|jj|j|tj |j||j |j qWd|_dS)NT)dTdiffedrBrrrr8rr9r:r;r<r=rGfloatrMrIrJrA)r"r rrr differences,(0.rQcCsd|_d|_x\tt|jD]J}|jdkrB|j||dkrB||_|jdkr|j||dkr||_PqW|j|j|j|jd}d|_x,tt|jD]}|j||kr||_PqW|j|j|j|jkr|j|j|_|j|j|_ n|j|j|_|j|j|_ |j|j d|_ d|_ t dt |j|jdt dt |j|jdt dt |j|jdt d t |j|jd t d t |j|jd t d t d t |j d |jdt |j|jd|jdt |j|jd|jdt |j|jd|jd t |j|jd |jd t |j|jd |jd |jd t |j d dS)Nrrr5TuÁtalakulás kezdete: z suÁtalakulás vége: uÁtalakulás fele: uMintatartó hőmérséklete: z CuKörnyezet hőmérséklete: z=======================zTh: )Th_xminTh_xmaxrrrTh_xrT2Th_ymaxTh_yminThbThrrr)r"r#r ZThxrrrgetThsF rZcCsd|_xXtt|jD]F}|j||dkrH|j||jkrH|j||_|j||dkrPqWd|_d|_tdt|jd|j dt|jddS)NrrTFuIAz átalakulás során a mintartartó maximális elért hőmérséklete: z C) maxT1rrrrr!r0rrr)r"r#r rrr getMaximumT1s r\cCs|d}|d}g}g}xTtt|jD]B}||j|koD|knr(|j|j||j|j|q(Wtj||}d|_|jj|t dt |dt dt |dt dt |dt d t d t t j |jd t t j |jd |jdt |d|jdt |d|jdt |d|jd |jd t t j |jd t t j |jd dS) NrrTuIntegrál alsó határ: z suIntegrál felső határ: u Integrál = z Csz=======================uÖsszes integrál = (z +/- z) Cs)rrrrrOr:trapcalc bIntegrated integralsrrraveragestdr)r"r#rr r r r integrrr integrates*  0 rc)osnumpyrr:Zscipy.optimizerr;rr'r/r3rCrNrQrZr\rcrrrrs   ?-