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