با استفاده از itertools.count و مفاهیم برنامهنویسی تابعی (map و lambda)، یک مولد بسازید که نقاط x را با گام h تولید کند و مشتق عددی تقریبی تابع f(x)=sin(x) را برای n نقطه اول محاسبه و برگرداند.
1.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:17 0.0
برای حل، از itertools.count(start, step) برای تولید بینهایت مقادیر x با گام h استفاده کنید و با itertools.islice تعداد n نقطه را محدود کنید؛ سپس با map و یک lambda تابع مشتق عددی پیشرو (f(x+h)-f(x))/h را برای هر x محاسبه کنید. از ماژول math برای sin استفاده کنید، خروجیها را در یک لیست بریزید یا چاپ کنید و برای جلوگیری از حلقهی نامتناهی حتماً islice را به کار ببرید — این روش ترکیبی ساده برای کاربردهای محاسبات عددی و اسکریپتنویسی خودکار مناسب است.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
این رویکرد با itertools.count برای تولید xهای با گام h و استفاده از islice برای محدود کردن به n مقدار، ترکیبی ساده و کارآمد است. با map و lambda مشتق عددی f(x)=sin(x) را به صورت (sin(x+h)-sin(x))/h محاسبه میکند، و نیازی به تعریف تابع مشتق ندارد. اندازه h را به گونهای انتخاب کنید که تفاضل دو مقدار در سین تابع دچار خطای اعشار نشود؛ اگر h خیلی کوچک باشد نویز محاسباتی زیاد میشود و اگر خیلی بزرگ باشد دقت تقریب کاهش مییابد. خروجیها را میتوان بهصورت لیست جمعآوری کرد یا مستقیماً چاپ نمود تا با همان جریان اسکریپتنویسی ساده بماند.
گزارش