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]

© The Math Forum 1994-2015. All Rights Reserved.