Re: How to find the kinks in a list
- To: mathgroup at smc.vnet.net
- Subject: [mg104374] Re: [mg104342] How to find the kinks in a list
- From: DrMajorBob <btreat1 at austin.rr.com>
- Date: Thu, 29 Oct 2009 02:58:52 -0500 (EST)
- References: <200910280908.EAA14393@smc.vnet.net>
- Reply-to: drmajorbob at yahoo.com
It took ten wasted minutes to put that in Mathematica format, which you should have done already. The next question is: "What's a kink?" I can see them in a plot: data = {{0.01, 1.544163223920461*10^-6}, {0.11, 2.7525893580512636 10^-7}, {0.21, 6.8152995392824515 10^-6}, {0.31, 4.972729284187191 10^-6}, {0.41000000000000003, 6.886896332247575 10^-6}, {0.51, 5.028506319197025 10^-7}, {0.61, 1.765869426703084 10^-6}, {0.71, 4.084953122120491 10^-7}, {0.81, 8.908881820563147 10^-6}, {0.91, 3.0059189773700746 10^-7}, {1.01, 1.3790439392802757 10^-6}, {1.11, 8.354283708355008 10^-6}, {1.21, 7.190698243278427 10^-7}, {1.31, 3.792514692609191 10^-7}, {1.41, 2.5758219258643325 10^-6}, {1.51, 0.00573372886943746}, {1.61, 0.09069025128158258}, {1.71, 0.1678921607552329}, {1.81, 0.24047592904187015}, {1.9100000000000001, 0.3094989860449043}, {2.0100000000000002, 0.37555342886640686}, {2.11, 0.43898726713721536}, {2.21, 0.500041232643779}, {2.31, 0.5588795919592797}, {2.41, 0.6156217903422918}, {2.5100000000000002, 0.6703511870298868}, {2.61, 0.7231492006404858}, {2.71, 0.7740553083481225}, {2.81, 0.8231311485576547}, {2.91, 0.8703722465175462}, {3.0100000000000002, 0.9158530005108363}, {3.11, 0.9595743351972397}, {3.21, 1.0015438350017574}, {3.31, 1.034334208101605}, {3.41, 1.0346205212139916}, {3.5100000000000002, 1.0346175133605735}, {3.61, 1.0346312322976905}, {3.71, 1.0346297067475791}, {3.81, 1.0346299273452295}, {3.91, 1.0346026798402437}}; ListPlot@data But what's the mathematical definition you'd like to apply? I can compute interpolated derivatives: Clear[f, x] f[x_] = Interpolation[data][x]; derivatives = f' /@ data[[All, 1]] {-0.000105706, 0.0000533416, 0.0000504733, -0.0000198743, \ -2.25781*10^-6, -0.0000521806, 0.0000166407, 0.0000149181, \ 0.0000444045, -0.0000823082, 0.000046585, 0.0000308789, \ -0.0000763849, 0.0000172154, 0.0191227, 0.330944, 0.955759, 0.743701, \ 0.706272, 0.674401, 0.646861, 0.622038, 0.599188, 0.577704, 0.557219, \ 0.537501, 0.518455, 0.499807, 0.481592, 0.463485, 0.446009, 0.428442, \ 0.386178, 0.204258, -0.0522747, -0.000456524, 0.000114252, \ -0.0000348425, -0.0000864441, -0.000507196} But that's arbitrary. The default InterpolationOrder is 3, but another order could have been used instead... and how big a change in derivative implies a "kink"? Maybe 0.1? Round[derivatives, 0.1] {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.3, 1., 0.7, 0.7, 0.7, \ 0.6, 0.6, 0.6, 0.6, 0.6, 0.5, 0.5, 0.5, 0.5, 0.5, 0.4, 0.4, 0.4, 0.2, \ -0.1, 0, 0, 0, 0, 0} Round[Rest@# - Most@# &[derivatives], 0.1] {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.3, 0.6, -0.2, 0, 0, 0, \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.2, -0.3, 0.1, 0, 0, 0, 0} Maybe that will get you started, but you need a firm definition of "kink". Bobby On Wed, 28 Oct 2009 04:08:18 -0500, Mather <sdzbbjhd at hotmail.com> wrote: > Hi, all > > I want to get the two kinks in the following list, say, x=1.5 and 3.3 > by Mathematica. > However I have no idea which command to employ. > Can anyone help? Thanks in advance! > > 0.01 1.544163223920461e-6 > 0.11 2.7525893580512636e-7 > 0.21 6.8152995392824515e-6 > 0.31 4.972729284187191e-6 > 0.41000000000000003 6.886896332247575e-6 > 0.51 5.028506319197025e-7 > 0.61 1.765869426703084e-6 > 0.71 4.084953122120491e-7 > 0.81 8.908881820563147e-6 > 0.91 3.0059189773700746e-7 > 1.01 1.3790439392802757e-6 > 1.11 8.354283708355008e-6 > 1.21 7.190698243278427e-7 > 1.31 3.792514692609191e-7 > 1.41 2.5758219258643325e-6 > 1.51 0.00573372886943746 > 1.61 0.09069025128158258 > 1.71 0.1678921607552329 > 1.81 0.24047592904187015 > 1.9100000000000001 0.3094989860449043 > 2.0100000000000002 0.37555342886640686 > 2.11 0.43898726713721536 > 2.21 0.500041232643779 > 2.31 0.5588795919592797 > 2.41 0.6156217903422918 > 2.5100000000000002 0.6703511870298868 > 2.61 0.7231492006404858 > 2.71 0.7740553083481225 > 2.81 0.8231311485576547 > 2.91 0.8703722465175462 > 3.0100000000000002 0.9158530005108363 > 3.11 0.9595743351972397 > 3.21 1.0015438350017574 > 3.31 1.034334208101605 > 3.41 1.0346205212139916 > 3.5100000000000002 1.0346175133605735 > 3.61 1.0346312322976905 > 3.71 1.0346297067475791 > 3.81 1.0346299273452295 > 3.91 1.0346026798402437 > -- DrMajorBob at yahoo.com
- References:
- How to find the kinks in a list
- From: Mather <sdzbbjhd@hotmail.com>
- How to find the kinks in a list