یک برنامه پایتون بنویسید که با استفاده از سری تیلور مقدار cos(x) را برای هر عنصر یک آرایه از ورودیها محاسبه کرده، آن را با numpy.cos مقایسه کند و خطای مطلق و زمان اجرا را گزارش دهد.
4.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:46 0.0
برای حل، ابتدا xها را به بازهای مثل [-π, π] نرمالسازی کنید تا همگرایی سری بهتر شود، سپس برای هر مقدار جملههای سری تیلور cos را تا زمانی که قدر مطلق جمله کمتر از یک آستانه (مثلاً 1e-8) شود جمع کنید (برای کارایی از ضرب درونی برای محاسبه جمله بعدی استفاده کنید به جای محاسبه فاکتوریل جداگانه). برای مقایسه و سرعت، از numpy.array و numpy.cos برای محاسبه مرجع و از time.perf_counter برای اندازهگیری زمان استفاده کنید؛ در صورت نیاز محاسبه تیلور را با np.vectorize یا روشهای برداری شبیهسازی کنید تا عملکرد بهتری در آرایههای بزرگ داشته باشید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نرمالسازی xها به بازه [-π, π] برای بهبود همگرایی سری تیلور cos توصیه میشود و جمع جملهها تا قدر مطلق آنها کمتر از 1e-8 ادامه یابد. برای کارایی از بهروزرسانی بازگشتی با ضرب داخلی استفاده کنید تا جمله بعدی از جمله قبلی محاسبه شود و فاکتوریل جداگانه نیاز نباشد. در آرایههای بزرگ از عملیات برداری numpy استفاده کنید تا سرعت بهتری بدست آید و از np.vectorize پرهیز کنید. برای ارزیابی، خطای مطلق را با numpy.abs(approx - numpy.cos(x)) گزارش دهید و زمان اجرا را با time.perf_counter اندازهگیری کنید.
گزارش