پایتون‌کار

برنامه نویسی با مختصرترین کد دنیا

پایتون‌کار

روش‌های تکراری برای حل دستگاه معادلات خطی

در این برنامه‌ها، الگوریتم‌های روش‌های

  1. ژاکوبی
  2. گوس-سایدل

پیاده‌سازی شده است.

به صورت نمونه، ماتریس ضرایب A

[ 4.0   0.24  -0.08]
[0.09    3.0  -0.15]
[0.04  -0.08    4.0]

و ماتریس b 

[ 8.0]
[ 9.0]
[20.0]

و دقت جواب‌ها 

e = 10**(-3)

می‌باشد.

موافقین ۱ مخالفین ۰

حل عددی دستگاه معادلات غیر خطی

حالت خاص: روش نیوتن برای دو معادله و دو مجهول

به عنوان مثال در اینجا دو معادله‌ی زیر را داریم.

f(x, y) = x**2 + 2*x + y**2 - 8
g(x, y) = x**2 - 2*x*y - 4

دقت محاسبه‌ی جواب

ep = 10**(-6)

نقطه‌ی جواب با شروع از نقطه‌ی

x0 = 2 ; y0 = 4

معیار توقف

abs( yn[n] - yn[n-1] ) > ep
 می‌باشد. 
موافقین ۲ مخالفین ۰

الگوریتم نیوتن-رافسون

این برنامه برای الگوریتم نیوتن-رافسون، برای بدست آوردن ریشه‌ی تابع 

f(x) = 3**x - 1.39

در بازه‌ی

(.5,3)

و دقت محاسبه‌ی جواب 

ep = 10**(-4)

و معیار توقف

abs( c[n] - c[n-1] ) > ep     or    
abs( ( c[n] - c[n-1] ) / c[n] ) > ep     or    
abs( f( c[n] )  > ep

نوشته شده است.

۲ نظر موافقین ۱ مخالفین ۰

چندپردازشی

from multiprocessing import Pool

def f(x):
    return x ** 2

def main():
    xi = range(12)
    p = Pool(4)  #4 process. If use 'Pool()', Processes will be set automatically.
    fx = p.map(f, xi)
    print(fx)

if __name__ == '__main__':
    main()

البته کد فوق صرفاً مثالی برای معرفی کد چندپردازشی است؛ و ضمناً اجرای عادی مثال بالا از چندپردازشی سریعتر است.
زیرا فراخوانی توابع و برنامه‌های داخلی چندپردازشی خود زمان نسبتاً زیادی را خواهد گرفت. کاربرد چندپردازشی معمولاً در برنامه‌های طولانی و با متغیرهای زیاد است.
در مجموع برای استفاده از چندپردازشی توصیه می‌کنم در کارگاه‌هایی که در سطح دانشگاهی در کشور برگزار می‌شود، شرکت کنید. کلیدواژه‌ی اصلی این کارگاه‌ها High Performance Computing: HPC است.
۱ نظر موافقین ۲ مخالفین ۰

حل سؤالات اول تا سوم مسابقه ۴ آبان ۹۱ بیان

مسابقه‌ی خوبی بود و یک آزمایش نسبتاً متوسط به حساب می‌آمد(البته برای بنده)

۴ نظر موافقین ۳ مخالفین ۰

انتشار پایتون ۳.۳

حدود ۱۰ روز از انتشار پایتون ۳.۳ می گذرد...

برای مشاهده‌ی Release Note و دانلود آن روی لینک زیر کلیک کنید.

Python 3.3 Release Note

موافقین ۳ مخالفین ۰