یک برنامه پایتون بنویسید که با استفاده از سری تیلور مقدار cos(x) را برای هر عنصر یک آرایه از ورودی‌ها محاسبه کرده، آن را با numpy.cos مقایسه کند و خطای مطلق و زمان اجرا را گزارش دهد.

4.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:46

0.0

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

توسط پژوهشگر در 202 روز قبل ساعت 02:46
دسته بندی ها: Python Python for beginner
arman در 202 روز قبل ساعت 08:33

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

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری