3
$\begingroup$

I am performing baseline fitting to a raw dataset on a two-state equilibrium process. The process involves fitting the sigmoidal curve to an upper and lower linear baseline, and subtracting so that you get a curve going from y=(0) (state 1) to y=(1) (state 2) over your x-value range instead y=(experimental observable values).

I'd like to expedite the baseline selection process through an interactive dynamic approach rather than manually typing in lhs/rhs x-values for each curve. However, I'm noticing that the dynamic values behind the dynamic plots need to be on the screen for the plot to update. Meaning, if I'm dynamic listplotting 4 points, and only three of these dynamic values (the output) are on screen then only three show up. I have to scroll up or down through the notebook to "update" various values and then the plots correct themselves.

I have many calculations downstream after baseline selection, and I'd like to have all these subsequent calculations print up in a neat little grid near the sliders, without have to scroll.

I'm new to Dynamic, and also having trouble combining multiple plots (similar to Show) when held under the Dynamic functions. I'd like to dynamically in one graphic plot the ListPlot of my rawData, the four baseline points, and then the fitted linear function through the selected rawData in the baseline area. Next to this, I'll plot the two-state equilibrium plot (y=0 to 1) and then a single point representing the transition point of 50/50 state1/state2 (y=0.5). All of these downstream processes are highly dependent on baseline selection, so I'd like to have the slider there and final plots to immediately see the results of various choices for baselines.

In summary, two questions: 1) screen refresh needed of output from dynamic values for updating dynamic plots not in the same input section 2) multiple plot types within a single graphic, dynamically

ramp1FCelsiusXRFUSmooth[
   1] = {{5.2, 171.5576923076923}, {5.4, 171.4583916083916}, {5.6, 
    171.36804195804197}, {5.8, 171.31552447552448}, {6, 
    171.31125874125877}, {6.2, 171.35321678321677}, {6.4, 
    171.41783216783216}, {6.6, 171.5072027972028}, {6.8, 
    171.61223776223778}, {7, 171.74020979020978}, {7.2, 
    171.8802097902098}, {7.4, 172.01412587412588}, {7.6, 
    172.1367832167832}, {7.8, 172.25818181818184}, {8, 
    172.37916083916082}, {8.2, 172.52223776223775}, {8.4, 
    172.65797202797202}, {8.6, 172.81475524475525}, {8.8, 
    172.97706293706293}, {9, 173.16314685314686}, {9.2, 
    173.35531468531468}, {9.4, 173.56958041958043}, {9.6, 
    173.7951048951049}, {9.8, 174.03153846153847}, {10, 
    174.2748951048951}, {10.2, 174.51762237762236}, {10.4, 
    174.7634265734266}, {10.6, 174.9851048951049}, {10.8, 
    175.1865034965035}, {11, 175.3864335664336}, {11.2, 
    175.59503496503498}, {11.4, 175.81916083916082}, {11.6, 
    176.02797202797203}, {11.8, 176.2442657342657}, {12, 
    176.45391608391608}, {12.2, 176.6886013986014}, {12.4, 
    176.9281118881119}, {12.6, 177.19}, {12.8, 177.47}, {13, 
    177.7390909090909}, {13.2, 178.01503496503494}, {13.4, 
    178.2923076923077}, {13.6, 178.60461538461539}, {13.8, 
    178.92685314685315}, {14, 179.24713286713288}, {14.2, 
    179.5781818181818}, {14.4, 179.93076923076922}, {14.6, 
    180.32083916083917}, {14.8, 180.71741258741258}, {15, 
    181.124965034965}, {15.2, 181.55125874125875}, {15.4, 
    181.97825174825175}, {15.6, 182.41020979020982}, {15.8, 
    182.8441258741259}, {16, 183.3011188811189}, {16.2, 
    183.77636363636367}, {16.4, 184.26951048951048}, {16.6, 
    184.80447552447555}, {16.8, 185.37951048951047}, {17, 
    185.97846153846154}, {17.2, 186.58356643356643}, {17.4, 
    187.19545454545454}, {17.6, 187.81587412587407}, {17.8, 
    188.44538461538463}, {18, 189.08426573426573}, {18.2, 
    189.73111888111887}, {18.4, 190.38111888111888}, {18.6, 
    191.04258741258744}, {18.8, 191.7199300699301}, {19, 
    192.43076923076922}, {19.2, 193.16111888111888}, {19.4, 
    193.91048951048953}, {19.6, 194.68713286713282}, {19.8, 
    195.4913286713287}, {20, 196.32006993006993}, {20.2, 
    197.17510489510488}, {20.4, 198.05881118881118}, {20.6, 
    198.95755244755247}, {20.8, 199.8584615384615}, {21, 
    200.76384615384615}, {21.2, 201.68461538461537}, {21.4, 
    202.62685314685316}, {21.6, 203.66496503496504}, {21.8, 
    204.81300699300698}, {22, 205.96062937062936}, {22.2, 
    206.8897902097902}, {22.4, 207.50202797202797}, {22.6, 
    207.81699300699304}, {22.8, 207.95888111888112}, {23, 
    208.02839160839162}, {23.2, 208.14692307692306}, {23.4, 
    208.4265734265734}, {23.6, 208.94608391608392}, {23.8, 
    209.81937062937064}, {24, 211.1255244755245}, {24.2, 
    212.82013986013985}, {24.4, 214.7145454545455}, {24.6, 
    216.61958041958042}, {24.8, 218.50860139860137}, {25, 
    220.42069930069928}, {25.2, 222.4111888111888}, {25.4, 
    224.48314685314682}, {25.6, 226.616013986014}, {25.8, 
    228.8025874125874}, {26, 231.0102097902098}, {26.2, 
    233.26111888111888}, {26.4, 235.54636363636362}, {26.6, 
    237.8906293706294}, {26.8, 240.30881118881118}, {27, 
    242.80363636363634}, {27.2, 245.37720279720278}, {27.4, 
    248.0467132867133}, {27.6, 250.82118881118885}, {27.8, 
    253.69622377622377}, {28, 256.65937062937064}, {28.2, 
    259.7168531468531}, {28.4, 262.8809090909091}, {28.6, 
    266.136083916084}, {28.8, 269.48853146853145}, {29, 
    272.9494405594406}, {29.2, 276.5634265734266}, {29.4, 
    280.31496503496504}, {29.6, 284.1983916083916}, {29.8, 
    288.2063636363637}, {30, 292.3523076923077}, {30.2, 
    296.6392307692308}, {30.4, 301.0708391608391}, {30.6, 
    305.62391608391613}, {30.8, 310.3113286713287}, {31, 
    315.11034965034963}, {31.2, 320.04965034965034}, {31.4, 
    325.1569230769231}, {31.6, 330.4420979020979}, {31.8, 
    335.90902097902097}, {32, 341.55034965034963}, {32.2, 
    347.37482517482516}, {32.4, 353.38538461538457}, {32.6, 
    359.5694405594406}, {32.8, 365.93888111888117}, {33, 
    372.4761538461538}, {33.2, 379.2182517482518}, {33.4, 
    386.1609790209791}, {33.6, 393.32629370629365}, {33.8, 
    400.7041958041958}, {34, 408.26265734265735}, {34.2, 
    416.02657342657346}, {34.4, 423.96489510489516}, {34.6, 
    432.1181818181819}, {34.8, 440.4820979020979}, {35, 
    448.6806293706294}, {35.2, 456.86342657342664}, {35.4, 
    465.53755244755246}, {35.6, 475.66034965034964}, {35.8, 
    487.5865734265734}, {36, 501.1653146853147}, {36.2, 
    516.0813286713288}, {36.4, 531.9086013986014}, {36.6, 
    548.2587412587412}, {36.8, 564.6713986013987}, {37, 
    580.6118881118881}, {37.2, 595.7270629370629}, {37.4, 
    609.4006293706293}, {37.6, 622.2286013986014}, {37.8, 
    634.5355944055943}, {38, 647.2777622377623}, {38.2, 
    660.156153846154}, {38.4, 673.3221678321679}, {38.6, 
    686.4862237762237}, {38.8, 699.9664335664336}, {39, 
    713.5155244755244}, {39.2, 727.4389510489511}, {39.4, 
    741.0336363636363}, {39.6, 755.0702097902098}, {39.8, 
    769.5217482517482}, {40, 785.5246153846156}, {40.2, 
    802.3835664335664}, {40.4, 820.4558741258742}, {40.6, 
    838.8953146853147}, {40.8, 858.1897202797202}, {41, 
    877.5658741258741}, {41.2, 897.573986013986}, {41.4, 
    917.3868531468532}, {41.6, 937.4052447552448}, {41.8, 
    956.7482517482517}, {42, 976.6904895104893}, {42.2, 
    997.0346153846153}, {42.4, 1018.8477622377623}, {42.6, 
    1041.1142657342657}, {42.8, 1064.3213286713287}, {43, 
    1088.1560139860142}, {43.2, 1112.473986013986}, {43.4, 
    1137.4900699300697}, {43.6, 1164.0341958041959}, {43.8, 
    1192.6026573426573}, {44, 1223.4609090909091}, {44.2, 
    1255.9941258741258}, {44.4, 1290.8709790209791}, {44.6, 
    1327.0130769230768}, {44.8, 1364.6239860139858}, {45, 
    1402.7880419580417}, {45.2, 1442.381118881119}, {45.4, 
    1482.7290909090907}, {45.6, 1523.66013986014}, {45.8, 
    1565.570979020979}, {46, 1609.5718881118883}, {46.2, 
    1656.1732867132866}, {46.4, 1705.5791608391607}, {46.6, 
    1757.082797202797}, {46.8, 1811.405664335664}, {47, 
    1867.7601398601398}, {47.2, 1927.0214685314686}, {47.4, 
    1988.903566433566}, {47.6, 2053.9727272727273}, {47.8, 
    2121.3558741258735}, {48, 2191.253076923077}, {48.2, 
    2263.4567132867137}, {48.4, 2338.992097902097}, {48.6, 
    2417.6206293706296}, {48.8, 2499.507062937063}, {49, 
    2584.0679020979014}, {49.2, 2672.40048951049}, {49.4, 
    2764.2509090909093}, {49.6, 2860.08972027972}, {49.8, 
    2958.8880419580414}, {50, 3061.5296503496506}, {50.2, 
    3167.954475524476}, {50.4, 3279.3267132867136}, {50.6, 
    3394.996363636363}, {50.8, 3514.5386013986017}, {51, 
    3637.8941958041955}, {51.2, 3767.8172727272727}, {51.4, 
    3907.369160839161}, {51.6, 4057.940839160839}, {51.8, 
    4218.387692307691}, {52, 4387.486363636363}, {52.2, 
    4559.219090909091}, {52.4, 4737.994405594407}, {52.6, 
    4926.850629370629}, {52.8, 5133.069790209789}, {53, 
    5351.979300699301}, {53.2, 5580.233216783217}, {53.4, 
    5815.771258741259}, {53.6, 6059.474335664335}, {53.8, 
    6310.2300699300695}, {54, 6566.168951048951}, {54.2, 
    6824.079510489511}, {54.4, 7080.809090909091}, {54.6, 
    7333.146293706293}, {54.8, 7587.8459440559445}, {55, 
    7850.626853146852}, {55.2, 8125.57027972028}, {55.4, 
    8409.073496503495}, {55.6, 8698.83132867133}, {55.8, 
    8996.236433566435}, {56, 9300.716293706295}, {56.2, 
    9614.424195804197}, {56.4, 9936.465874125875}, {56.6, 
    10267.16895104895}, {56.8, 10604.112797202795}, {57, 
    10948.749580419582}, {57.2, 11300.41020979021}, {57.4, 
    11659.683006993006}, {57.6, 12023.626783216785}, {57.8, 
    12392.80202797203}, {58, 12766.768741258744}, {58.2, 
    13147.152517482516}, {58.4, 13533.405594405594}, {58.6, 
    13929.522447552448}, {58.8, 14331.496503496504}, {59, 
    14735.11027972028}, {59.2, 15134.907552447552}, {59.4, 
    15531.639090909091}, {59.6, 15926.898251748251}, {59.8, 
    16319.009370629366}, {60, 16708.945804195802}, {60.2, 
    17100.06636363636}, {60.4, 17496.746923076924}, {60.6, 
    17899.96601398601}, {60.8, 18310.962377622378}, {61, 
    18733.114335664337}, {61.2, 19158.742027972025}, {61.4, 
    19578.491538461538}, {61.6, 19983.563636363637}, {61.8, 
    20383.41286713287}, {62, 20771.78615384616}, {62.2, 
    21143.815874125874}, {62.4, 21493.19979020979}, {62.6, 
    21831.533146853144}, {62.8, 22165.208671328666}, {63, 
    22497.004265734264}, {63.2, 22829.18895104895}, {63.4, 
    23165.61839160839}, {63.6, 23505.106223776227}, {63.8, 
    23845.65895104895}, {64, 24185.918321678324}, {64.2, 
    24530.909580419582}, {64.4, 24870.472797202798}, {64.6, 
    25198.522797202797}, {64.8, 25507.47804195804}, {65, 
    25802.223846153847}, {65.2, 26082.483426573428}, {65.4, 
    26348.033426573424}, {65.6, 26600.166853146857}, {65.8, 
    26840.285384615385}, {66, 27072.183286713287}, {66.2, 
    27294.89937062937}, {66.4, 27510.708951048953}, {66.6, 
    27720.160139860138}, {66.8, 27922.566853146855}, {67, 
    28118.26083916084}, {67.2, 28307.706083916084}, {67.4, 
    28494.77258741259}, {67.6, 28679.58657342657}, {67.8, 
    28860.11972027972}, {68, 29039.42153846154}, {68.2, 
    29210.7306993007}, {68.4, 29366.41545454545}, {68.6, 
    29502.546223776226}, {68.8, 29629.67433566434}, {69, 
    29744.836363636365}, {69.2, 29836.08020979021}, {69.4, 
    29898.33790209791}, {69.6, 29933.56769230769}, {69.8, 
    29959.04762237762}, {70, 29975.020909090912}, {70.2, 
    29991.388531468532}, {70.4, 30006.784055944052}, {70.6, 
    30018.964685314684}, {70.8, 30026.687132867133}, {71, 
    30047.393426573428}, {71.2, 30084.82174825175}, {71.4, 
    30135.9965034965}, {71.6, 30182.328111888113}, {71.8, 
    30225.142167832168}, {72, 30268.663566433566}, {72.2, 
    30319.640629370628}, {72.4, 30372.744545454545}, {72.6, 
    30427.39160839161}, {72.8, 30477.89188811188}, {73, 
    30521.84727272727}, {73.2, 30553.777762237765}, {73.4, 
    30573.294825174824}, {73.6, 30571.749790209793}, {73.8, 
    30562.458741258743}, {74, 30552.884825174824}, {74.2, 
    30553.355174825174}, {74.4, 30564.295454545452}, {74.6, 
    30576.382587412594}, {74.8, 30594.90377622378}, {75, 
    30610.827692307692}, {75.2, 30633.06699300699}, {75.4, 
    30653.350000000002}, {75.6, 30666.33594405594}, {75.8, 
    30668.923426573427}, {76, 30668.75461538462}, {76.2, 
    30670.575314685306}, {76.4, 30670.93328671329}, {76.6, 
    30667.266083916085}, {76.8, 30663.819300699302}, {77, 
    30647.977062937065}, {77.2, 30618.72202797203}, {77.4, 
    30565.47013986014}, {77.6, 30508.620349650355}, {77.8, 
    30455.27230769231}, {78, 30410.724055944054}, {78.2, 
    30383.247272727276}, {78.4, 30363.072377622375}, {78.6, 
    30355.305034965033}, {78.8, 30342.20923076923}, {79, 
    30340.65146853147}, {79.2, 30337.188811188807}, {79.4, 
    30331.158181818184}, {79.6, 30315.162097902103}, {79.8, 
    30295.13181818182}, {80, 30271.48195804196}, {80.2, 
    30250.13118881119}, {80.4, 30224.207062937065}, {80.6, 
    30201.98300699301}, {80.8, 30170.62013986014}, {81, 
    30157.62923076923}, {81.2, 30143.96188811189}, {81.4, 
    30141.00909090909}, {81.6, 30117.328741258738}, {81.8, 
    30092.859790209794}, {82, 30056.212097902095}, {82.2, 
    30011.19230769231}, {82.4, 29951.637552447555}, {82.6, 
    29881.86965034965}, {82.8, 29809.408811188812}, {83, 
    29743.92013986014}, {83.2, 29687.225244755246}, {83.4, 
    29650.274545454547}, {83.6, 29609.51027972028}, {83.8, 
    29570.36111888112}, {84, 29528.284685314688}, {84.2, 
    29495.74104895105}, {84.4, 29464.83104895105}, {84.6, 
    29432.034545454546}, {84.8, 29397.90867132867}, {85, 
    29359.92979020979}, {85.2, 29328.5486013986}, {85.4, 
    29309.78937062937}, {85.6, 29295.625034965036}, {85.8, 
    29279.513916083917}, {86, 29255.218671328672}, {86.2, 
    29234.38566433567}, {86.4, 29227.73384615385}, {86.6, 
    29216.327202797198}, {86.8, 29201.22685314685}, {87, 
    29162.052937062937}, {87.2, 29113.863776223774}, {87.4, 
    29051.34391608391}, {87.6, 28988.94237762238}, {87.8, 
    28926.36160839161}, {88, 28856.33132867133}, {88.2, 
    28782.890699300704}, {88.4, 28712.760769230772}, {88.6, 
    28660.5920979021}, {88.8, 28620.868461538463}, {89, 
    28583.4386013986}, {89.2, 28546.60818181818}, {89.4, 
    28502.005384615386}, {89.6, 28462.87916083916}, {89.8, 
    28422.843076923076}, {90, 28389.142517482516}, {90.2, 
    28339.938461538462}, {90.4, 28275.94958041958}, {90.6, 
    28203.151538461538}, {90.8, 28132.62300699301}, {91, 
    28069.04839160839}, {91.2, 27992.026083916087}, {91.4, 
    27914.222797202798}, {91.6, 27834.239160839163}, {91.8, 
    27766.07118881119}, {92, 27716.52062937063}, {92.2, 
    27679.7613986014}, {92.4, 27652.8013986014}, {92.6, 
    27618.464055944052}, {92.8, 27588.78923076923}, {93, 
    27574.388531468536}, {93.2, 27566.27888111888}, {93.4, 
    27547.25811188811}, {93.6, 27502.117692307693}, {93.8, 
    27444.676573426572}};

ramp1FSmoothFunc[1] = Interpolation[ramp1FCelsiusXRFUSmooth[1]]


ClearAll[helixMidPoint, helixLineLength, helixLowPoint, \
helixLowPointRFU, helixHighPoint, helixHighPointRFU]
ClearAll[coilMidPoint, coilLineLength, coilLowPoint, coilLowPointRFU, \
coilHighPoint, coilHighPointRFU]
ramp1FCelsiusXRFUSmooth[1];
helixLowBarrier = 10;
helixHighBarrier = 40;
coilLowBarrier = 60;
coilHighBarrier = 90;

{Slider[Dynamic[helixMidPoint], {helixLowBarrier, helixHighBarrier}], 
 Dynamic[helixMidPoint], 
 Dynamic[helixMidPointRFU = ramp1FSmoothFunc[1][helixMidPoint]], 
 Slider[Dynamic[helixLineLength], {5, 25}], Dynamic[helixLineLength]}

{Slider[Dynamic[coilMidPoint], {coilLowBarrier, coilHighBarrier}], 
 Dynamic[coilMidPoint], 
 Dynamic[coilMidPointRFU = ramp1FSmoothFunc[1][coilMidPoint]], 
 Slider[Dynamic[coilLineLength], {5, 25}], Dynamic[coilLineLength]}

Dynamic[{ListPlot[{ramp1FCelsiusXRFUSmooth[
     1], {{helixLowPoint, helixLowPointRFU}}, {{helixHighPoint, 
      helixHighPointRFU}}, {{coilLowPoint, 
      coilLowPointRFU}}, {{coilHighPoint, coilHighPointRFU}}}, 
   ImageSize -> Medium, 
   PlotStyle -> {PointSize[Small], PointSize[Large], PointSize[Large],
      PointSize[Large], PointSize[Large]}],

  Grid[{{, "temperature (C)", "Interpolated RFU"}, {"helix low point",
      Dynamic[helixLowPoint = helixMidPoint - helixLineLength/2], 
     Dynamic[helixLowPointRFU = 
       ramp1FSmoothFunc[1][helixLowPoint]]}, {"helix high point", 
     Dynamic[helixHighPoint = helixMidPoint + helixLineLength/2], 
     Dynamic[helixHighPointRFU = 
       ramp1FSmoothFunc[1][
        helixHighPoint]]}, {, ,}, {"coil low point", 
     Dynamic[coilLowPoint = coilMidPoint - coilLineLength/2], 
     Dynamic[coilLowPointRFU = 
       ramp1FSmoothFunc[1][coilLowPoint]]}, {"coil high point", 
     Dynamic[coilHighPoint = coilMidPoint + coilLineLength/2], 
     Dynamic[coilHighPointRFU = ramp1FSmoothFunc[1][coilHighPoint]]}},
    Frame -> All]}]

Dynamic[ramp1FBaseLinesTEST = 
  Plot[{ramp1FHelixLinFitEqTEST[temp], 
    ramp1FCoilLinFitEqTEST[temp]}, {temp, 1, 100}]]




Dynamic[ramp1FHelixTEST = 
  Select[ramp1FCelsiusXRFUSmooth[1], 
   helixLowPoint <= #[[1]] <= helixHighPoint &]]

Dynamic[ramp1FHCoilTEST = 
  Select[ramp1FCelsiusXRFUSmooth[1], 
   coilLowPoint <= #[[1]] <= coilHighPoint &]]

Dynamic[ramp1FHelixLinFitTEST = 
  Fit[ramp1FHelixTEST, {1, temp}, temp]]
Dynamic[ramp1FHelixLinFitEqTEST[temp_] = ramp1FHelixLinFitTEST]
Dynamic[ramp1FCoilLinFitTEST = Fit[ramp1FHCoilTEST, {1, temp}, temp]]
Dynamic[ramp1FCoilLinFitEqTEST[temp_] = ramp1FCoilLinFitTEST]
$\endgroup$
8
  • $\begingroup$ any chance of giving a minimal example with no domain-specific jargon? $\endgroup$
    – acl
    Aug 2, 2012 at 20:52
  • $\begingroup$ Any specific reason not to choose Manipulate here? It will save you enormous amounts of effort. The behaviour of Dynamic that you note is by design and is documented. BTW: Welcome to Mathematica.SE! $\endgroup$ Aug 2, 2012 at 21:34
  • $\begingroup$ @acl do you mean rephrase the question or replace the "ramp1FHelixLinFitTEST" (etc..) with "a" "b" "c"? The length of code is part of the problem, dynamic values that need updating are located off-screen. $\endgroup$
    – Kurtis
    Aug 2, 2012 at 21:51
  • 1
    $\begingroup$ @acl OK yea I will word my future posts in more general context. I was thrown off by the "provide background information on your research" suggestion at the new member welcome screen for posts. Newb! $\endgroup$
    – Kurtis
    Aug 2, 2012 at 22:01
  • 1
    $\begingroup$ Just a tip about pinging commenters: at least the first three letters of their name should follow the @ character. The owner of the post in question will get pinged as well. $\endgroup$ Aug 3, 2012 at 6:12

1 Answer 1

6
$\begingroup$

No time to explain the code, but this is more or less what you could do with Manipulate:

Mathematica graphics

The code (all the code, except for your data definition):

ramp1FSmoothFunc[1] = Interpolation[ramp1FCelsiusXRFUSmooth[1]];
{minB, maxB} = Through[{Min, Max}[ramp1FCelsiusXRFUSmooth[1][[All, 1]]]];
DynamicModule[
 {helixLowBarrier = 10,
  helixHighBarrier = 40,
  coilLowBarrier = 60,
  coilHighBarrier = 90,
  helixLowPoint, helixHighPoint, coilLowPoint, coilHighPoint, 
  coilHighPointRFU, coilLowPointRFU, helixHighPointRFU, 
  helixLowPointRFU,
  helixMidPointRFU, coilMidPointRFU, ramp1FHelixTEST, ramp1FHCoilTEST,
   ramp1FHelixLinFitTEST, ramp1FHelixLinFitEqTEST, 
  ramp1FCoilLinFitTEST, ramp1FCoilLinFitEqTEST
  },
 Manipulate[
  helixLowPoint = Clip [helixMidPoint - helixLineLength/2, {minB, maxB}];
  helixHighPoint = Clip[helixMidPoint + helixLineLength/2, {minB, maxB}];
  coilLowPoint = Clip[coilMidPoint - coilLineLength/2, {minB, maxB}];
  coilHighPoint = Clip[coilMidPoint + coilLineLength/2, {minB, maxB}];
  coilHighPointRFU = ramp1FSmoothFunc[1][coilHighPoint];
  coilLowPointRFU = ramp1FSmoothFunc[1][coilLowPoint];
  helixHighPointRFU = ramp1FSmoothFunc[1][helixHighPoint];
  helixLowPointRFU = ramp1FSmoothFunc[1][helixLowPoint];
  helixMidPointRFU = ramp1FSmoothFunc[1][helixMidPoint];
  coilMidPointRFU = ramp1FSmoothFunc[1][coilMidPoint];
  ramp1FHelixTEST = 
    Select[ramp1FCelsiusXRFUSmooth[1], helixLowPoint <= #[[1]] <= helixHighPoint &];
  ramp1FHCoilTEST = 
   Select[ramp1FCelsiusXRFUSmooth[1], coilLowPoint <= #[[1]] <= coilHighPoint &];
  ramp1FHelixLinFitTEST = Fit[ramp1FHelixTEST, {1, temp}, temp];
  ramp1FHelixLinFitEqTEST[temp_] = ramp1FHelixLinFitTEST;
  ramp1FCoilLinFitTEST = Fit[ramp1FHCoilTEST, {1, temp}, temp];
  ramp1FCoilLinFitEqTEST[temp_] = ramp1FCoilLinFitTEST;
  Column[
   {
    Show[
     ListPlot[{ramp1FCelsiusXRFUSmooth[1], 
               {{helixLowPoint, helixLowPointRFU}}, 
               {{helixHighPoint,helixHighPointRFU}}, 
               {{coilLowPoint, coilLowPointRFU}}, 
               {{coilHighPoint, coilHighPointRFU}}
              }, 
      ImageSize -> Medium, 
      PlotStyle -> 
        {PointSize[Small], PointSize[Large], PointSize[Large], 
         PointSize[Large], PointSize[Large]}
     ],
     Plot[{ramp1FHelixLinFitEqTEST[temp], 
       ramp1FCoilLinFitEqTEST[temp]}, {temp, 1, 100}]
     ],
    Grid[
     {
       {"", "temperature (C)", "Interpolated RFU"},
       {"helix low point", helixLowPoint, helixLowPointRFU},
       {"helix high point", helixHighPoint, helixHighPointRFU},
       {"", "" , ""},
       {"coil low point", coilLowPoint, coilLowPointRFU},
       {"coil high point", coilHighPoint, coilHighPointRFU}
       } // N, Frame -> All
     ]
    }],
  {helixMidPoint, helixLowBarrier, helixHighBarrier, Appearance -> "Labeled"},
  {helixLineLength, 5, 25, Appearance -> "Labeled"},
  {coilMidPoint, coilLowBarrier, coilHighBarrier, Appearance -> "Labeled"},
  {coilLineLength, 5, 25, Appearance -> "Labeled"},
  TrackedSymbols -> {helixMidPoint, helixLineLength, coilMidPoint, coilLineLength}
  ]
 ]
$\endgroup$
1
  • 1
    $\begingroup$ Wow, that is a perfect! In addition to your lesson on Manipulate there are other things you've pointed out (Show inside Manipulate, Clip instead of Select, Through instead of Part to get high/low values,setting up Dynamic Module). Thank you greatly SCdV, very appreciative... I'll read the man on these new functions. Cheers. $\endgroup$
    – Kurtis
    Aug 2, 2012 at 23:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.