# FindFit built-in symbol: error doesn't make sense

Posted 9 years ago
4782 Views
|
5 Replies
|
2 Total Likes
|
 Hello All,Below is the code I'm using in nb file:"In[35]:= mdl =  R1 (1 - E^(-t/(R1 C1))) + R2 (1 - E^(-t/(R2 C2))) +   R3 (1 - E^(-t/(R3 C3))) + R4 (1 - E^(-t/(R4 C4))) - RT Out[35]= (1 - E^(-(t/(C1 R1)))) R1 + (1 - E^(-(t/(C2 R2)))) R2 + (1 -     E^(-(t/(C3 R3)))) R3 + (1 - E^(-(t/(C4 R4)))) R4 - RT In[37]:= RC = {R1, R2, R3, R4, C1, C2, C3, C4};In[39]:= var = {t, RT};In[41]:= SiCdataOut[41]= {{{1.01307*10^-6, 0.0879593}, {2.15234*10^-6,    0.0878413}, {3.44712*10^-6, 0.0877677}, {5.69728*10^-6,    0.089873}, {0.0000103479, 0.0966533}, {0.0000165751,    0.101442}, {0.0000274007, 0.111831}, {0.0000399447,    0.117391}, {0.0000564393, 0.129449}, {0.0000797453,    0.142746}, {0.00010581, 0.153601}, {0.000144912,    0.182361}, {0.000192317, 0.211257}, {0.000247322,    0.238798}, {0.0002987, 0.26996}, {0.000372205,    0.290521}, {0.000478729, 0.344956}, {0.000635334,    0.399615}, {0.000791905, 0.474518}, {0.00111891,    0.523259}, {0.00139456, 0.606239}, {0.00179342,    0.685274}, {0.00223507, 0.774655}, {0.00325897,    0.87545}, {0.00446271, 0.989471}, {0.0061115,    1.14619}, {0.00810842, 1.20338}, {0.0121984, 1.29461}, {0.0167028,    1.42766}, {0.024351, 1.53597}, {0.0402465, 1.57282}, {0.0686447,    1.65056}, {0.100056, 1.64945}, {0.155293, 1.64816}, {0.256644,    1.64669}, {0.496278, 1.68571}, {0.746443, 1.68449}, {1.12279,    1.72519}, {1.44341, 1.72441}, {1.97584, 1.72345}}}In[43]:= fit = FindFit[SiCdata, mdl, RC, var];And below is the errorDuring evaluation of In[43]:= FindFit::fitd: First argument {{{1.01307*10^-6,0.0879593},{2.15234*10^-6,0.0878413},{3.44712*10^-6,0.0877677},{5.69728*10^-6,0.089873},{0.0000103479,0.0966533},{0.0000165751,0.101442},{0.0000274007,0.111831},{0.0000399447,0.117391},{0.0000564393,0.129449},{0.0000797453,0.142746},{0.00010581,0.153601},{0.000144912,0.182361},<<16>>,{0.0167028,1.42766},{0.024351,1.53597},{0.0402465,1.57282},{0.0686447,1.65056},{0.100056,1.64945},{0.155293,1.64816},{0.256644,1.64669},{0.496278,1.68571},{0.746443,1.68449},{1.12279,1.72519},{1.44341,1.72441},{1.97584,1.72345}}} in FindFit is not a list or a rectangular array. >>During evaluation of In[43]:= FindFit::fitd: First argument {{{1.01307*10^-6,0.0879593},{2.15234*10^-6,0.0878413},{3.44712*10^-6,0.0877677},{5.69728*10^-6,0.089873},{0.0000103479,0.0966533},{0.0000165751,0.101442},{0.0000274007,0.111831},{0.0000399447,0.117391},{0.0000564393,0.129449},{0.0000797453,0.142746},{0.00010581,0.153601},{0.000144912,0.182361},<<16>>,{0.0167028,1.42766},{0.024351,1.53597},{0.0402465,1.57282},{0.0686447,1.65056},{0.100056,1.64945},{0.155293,1.64816},{0.256644,1.64669},{0.496278,1.68571},{0.746443,1.68449},{1.12279,1.72519},{1.44341,1.72441},{1.97584,1.72345}}} in FindFit is not a list or a rectangular array. >>It's definitely an array but why it's throwing problem.Please help!!
5 Replies
Sort By:
Posted 9 years ago
 In[1]:= mdl = R1(1-E^(-t/(R1 C1)))+R2(1-E^(-t/(R2 C2)))+R3(1-E^(-t/(R3 C3)))+R4(1-E^(-t/(R4 C4)));  RC = {R1, R2, R3, R4, C1, C2, C3, C4};  var = {t}; SiCdata = {{1.01307*10^-6, 0.0879593}, {2.15234*10^-6, 0.0878413}, {3.44712*10^-6, 0.0877677},  {5.69728*10^-6, 0.089873}, {0.0000103479, 0.0966533}, {0.0000165751, 0.101442},  {0.0000274007, 0.111831}, {0.0000399447, 0.117391}, {0.0000564393, 0.129449},  {0.0000797453, 0.142746}, {0.00010581, 0.153601}, {0.000144912, 0.182361},  {0.000192317, 0.211257}, {0.000247322, 0.238798}, {0.0002987, 0.26996},  {0.000372205, 0.290521}, {0.000478729, 0.344956}, {0.000635334, 0.399615}, {0.000791905, 0.474518}, {0.00111891, 0.523259}, {0.00139456, 0.606239}, {0.00179342, 0.685274}, {0.00223507, 0.774655}, {0.00325897, 0.87545}, {0.00446271, 0.989471}, {0.0061115, 1.14619}, {0.00810842, 1.20338}, {0.0121984, 1.29461}, {0.0167028, 1.42766}, {0.024351, 1.53597}, {0.0402465, 1.57282}, {0.0686447, 1.65056}, {0.100056, 1.64945}, {0.155293, 1.64816}, {0.256644, 1.64669}, {0.496278, 1.68571}, {0.746443, 1.68449}, {1.12279, 1.72519}, {1.44341, 1.72441}, {1.97584, 1.72345}}; {R1,R2,R3,R4,C1,C2,C3,C4}={R1,R2,R3,R4,C1,C2,C3,C4}/.FindFit[SiCdata, mdl, RC, var]Out[4]= {0.113212, 0.607843, 0.915153, 0.097722, 5.76688, 0.00204947, 0.011857, 5.09314*10^-6}In[5]:= Show[ListPlot[SiCdata, PlotRange -> All], Plot[mdl, {t, 0, 2}, PlotRange -> {{0, 2}, {0, 1.75}}]]Out[5]= ...PlotSnipped...Make small changes one at a time and verify that it still works after each change as you try to get it to be what you need it to be.
Posted 9 years ago
 Thanks Bill! It seems to be working! I'll ask any question on this same page if i get stuck.For time being, consider this to be resolved. Thanks Bill and Illlian! You've been so helpful!
Posted 9 years ago
 The data may be an array, but it is not a rectangular array -- there is an extra level of List.Furthermore, if there are two variables, then the data should be a list of triples.
Posted 9 years ago