سلام. مشکل شما در این است که به pgfplots نگفتید که cos را برحسب درجه حساب کند یا رادیان. لذا بصورت پیش فرض رادیان در نظر می گیرد و شکل شما را بهم می ریزد. در جستجوهایی که انجام دادم دو راه پیشنهاد شده بود. کد زیر:
\begin{tikzpicture}
\begin{axis}[unbounded coords=discard]
\addplot[My Line Style, color=blue, domain=0.000001:3](\x,{-sqrt(\x)*cos(2*ln(\x) r)});
\end{axis}
\end{tikzpicture}
همانطور که می بینید در این کد تنها r را به انتهای ارگومان داخل cos اضافه کرده ام.
یا کد زیر:
\begin{tikzpicture}
\begin{axis}[unbounded coords=discard]
\addplot[My Line Style, color=blue, domain=0.000001:3](\x,{-sqrt(\x)*cos(deg(2*ln(\x)))});
\end{axis}
\end{tikzpicture}
فرق این کد هم در این است که با اضافه کردن deg به داخل ارگومان cos به pgfplots فهماندم که ارگومان را برحسب درجه محاسبه کند.
نکته آخر اینکه، چون تابع شما در صفر قابل رسم نیست، من در هر دو کد بالا مقدار ابتدای domain را کوچک کرده ام (0.000001) تا بهتر رسم شود.
خروجی دو کد بالا:
توصیه می کنم اگر با توابع ریاضی زیاد سر و کار دارید. نرم افزار GeoGebra را نصب کنید. در این نرم افزار به راحتی هر تابعی را می توان رسم کرد. اما خوبی اصلی این نرم افزار اینجاست که می توانید از آن خروجی لاتکش را هم بگیرید. در این صورت می توانید ببینید چه چیزی را در رسم تابع اشتباه کرده اید. البته خروجی آن کمی شلوغ است، اما بسیار کمک کننده است.
برای مشکل شما همین کار را کردم. راه حل ارائه شده بود جالب بود و بسیار آسان بود. تنها آرگومان cos را در تقسیم 180 بر عدد پی ضرب کرده بود. به صورت زیر (این هم راه حل سوم!):
\addplot[My Line Style, color=blue, domain=0.00001:3](\x,{-sqrt(\x)*cos(2*ln(\x)*180/pi)});