{VERSION 3 0 "IBM INTEL LINUX" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 256 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Text Output" -1 2 1 {CSTYLE "" -1 -1 "Co urier" 1 10 0 0 255 1 0 0 0 0 0 1 3 0 3 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Warning" 2 7 1 {CSTYLE "" -1 -1 "" 0 1 0 0 255 1 0 0 0 0 0 0 1 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Plot" 0 13 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 } {PSTYLE "" 0 256 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 } 3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 256 "" 0 "" {TEXT 256 244 "Taylor-Newton-Gauss program to\nfind the un known parameters of a NonLINEAR or LINEAR\nfunction from a series of o bservations \{X,Y\}.\nWe assume that reasonable initial approximations \{Guess values\} of\nthe desired unknowns \{a[1] ... a[n]\} are known ." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 2510 "restart;\nwith(linal g):\nwith(stats):\nwith(plots):\nTNG:=proc()\nglobal Guess,n;\nlocal E quation,guess_dim,Taylor1,Taylor,z,A1,A,ma1,ma,AA,BB,abc,answer,answer 1,new_y,correl,correlation,correlation1,rms_error,rms_error1,avg_new_y ,RMS_error,SSQ,RMS_percent_avg_response,eq_function,Yvalues_predicted, Residuals,C,q,p,P,P1,D1,D2,j,m,nn;\nEquation:=y-Fit:\nguess_dim:=nops( Guess):\n #Find the partial differentiation of each parameter usin g the trucated Taylor series.\nTaylor1:=seq(diff(Fit,a[n])*q[n],n=1..g uess_dim):\nTaylor:=-(Equation+sum(Taylor1[n],n=1..guess_dim)):\nfor z from 1 to iterations do\n #substitute the Guess values, X and Y o bservations into the Taylor function.\nA1:=subs(seq(a[t]=Guess[t],t=1. .guess_dim),Taylor);\nA:=[evalf(seq(subs(x=X[s],y=Y[s],A1),s=1..N))]; \n #The nonlinear error equations are now linearized with the error q[n]=a[n]-Guess[n].\n #Form a matrix of the coefficients of the q[ n] equations and find the leastsquares solution.\nma1:=seq([seq(coeff( A[nn],q[p]),nn=1..N)],p=1..guess_dim);\nma:=array([ma1]);\nAA:=transpo se(ma);\nBB := array( [seq(tcoeff(A[n]),n=1..N)] );\nabc:=leastsqrs(AA , BB);\nGuess:=[seq(abc[j]+Guess[j],j=1..guess_dim)] od:\n #Calcul ate and print: answer, correlation, etc\nanswer:=evalf(subs([seq(a[k]= Guess[k],k=1..guess_dim)],Fit),6);\nanswer1:=subs([seq(a[k]=Guess[k],k =1..guess_dim)],Fit):\nprint(`Answer=`,answer1);\nprint(`coefficients= `,Guess);\nnew_y:=[seq(subs(x=X[m],answer),m=1..N)]:\ncorrel:=evalf(de scribe[linearcorrelation](Y,new_y)):\ncorrelation1:=evalf(correl):\nco rrelation:=evalf(correlation1,6);\nprint(`correlation=`,correlation); \nrms_error:=sqrt(1/N*sum((Y[i]-new_y[i])^2,i=1..N)):\nrms_error1:=eva lf(rms_error):\navg_new_y:=sum(new_y[i],i=1..N)/N:\nRMS_error:=evalf(r ms_error1,6);\nprint(`RMS error=`,RMS_error);\nSSQ:=evalf(sum((Y[i]-ne w_y[i])^2,i=1..N),6);\nprint(`Sum of the squares=`,SSQ);\nRMS_percent_ avg_response:=evalf(rms_error/avg_new_y*100,6);\nprint(`RMS percent av erage response=`,RMS_percent_avg_response);\neq_function:=unapply(answ er1,x):\nYvalues_predicted:=evalf(transform[apply[eq_function]](X),6): \nprint(`new Y values=`,Yvalues_predicted);\nResiduals:=transform[mult iapply[(x,y)-> x-y]]([Y, Yvalues_predicted]):\nprint(`old Y and new Y \+ residuals=`,Residuals);\nC:=evalf([describe[variance](Residuals)]*N/(N -1),6):\nprint(`Curve fitting variance=`,C);\nfor q from 1 to N do p[q ]:=[X[q],Y[q]] od:\nP:=seq(p[m],m=1..N):\nunassign('n'):\nA1:=pointplo t(\{P\},color=red):\nP1:=plot(answer,x=X[1]..X[N],color=blue):\nD1:=di splay(A1,P1);\nprint(D1);\nend:" }}{PARA 7 "" 1 "" {TEXT -1 32 "Warnin g, new definition for norm" }}{PARA 7 "" 1 "" {TEXT -1 33 "Warning, ne w definition for trace" }}{PARA 7 "" 1 "" {TEXT -1 42 "Warning, `n` in call to `seq` is not local" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 165 "Fit:=a[1]*x/(a[2]+x);\nX:=[0.3, 0.5, 1, 2, 3, 4, 5, 10];\nY := [0 .17, 0.27, 0.43, 0.65, 0.73, 0.78, 0.79, 0.81];\nGuess:=[1,1];\niterat ions:=10;\nN:=nops(X);\nNy:=nops(Y);" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#>%$FitG*&*&&%\"aG6#\"\"\"F*%\"xGF*\"\"\",&&F(6#\"\"#F*F+F*!\"\"" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"XG7*$\"\"$!\"\"$\"\"&F(\"\"\"\"\"# F'\"\"%F*\"#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"YG7*$\"#%&GuessG7$\"\"\"F&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# >%+iterationsG\"#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"NG\"\")" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%#NyG\"\")" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 6 "TNG();" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%(Answer= G,$*&%\"xG\"\"\",&$\"+LEsP6!\"*\"\"\"F&F,!\"\"$\"+fX:N'*!#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%.coefficients=G7$$\"+fX:N'*!#5$\"+LEsP6!\"* " }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%-correlation=G$\"'`<**!\"'" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$%+RMS~error=G$\"'(=?$!\"(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%4Sum~of~the~squares=G$\"'k,#)!\")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%>RMS~percent~average~response=G$\"';)\\&!\"&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%.new~Y~values=G7*$\"'^5?!\"'$\"'jTH F'$\"'@2XF'$\"']ThF'$\"'%e)pF'$\"'\\,vF'$\"'8\\yF'$\"'$4l)F'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%;old~Y~and~new~Y~residuals=G7*$!&^5$!\"'$!& jT#F'$!&@2#F'$\"&]e$F'$\"&;9$F'$\"&^)HF'$\"%(3&F'$!&$4bF'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%8Curve~fitting~variance=G7#$\"'&o:\"!\")" }} {PARA 13 "" 1 "" {INLPLOT "6&-%'POINTSG6+7$$\"\"$!\"\"$\"#;dSF gn$\"14*f&e*[F`#Fgn7$$\"1mm;aRK9^Fgn$\"1Snuxm.))HFgn7$$\"1*\\7y$\\:MgF gn$\"1t::9&*>RLFgn7$$\"1K$e9#f)R&pFgn$\"1VSA=27bOFgn7$$\"1+vok?V))zFgn $\"1$46h_`X(RFgn7$$\"1nm\"z?yG-*Fgn$\"13hPo2fhUFgn7$$\"1n;aX%[06\"!#:$ \"1+\"f)p>NfZFgn7$$\"1Le*QC>yJ\"F[q$\"1_HPhb\"4<&Fgn7$$\"1m\"zk!e)*4:F [q$\"1V(H$zI#\\\\&Fgn7$$\"1+DJ^J'*3F[q$\"1`co$G@R/'Fgn7$$\"1*\\iI^o)>@F[q$\"1@9sJD0qiFgn7$$\"1LL3IC'3L# F[q$\"1&f*3d9vukFgn7$$\"1m;/()fq;DF[q$\"1EH9c:ZNmFgn7$$\"1++D:=#fs#F[q $\"1^'))=&Q!zz'Fgn7$$\"1***\\Pq'*f$HF[q$\"1fZ&>)f@WpFgn7$$\"1++v%yU%QJ F[q$\"1oyL'o7;2(Fgn7$$\"1m\"z4A$GALF[q$\"1V14z6GxrFgn7$$\"1LL3\"G()3a$ F[q$\"1**fCpI7#H(Fgn7$$\"1LLL%ftgs$F[q$\"1\\Fs`DL\"Q(Fgn7$$\"1*\\73I*[ TRF[q$\"1u)z#4)>pZ(Fgn7$$\"1LL$=qo@8%F[q$\"1`D:]1,bvFgn7$$\"1*\\7eAu8M %F[q$\"1\\==ubVMwFgn7$$\"1+vVdteSXF[q$\"1?D,bHJyFgn7$$\"1m;/\"=7_9&F[q $\"1cMEaoS!*yFgn7$$\"1m\"zfCs!f`F[q$\"1*ow'[*Ry%zFgn7$$\"1*\\(=h!Q_a&F [q$\"1+(fX+V[*zFgn7$$\"1m;zTAIYdF[q$\"1e@\"p0_F/)Fgn7$$\"1****\\97-afF [q$\"1-#HJ\"QR*3)Fgn7$$\"1**\\i/PBdhF[q$\"1d73+LXK\")Fgn7$$\"1*\\7yB_Q N'F[q$\"1Q.B??*=<)Fgn7$$\"1**\\P'fj@d'F[q$\"1Qo_4`K8#)Fgn7$$\"1JL$=1E$ onF[q$\"1U`A,Kg[#)Fgn7$$\"1++vj8xxpF[q$\"1u7u?tQ%G)Fgn7$$\"1l\"zp$*fv; (F[q$\"1%GV.Na_J)Fgn7$$\"1++Dx*[]P(F[q$\"1g(yAIDuM)Fgn7$$\"1Ke9%**z-d( F[q$\"1&pENu&Hw$)Fgn7$$\"1*\\i+m_Vx(F[q$\"1ha*pb@^S)Fgn7$$\"1KL3#*4(Q( zF[q$\"1DP0Od0K%)Fgn7$$\"1*\\7`>[F=)F[q$\"1?*p)*y*F[q$\"1$\\_[nVVd)Fgn7$$\"1nmmL\"4#)Q*F[q$\"1kU2u>r$f)Fgn7$$\"1+D\"3q ;Jf*F[q$\"1Sog]%)f8')Fgn7$$\"1+v=)QR#*y*F[q$\"1])\\KyL>j)Fgn7$FK$\"1Ra 4#y<4l)Fgn-FP6&FRF5F5FS-%+AXESLABELSG6$Q\"x6\"%!G-%%VIEWG6$;F'FK%(DEFA ULTG" 2 353 353 353 2 0 1 0 2 9 0 4 2 1.000000 45.000000 45.000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 -5160 0 0 0 0 0 0 }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 152 "Fit:=1./(1.+exp(-a[1]*x-a[2 ]));\nX:=[10, 20, 30, 40, 50];\nY := [0.05, 0.1, 0.20, 0.40, 0.50];\nG uess:=[0.05, -2];\niterations:=10;\nN:=nops(X);\nNy:=nops(Y);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%$FitG,$*&\"\"\"F',&$\"\"\"\"\"!F*-%$ expG6#,&*&&%\"aG6#F*F*%\"xGF*!\"\"&F26#\"\"#F5F*!\"\"F)" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#>%\"XG7'\"#5\"#?\"#I\"#S\"#]" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#>%\"YG7'$\"\"&!\"#$\"\"\"!\"\"$\"#?F($\"#SF($\"#]F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&GuessG7$$\"\"&!\"#F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%+iterationsG\"#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"NG\"\"&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#NyG\" \"&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 6 "TNG();" }}{PARA 11 " " 1 "" {XPPMATH 20 "6$%(Answer=G,$*&\"\"\"F&,&$\"\"\"\"\"!F)-%$expG6#, &%\"xG$!+FU!49(!#6$\"+v18iM!\"*F)F)!\"\"F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%.coefficients=G7$$\"+FU!49(!#6$!+v18iM!\"*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%-correlation=G$\"'a)))*!\"'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%+RMS~error=G$\"'-5E!\"(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%4Sum~of~the~squares=G$\"'21M!\")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%>RMS~percent~average~response=G$\"';I5!\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%.new~Y~values=G7'$\"'u>g!\"($\"'%o:\"!\"'$ \"'T3@F*$\"'DINF*$\"'aq_F*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%;old~Y~ and~new~Y~residuals=G7'$!'u>5!\"($!&%o:!\"'$!&T3\"F*$\"&vp%F*$!&aq#F* " }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%8Curve~fitting~variance=G7#$\"'.u $)!\"*" }}{PARA 13 "" 1 "" {INLPLOT "6&-%'POINTSG6(7$$\"#5\"\"!$\"\"&! \"#7$$\"#?F)$\"\"\"!\"\"7$$\"#IF)$F/F,7$$\"#SF)$F9F,7$$\"#]F)$F=F,-%'C OLOURG6&%$RGBG$\"*++++\"!\")F)F)-%'CURVESG6$7S7$F'$\"1Y,O5Ru>g!#<7$$\" 1nmm;')=(3\"!#9$\"1q\"Q$e4x\"Q'FM7$$\"1LL$e'40j6FQ$\"1&4A&3Y<8nFM7$$\" 1nmm6hO[7FQ$\"1$))Q!)*H\"\\5(FM7$$\"1nmm\"yYUL\"FQ$\"1oU]`nZ?vFM7$$\"1 LL$eF>(>9FQ$\"1DUX?'Hh&zFM7$$\"1nm;>K'*)\\\"FQ$\"1hXA'>40Q)FM7$$\"1++] Kd,\"e\"FQ$\"1+G2se]T))FM7$$\"1nm;fX(em\"FQ$\"1'\\6NsQAM*FM7$$\"1++]U7 Y]`m)*FM7$$\"1LLLV!pu$=FQ$\"1c(3#p7IV5!#;7$$\"1nmmhb59>F Q$\"1lLip!eb4\"F[q7$$\"1+++I,Q+?FQ$\"1lj)3!*>r:\"F[q7$$\"1+++]*3q3#FQ$ \"1%=>XtP>A\"F[q7$$\"1+++q=\\q@FQ$\"1?5Sr]L(G\"F[q7$$\"1nm;fBIYAFQ$\"1 '3'ysSG\\8F[q7$$\"1MLLj$[kL#FQ$\"1:0`4B?E9F[q7$$\"1LLL`Q\"GT#FQ$\"16cx U=>%\\\"F[q7$$\"1++]s]k,DFQ$\"1+EC'z;md\"F[q7$$\"1LLL`dF!e#FQ$\"1hNk!z EEl\"F[q7$$\"1++]sgamEFQ$\"1:$H<`s$RF[q7$$\"1LL$eDBJ\"HFQ$\"1Fr6aP/2?F[q7 $$\"1nmmTc-)*HFQ$\"1c@iy421@F[q7$$\"1nm;f`@'3$FQ$\"1\"RvqGwE@#F[q7$$\" 1++]nZ)H;$FQ$\"1KY%)4vd3BF[q7$$\"1nmmJy*eC$FQ$\"1'QquHy`T#F[q7$$\"1+++ S^bJLFQ$\"1\"H*3&e)>HDF[q7$$\"1+++0TN:MFQ$\"1NIg+#HRk#F[q7$$\"1++]7RV' \\$FQ$\"1^C[p,1eFF[q7$$\"1+++:#fke$FQ$\"1y2&)\\cH))GF[q7$$\"1LLL`4NnOF Q$\"1d!=XKy$3IF[q7$$\"1+++],s`PFQ$\"1e(*zCSnRJF[q7$$\"1mm;zM)>$QFQ$\"1 bzw0HGhKF[q7$$\"1+++qfa " 0 "" {MPLTEXT 1 0 32 "eva lf(3.462130675/.07140904227);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+7 &3$[[!\")" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "8 \+ 0 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 }