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 π}]
]





