Re: Nonlinear curve fit as a Button function fails quietly
- To: mathgroup at smc.vnet.net
- Subject: [mg128416] Re: Nonlinear curve fit as a Button function fails quietly
- From: Bob Hanlon <hanlonr357 at gmail.com>
- Date: Thu, 18 Oct 2012 02:34:46 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <20121017001251.22D8D6868@smc.vnet.net>
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 at 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=
- References:
- Nonlinear curve fit as a Button function fails quietly
- From: dr DanW <dmaxwarren@gmail.com>
- Nonlinear curve fit as a Button function fails quietly