خدمات مشاوره مهندسی- اموزش و انجام پروژه شبیه سازی صنعتی دانشجویی

گروه مشاوره آموزشی - پژوهشی بنیان دانش توس ارائه مشاوره، آموزش و انجام پروژه های شبیه سازی صنعتی و دانشجویی

خدمات مشاوره مهندسی- اموزش و انجام پروژه شبیه سازی صنعتی دانشجویی

گروه مشاوره آموزشی - پژوهشی بنیان دانش توس ارائه مشاوره، آموزش و انجام پروژه های شبیه سازی صنعتی و دانشجویی

خدمات مشاوره مهندسی- اموزش و انجام پروژه شبیه سازی صنعتی دانشجویی

گروه پژوهشی - آموزشی بنیان دانش توس در اسفند 1390 با همکاری تعدادی از دانشجویان تحصیلات تکمیلی دانشگاه های معتبر تهران و مشهد شروع به کار کرد و توفیقات زیادی کسب نمود که به تدریج در وبلاگ بارگزاری خواهد شد. در همین راستا شاخه آموزشی گروه اقدام به راه اندازی سایت moomsan.blog.ir نمود تا ضمن ارائه آموزش های مجازی، به ارتقای خدمات گروه بپردازد. در این وبلاگ فعلا خدمات کدنویسی فرترن به مرور بارگذاری می شود. امید است مورد استفاده متخصصین بازدید کننده از سایت قرار گیرد.
آدرس: مشهد، بین سلمان فارسی 5 و 7 پلاک 48
راه های تماس با گروه :

Tel: +98 915 125 2688
Phone: +98 51 38477407

زمان پاسخگویی: 9 تا 13:30 و 16 تا 21
Telegram.me/moomsan
moomsan@gmail.com
ID: @moomsan

۲ مطلب با کلمه‌ی کلیدی «برنامه نویسی متلب» ثبت شده است

یافتن ریشه‌های یک معادله به روش نصف کردن (Bisection Method) در متلب

 

روش نصف کردن یکی از روش‌های عددی برای یافتن ریشه‌های معادلات غیرخطی است. این روش بر اساس اصل میانه‌گرا کار می‌کند و برای معادلاتی که در یک بازه مشخص تغییر علامت دارند، بسیار مؤثر است.

 

توضیحات روش

 

روش نصف کردن به این صورت عمل می‌کند:

 

1. دو نقطه  a  و  b  انتخاب می‌شوند که در آن‌ها تابع تغییر علامت دارد (یعنی  f(a) ⋅ f(b) < 0 ).

 

2. نقطه میانی  c = (a + b)/2  محاسبه می‌شود.

 

3. اگر(  f(c   نزدیک به صفر باشد، آنگاه  c  تقریباً ریشه است.

 

4. در غیر این صورت، یکی از بازه‌ها (یا  [a, c]  یا  [c, b] )  انتخاب می‌شود و مراحل تکرار می‌شوند تا زمانی که دقت مورد نظر حاصل شود.

 

کد متلب

در زیر کد متلب برای پیاده‌سازی روش نصف کردن آورده شده است:

 

function root = bisectionMethod(func, a, b, tol)

    % بررسی اینکه تابع در نقاط a و b تغییر علامت دارد

    if func(a) * func(b) >= 0

        error('تابع در نقاط a و b باید تغییر علامت داشته باشد.');

    end

 

    % شروع فرآیند نصف کردن

    while (b - a) / 2 > tol

        c = (a + b) / 2; % محاسبه نقطه میانی

        if func(c) == 0 % اگر c ریشه باشد

            break;

        elseif func(c) * func(a) < 0 % ریشه در نیمه اول

            b = c;

        else % ریشه در نیمه دوم

            a = c;

        end

    end

   

    root = (a + b) / 2; % برآورد نهایی ریشه

end

 

% مثال استفاده از تابع

f = @(x) x^3 - x - 2; % تعریف تابع

a = 1; % نقطه شروع a

b = 2; % نقطه شروع b

tol = 1e-6; % دقت مورد نظر

 

root = bisectionMethod(f, a, b, tol);

fprintf('ریشه معادله در بازه [%.2f, %.2f] برابر است با: %.6fn', a, b, root);

 

▎توضیحات کد:

 

1. تعریف تابع: تابع bisectionMethod به عنوان ورودی تابع ریاضی، دو نقطه  a  و  b ، و دقت مورد نظر  tol  را دریافت می‌کند.

 

2. بررسی تغییر علامت: ابتدا بررسی می‌شود که آیا تابع در نقاط  a  و  b  تغییر علامت دارد یا نه.

 

3. حلقه تکرار: حلقه تا زمانی که طول بازه بیشتر از دقت مورد نظر باشد، ادامه می‌یابد و نقطه میانی محاسبه می‌شود.

 

4. خروجی: در نهایت، ریشه تقریبی معادله بازگشت داده می‌شود.

 

در زیر تصاویری از فرآیند روش نصف کردن آورده شده است:

 

این تصاویر نشان‌دهنده مراحل مختلف روش نصف کردن است و چگونگی نزدیک شدن به ریشه را نمایش می‌دهد.

 

نتیجه‌گیری:

روش نصف کردن یک روش ساده و مؤثر برای یافتن ریشه‌های معادلات غیرخطی است. با استفاده از کد متلب ارائه شده، می‌توانید به راحتی ریشه‌های معادلات را محاسبه کنید. این روش به خصوص در مسائل مهندسی و علمی کاربردهای زیادی دارد.