Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.


Math Forum » Discussions » Software » comp.soft-sys.math.mathematica

Topic: Nonlinear curve fit as a Button function fails quietly
Replies: 2   Last Post: Oct 18, 2012 3:08 AM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
Bob Hanlon

Posts: 906
Registered: 10/29/11
Re: Nonlinear curve fit as a Button function fails quietly
Posted: Oct 18, 2012 2:42 AM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

Works fine on my system (MacBook Air 13", Late 2010, 2.13 GHz Intel
Core 2 Duo, 4 GB 1067 MHz DDR3, 256 GB SSD, OS X 10.8.2, Mma 8.0.4)
even with multiple clicks on the button.

Button["doit", Print["started"];
fff = FindFit[{
{0.009817477042468103, -49.25189827863107},
{0.019634954084936207, -37.90562180443017},
{0.02945243112740431, -31.513750095697066},
{0.039269908169872414, -27.036391847757564},
{0.04908738521234052, -23.56126670467896},
{0.05890486225480862, -20.726453130124064},
{0.06872233929727672, -18.31925814576376},
{0.07853981633974483, -16.206465382815864},
{0.08835729338221293, -14.325235300806058},
{0.09817477042468103, -12.628441835613662},
{0.10799224746714915, -11.06358693639666},
{0.11780972450961724, -9.585921921208962},
{0.12762720155208535, -8.286186108571872},
{0.13744467859455345, -6.988551136111462},
{0.14726215563702155, -5.748879315763792},
{0.15707963267948966, -4.5584683769560295},
{0.16689710972195776, -3.3956796056204306},
{0.17671458676442586, -2.2530914985657704},
{0.18653206380689397, -1.1219363808775793},
{0.19634954084936207, 0.},
{0.20616701789183017, 1.1306324051574126},
{0.2159844949342983, 2.271271620353366},
{0.2258019719767664, 3.4322379150665796},
{0.23561944901923448, 4.61170622835966},
{0.2454369260617026, 5.828520928043911},
{0.2552544031041707, 7.088175349770548},
{0.2650718801466388, 8.410939067615722},
{0.2748893571891069, 9.778099451675669},
{0.284706834231575, 11.205191339349081},
{0.2945243112740431, 12.70574426792714},
{0.3043417883165112, 14.26926111125274},
{0.3141592653589793, 15.90266532920084},
{0.3239767424014474, 17.58445219321284},
{0.3337942194439155, 19.27981048196874},
{0.3436116964863836, 20.88648054765454},
{0.3534291735288517, 22.27505717829864},
{0.36324665057131983, 23.319344994596342},
{0.37306412761378793, 23.952938596366238},
{0.38288160465625604, 24.22004147547884},
{0.39269908169872414, 24.051179133133438},
{0.4025165587411922, 23.863719286857844},
{0.41233403578366035, 23.753427902576338},
{0.42215151282612845, 23.42605746808244},
{0.4319689898685966, 22.93369858422324},
{0.44178646691106466, 22.176037849104638},
{0.4516039439535328, 21.21089090242164},
{0.46142142099600086, 20.082738010398042},
{0.47123889803846897, 18.855325390853338},
{0.4810563750809371, 17.60549450679254},
{0.4908738521234052, 16.373195129322042},
{0.5006913291658733, 15.188769264995043},
{0.5105088062083414, 14.062388719060541},
{0.5203262832508094, 12.94059301342994},
{0.5301437602932776, 11.887518378554141},
{0.5399612373357456, 10.88982440186189},
{0.5497787143782138, 9.94655597639831},
{0.559596191420682, 9.035721808943318},
{0.56941366846315, 8.223406932317982},
{0.5792311455056182, 7.4304441360343985},
{0.5890486225480862, 6.708713816889741},
{0.5988660995905544, 6.00755283947401},
{0.6086835766330224, 5.35194137521387},
{0.6185010536754905, 4.69189109838896},
{0.6283185307179586, 4.07070926952911},
{0.6381360077604268, 3.5186920461085904},
{0.6479534848028948, 2.9734855713242787},
{0.657770961845363, 2.473945725585539},
{0.667588438887831, 2.0007741956414544},
{0.6774059159302992, 1.555106763053056},
{0.6872233929727672, 1.115631305988963},
{0.6970408700152354, 0.7051256747666311},
{0.7068583470577035, 0.29146373072983967},
{0.7166758241001715, -0.11881558761636021},
{0.7264933011426397, -0.5389487361897404},
{0.7363107781851077, -0.9320380384483707},
{0.7461282552275759, -1.2837540840602313},
{0.755945732270044, -1.6614633793729408},
{0.7657632093125121, -2.0018935483060316},
{0.7755806863549802, -2.350265149405491},
{0.7853981633974483, -2.6427115074562897},
{0.7952156404399163, -2.920780495671072},
{0.8050331174823844, -3.1741625603067227},
{0.8148505945248526, -3.3751902938779086},
{0.8246680715673207, -3.536692513644942},
{0.8344855486097889, -3.6838354992325995},
{0.8443030256522569, -3.8052491493034983},
{0.8541205026947251, -3.88827302979538},
{0.8639379797371932, -3.980075960541421},
{0.8737554567796613, -4.002074991564381},
{0.8835729338221293, -4.040176770016652},
{0.8933904108645974, -4.01856531264624},
{0.9032078879070656, -4.035856194674391},
{0.9130253649495337, -4.015754927472921},
{0.9228428419920017, -3.9983714759968207},
{0.9326603190344698, -3.9312910594433994},
{0.9424777960769379, -3.8372724645213396},
{0.9522952731194061, -3.7504776505626807},
{0.9621127501618743, -3.5831085707394204},
{0.9719302272043423, -3.4399539035920905},
{0.9817477042468103, -3.23538340696767},
{0.9915651812892784, -3.0196018226054795},
{1.0013826583317467, -2.7229772167546114},
{1.0112001353742148, -2.427596950647602},
{1.0210176124166828, -2.05765823225498},
{1.030835089459151, -1.7090437133754608},
{1.0406525665016189, -1.3201973455027713},
{1.0504700435440872, -0.8810356339889912},
{1.0602875205865552, -0.3373457652665709},
{1.0701049976290233, 0.2764964214559994},
{1.0799224746714913, 1.0090920657956444},
{1.0897399517139594, 1.7437025552366012},
{1.0995574287564276, 2.485254754875705},
{1.1093749057988957, 3.17849269648283},
{1.119192382841364, 3.6184801969386498},
{1.1290098598838318, 3.6256568799760487},
{1.1388273369263, 3.1467928990289207},
{1.1486448139687682, 2.145877334813474},
{1.1584622910112363, 0.9588677967566638},
{1.1682797680537043, -0.47974972042532066},
{1.1780972450961724, -1.9397596881504104},
{1.1879147221386406, -3.29916090267474},
{1.1977321991811087, -4.565281407310572},
{1.207549676223577, -5.64671142426318},
{1.2173671532660448, -6.63535403325776},
{1.227184630308513, -7.6253761329055925},
{1.237002107350981, -8.534972941932661},
{1.2468195843934493, -9.45529160775786},
{1.2566370614359172, -10.278484593535861},
{1.2664545384783854, -11.032847033066862},
{1.2762720155208536, -11.844270053735361},
{1.2860894925633215, -12.636051209685462},
{1.2959069696057897, -13.49019820535946},
{1.3057244466482578, -14.257955065594361},
{1.315541923690726, -14.959347360567063},
{1.325359400733194, -15.622911413801262},
{1.335176877775662, -16.28079359033076},
{1.3449943548181302, -16.883381684852765},
{1.3548118318605984, -17.48456917564956},
{1.3646293089030663, -18.25867812914986},
{1.3744467859455345, -18.860826252564962},
{1.3842642629880026, -19.49135991821976},
{1.3940817400304708, -20.15420254097076},
{1.403899217072939, -20.80965139184066},
{1.413716694115407, -21.46401633016016},
{1.423534171157875, -22.06927516742266},
{1.433351648200343, -22.79840998311286},
{1.4431691252428114, -23.366757548681065},
{1.4529866022852793, -23.931929096927163},
{1.4628040793277475, -24.453785905403862},
{1.4726215563702154, -24.957289253122063},
{1.4824390334126836, -25.178711377439562},
{1.4922565104551517, -25.32658692213666},
{1.50207398749762, -25.52380930463276},
{1.511891464540088, -25.838724103753563},
{1.521708941582556, -26.15674719359836},
{1.5315264186250241, -26.396955542045163},
{1.5413438956674923, -26.550540832227263},
{1.5511613727099605, -26.68810321786346},
{1.5609788497524284, -26.644987316887764}},
{(1/Log[10])*
(20*Log[10^(Re[gain]/20)*Abs[\[Omega]^2/((I*\[Omega] - xx[1])*
((I*\[Omega] - xx[2])^2 + yy[2]^2)*
((I*\[Omega] - xx[3])^2 + yy[3]^2)*
((I*\[Omega] - xx[4])^2 + yy[4]^2)*
((I*\[Omega] - xx[5])^2 + yy[5]^2))]]), {xx[1] < 0, xx[2] < 0,
xx[3] < 0, xx[4] < 0, xx[5] < 0,
0 < yy[2] < Pi, 0 < yy[3] < Pi, 0 < yy[4] < Pi, 0 < yy[5] < Pi}},
{{gain, 24.200000000000003},
{xx[1], -0.44399999999999995},
{xx[2], -0.08199999999999985},
{yy[2], 0.71},
{xx[3], -0.13199999999999967},
{yy[3], 0.865},
{xx[4], -0.06599999999999984},
{yy[4], 1.7850000000000001},
{xx[5], -0.11599999999999966},
{yy[5], 2.63}}, \[Omega]];
Print[fff];]

(* Button deleted *)

started

{gain->47.0355,xx[1]->-0.148434,xx[2]->-0.0848477,yy[2]->0.427372,
xx[3]->-0.0446489,yy[3]->0.380118,xx[4]->-0.0370682,yy[4]->1.13336,
xx[5]->-39.1398,yy[5]->3.14159}

started

{gain->47.0355,xx[1]->-0.148434,xx[2]->-0.0848477,yy[2]->0.427372,
xx[3]->-0.0446489,yy[3]->0.380118,xx[4]->-0.0370682,yy[4]->1.13336,
xx[5]->-39.1398,yy[5]->3.14159}


Bob Hanlon


On Tue, Oct 16, 2012 at 8:12 PM, dr DanW <dmaxwarren@gmail.com> wrote:
> All,
> I apologize in advance for the complexity of the code I will paste below.=

I tried to simplify it as much as possible, but if I simplify it too much=
it does not replicate the problem.
>
> I am building a Maniplate in which I can manually shape a function until =

I have a reasonable approximation of a set of data. Once a reasonable appr=
oximation is found, I press a button and FindFit finishes off the job. Thi=
s works only some of the time. When it doesn't work, pushing the button ju=
st appears to have no effect. I have verified that FindFit on its own retur=
ns a value in about 7 to 8 seconds on my computer. It also throws a FindFi=
t::eit Message, complaining that the fit does not converge to the tolerance=
.
>
> The code pasted below takes several seconds to print the "started" messag=

e, then appears to do nothing else. The symbol fff never gets a value.
>
> Any suggestions would be quite welcome.
>
> Version 8.0.4 on Mac OSX 10.8.
>
> ---- snip ----
> Button["doit", Print["started"];
> fff = FindFit[{{0.009817477042468103, -49.25189827863107},
> {0.019634954084936207, -37.90562180443017}, {0.02945243112740431,
> -31.513750095697066}, {0.039269908169872414, -27.036391847757564},
> {0.04908738521234052, -23.56126670467896}, {0.05890486225480862,
> -20.726453130124064}, {0.06872233929727672, -18.31925814576376},
> {0.07853981633974483, -16.206465382815864}, {0.08835729338221293,
> -14.325235300806058}, {0.09817477042468103, -12.628441835613662},
> {0.10799224746714915, -11.06358693639666}, {0.11780972450961724,
> -9.585921921208962}, {0.12762720155208535, -8.286186108571872},
> {0.13744467859455345, -6.988551136111462}, {0.14726215563702155,
> -5.748879315763792}, {0.15707963267948966, -4.5584683769560295},
> {0.16689710972195776, -3.3956796056204306}, {0.17671458676442586,
> -2.2530914985657704}, {0.18653206380689397, -1.1219363808775793},
> {0.19634954084936207, 0.}, {0.20616701789183017, 1.1306324051574126=

},
> {0.2159844949342983, 2.271271620353366}, {0.2258019719767664,
> 3.4322379150665796}, {0.23561944901923448, 4.61170622835966},
> {0.2454369260617026, 5.828520928043911}, {0.2552544031041707,
> 7.088175349770548}, {0.2650718801466388, 8.410939067615722},
> {0.2748893571891069, 9.778099451675669}, {0.284706834231575,
> 11.205191339349081}, {0.2945243112740431, 12.70574426792714},
> {0.3043417883165112, 14.26926111125274}, {0.3141592653589793,
> 15.90266532920084}, {0.3239767424014474, 17.58445219321284},
> {0.3337942194439155, 19.27981048196874}, {0.3436116964863836,
> 20.88648054765454}, {0.3534291735288517, 22.27505717829864},
> {0.36324665057131983, 23.319344994596342}, {0.37306412761378793,
> 23.952938596366238}, {0.38288160465625604, 24.22004147547884},
> {0.39269908169872414, 24.051179133133438}, {0.4025165587411922,
> 23.863719286857844}, {0.41233403578366035, 23.753427902576338},
> {0.42215151282612845, 23.42605746808244}, {0.4319689898685966,
> 22.93369858422324}, {0.44178646691106466, 22.176037849104638},
> {0.4516039439535328, 21.21089090242164}, {0.46142142099600086,
> 20.082738010398042}, {0.47123889803846897, 18.855325390853338},
> {0.4810563750809371, 17.60549450679254}, {0.4908738521234052,
> 16.373195129322042}, {0.5006913291658733, 15.188769264995043},
> {0.5105088062083414, 14.062388719060541}, {0.5203262832508094,
> 12.94059301342994}, {0.5301437602932776, 11.887518378554141},
> {0.5399612373357456, 10.88982440186189}, {0.5497787143782138, 9.946=

55597639831},
> {0.559596191420682, 9.035721808943318}, {0.56941366846315, 8.223406=
932317982},
> {0.5792311455056182, 7.4304441360343985}, {0.5890486225480862,
> 6.708713816889741}, {0.5988660995905544, 6.00755283947401},
> {0.6086835766330224, 5.35194137521387}, {0.6185010536754905, 4.6918=

9109838896},
> {0.6283185307179586, 4.07070926952911}, {0.6381360077604268,
> 3.5186920461085904}, {0.6479534848028948, 2.9734855713242787},
> {0.657770961845363, 2.473945725585539}, {0.667588438887831, 2.00077=

41956414544},
> {0.6774059159302992, 1.555106763053056}, {0.6872233929727672,
> 1.115631305988963}, {0.6970408700152354, 0.7051256747666311},
> {0.7068583470577035, 0.29146373072983967}, {0.7166758241001715,
> -0.11881558761636021}, {0.7264933011426397, -0.5389487361897404},
> {0.7363107781851077, -0.9320380384483707}, {0.7461282552275759,
> -1.2837540840602313}, {0.755945732270044, -1.6614633793729408},
> {0.7657632093125121, -2.0018935483060316}, {0.7755806863549802,
> -2.350265149405491}, {0.7853981633974483, -2.6427115074562897},
> {0.7952156404399163, -2.920780495671072}, {0.8050331174823844,
> -3.1741625603067227}, {0.8148505945248526, -3.3751902938779086},
> {0.8246680715673207, -3.536692513644942}, {0.8344855486097889,
> -3.6838354992325995}, {0.8443030256522569, -3.8052491493034983},
> {0.8541205026947251, -3.88827302979538}, {0.8639379797371932,
> -3.980075960541421}, {0.8737554567796613, -4.002074991564381},
> {0.8835729338221293, -4.040176770016652}, {0.8933904108645974,
> -4.01856531264624}, {0.9032078879070656, -4.035856194674391},
> {0.9130253649495337, -4.015754927472921}, {0.9228428419920017,
> -3.9983714759968207}, {0.9326603190344698, -3.9312910594433994},
> {0.9424777960769379, -3.8372724645213396}, {0.9522952731194061,
> -3.7504776505626807}, {0.9621127501618743, -3.5831085707394204},
> {0.9719302272043423, -3.4399539035920905}, {0.9817477042468103,
> -3.23538340696767}, {0.9915651812892784, -3.0196018226054795},
> {1.0013826583317467, -2.7229772167546114}, {1.0112001353742148,
> -2.427596950647602}, {1.0210176124166828, -2.05765823225498},
> {1.030835089459151, -1.7090437133754608}, {1.0406525665016189,
> -1.3201973455027713}, {1.0504700435440872, -0.8810356339889912},
> {1.0602875205865552, -0.3373457652665709}, {1.0701049976290233,
> 0.2764964214559994}, {1.0799224746714913, 1.0090920657956444},
> {1.0897399517139594, 1.7437025552366012}, {1.0995574287564276,
> 2.485254754875705}, {1.1093749057988957, 3.17849269648283},
> {1.119192382841364, 3.6184801969386498}, {1.1290098598838318,
> 3.6256568799760487}, {1.1388273369263, 3.1467928990289207},
> {1.1486448139687682, 2.145877334813474}, {1.1584622910112363,
> 0.9588677967566638}, {1.1682797680537043, -0.47974972042532066},
> {1.1780972450961724, -1.9397596881504104}, {1.1879147221386406,
> -3.29916090267474}, {1.1977321991811087, -4.565281407310572},
> {1.207549676223577, -5.64671142426318}, {1.2173671532660448, -6.635=

35403325776},
> {1.227184630308513, -7.6253761329055925}, {1.237002107350981,
> -8.534972941932661}, {1.2468195843934493, -9.45529160775786},
> {1.2566370614359172, -10.278484593535861}, {1.2664545384783854,
> -11.032847033066862}, {1.2762720155208536, -11.844270053735361},
> {1.2860894925633215, -12.636051209685462}, {1.2959069696057897,
> -13.49019820535946}, {1.3057244466482578, -14.257955065594361},
> {1.315541923690726, -14.959347360567063}, {1.325359400733194,
> -15.622911413801262}, {1.335176877775662, -16.28079359033076},
> {1.3449943548181302, -16.883381684852765}, {1.3548118318605984,
> -17.48456917564956}, {1.3646293089030663, -18.25867812914986},
> {1.3744467859455345, -18.860826252564962}, {1.3842642629880026,
> -19.49135991821976}, {1.3940817400304708, -20.15420254097076},
> {1.403899217072939, -20.80965139184066}, {1.413716694115407,
> -21.46401633016016}, {1.423534171157875, -22.06927516742266},
> {1.433351648200343, -22.79840998311286}, {1.4431691252428114,
> -23.366757548681065}, {1.4529866022852793, -23.931929096927163},
> {1.4628040793277475, -24.453785905403862}, {1.4726215563702154,
> -24.957289253122063}, {1.4824390334126836, -25.178711377439562},
> {1.4922565104551517, -25.32658692213666}, {1.50207398749762,
> -25.52380930463276}, {1.511891464540088, -25.838724103753563},
> {1.521708941582556, -26.15674719359836}, {1.5315264186250241,
> -26.396955542045163}, {1.5413438956674923, -26.550540832227263},
> {1.5511613727099605, -26.68810321786346}, {1.5609788497524284,
> -26.644987316887764}},
> {(1/Log[10])*(20*Log[10^(Re[gain]/20)*Abs[\[Omega]^2/((I*\[Omega] - =

xx[1])*
> ((I*\[Omega] - xx[2])^2 + yy[2]^2)*((I*\[Omega] - xx[3])^2 +=
yy[3]^2)*
> ((I*\[Omega] - xx[4])^2 + yy[4]^2)*((I*\[Omega] - xx[5])^2 +=
yy[5]^2))]]),
> {xx[1] < 0, xx[2] < 0, xx[3] < 0, xx[4] < 0, xx[5] < 0, 0 < yy[2] <=
Pi,
> 0 < yy[3] < Pi, 0 < yy[4] < Pi, 0 < yy[5] < Pi}}, {{gain, 24.20000=
0000000003},
> {xx[1], -0.44399999999999995}, {xx[2], -0.08199999999999985}, {yy[2=
], 0.71},
> {xx[3], -0.13199999999999967}, {yy[3], 0.865}, {xx[4], -0.065999999=
99999984},
> {yy[4], 1.7850000000000001}, {xx[5], -0.11599999999999966}, {yy[5],=
2.63}},
> \[Omega]]; Print[fff]; ]
>
>






Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2014. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.