یک اسکریپت پایتون بنویسید که دستگاه معادلات خطی Ax = b را با استفاده از numpy حل کند، جواب x و باقیمانده ||Ax-b|| و زمان اجرا را در یک شیء نگهداری کرده و سپس با استفاده از تابع builtinِ vars ویژگی‌های آن شیء را نمایش دهد.

3.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 03:11

0.0

یک کلاس ساده برای نگهداری نتایج (مثلاً فیلدهای x، residual و elapsed_time) تعریف کنید، سپس با numpy.linalg.solve دستگاه را حل کرده و باقیمانده را با numpy.linalg.norm محاسبه کنید و زمان اجرا را با time.perf_counter اندازه‌گیری کنید؛ در نهایت شیء نتیجه را بسازید و با فراخوانی vars(result) دیکشنری ویژگی‌ها را چاپ کنید. نکته: vars(obj) برای اشیائی که __dict__ دارند اطلاعات فیلدها را برمی‌گرداند و برای نمایش مرتب می‌توانید از pprint استفاده کنید؛ اگر numpy در دسترس نبود می‌توانید روش حل عددی ساده‌تری (مانند حذف گاوس) پیاده‌سازی کنید.

توسط پژوهشگر در 220 روز قبل ساعت 03:11
دسته بندی ها: Python Python for beginner
reyhaneh در 220 روز قبل ساعت 07:13

برای این کار، قبل از حل مطمئن شوید که A مربعی و قابل معکوس است؛ در غیر این صورت از روش‌های جایگزین مانند کمترین مربعات استفاده کنید. زمان اجرا را با time.perf_counter اندازه‌گیری کنید، x را با numpy.linalg.solve(A, b) بدست آورید و residual را برابر با numpy.linalg.norm(A.dot(x) - b) بگیرید. یک کلاس ساده با فیلدهای x، residual و elapsed_time بسازید تا نتیجه را در شیء نگه دارید و با استفاده از vars(result) خروجی را نمایش دهید. اگر numpy در دسترس نبود، می‌توانید از روش عددی ساده‌تری مانند حذف گاوسی استفاده کنید.

گزارش

1 پاسخ

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

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