data = {{0, 23.734`}, {π/18, 33.469`}, {π/9, 37.531`}, {π/6, 32.75`}, {(2 π)/9, 19.719`}, {(5 π)/18, 12.812`}, {π/3, 12.156`}, {(7 π)/18, 19.375`}, {(4 π)/9, 28.281`}, {π/2, 27.719`}, {(5 π)/9, 20.422`}, {(11 π)/18, 14.109`}, {(2 π)/3, 8.016`}, {(13 π)/18, 9.531`}, {(7 π)/9, 13.375`}, {(5 π)/6, 12.547`}, {(8 π)/9, 13.656`}, {(17 π)/18, 15.984`}, {π, 23.453`}, {(19 π)/18, 35.172`}, {(10 π)/9, 38.078`}, {(7 π)/6, 32.094`}, {(11 π)/9, 19.734`}, {(23 π)/18, 13}, {(4 π)/3, 12.641`}, {(25 π)/18, 17.656`}, {(13 π)/9, 21.484`}, {(3 π)/2, 23.547`}, {(14 π)/9, 17.141`}, {(29 π)/18, 9.359`}, {(5 π)/3, 10.156`}, {(31 π)/18, 9.078`}, {(16 π)/9, 10.828`}, {(11 π)/6, 11.906`}, {(17 π)/9, 11.625`}, {(35 π)/18, 15.938`}, {2 π, 24.75`}}; I am trying to fit this data but could not get a good fit. Here is my try:
nlm1 = NonlinearModelFit[ data, a Sin[ t + ϕ]^2 + b Cos[c t + ϕ], {a, ϕ, b, c}, t ]; mpb1 = Table[ Flatten[{t, nlm1["MeanPredictionBands"]}], {t, 0, 2 π, π/50} ]; Show[ ListPolarPlot[{data}, PlotStyle -> Red,Joined -> True, Mesh -> All, MeshStyle -> Black], PolarPlot[{nlm1[t]}, {t, 0, 2 π}] ] 




