آموزش متلبتکنولوژی

روش نیوتن رافسون در متلب (آموزش کامل)

هدف این جلسه استفاده از یک مثال اساسی برای نشان دادن نحوه استفاده از روش نیوتن رافسون در متلب است. ما از حل کننده ode45 استفاده می کنیم و از شرایط مرزی در مثال زیر استفاده می کنیم.

نیوتن رافسون در متلب

با شرایط مرزی

Newton-Raphson-method-matlab1

برای یادگیری آردوینو (برنامه نویسی، ساخت ربات، ارتباط با اندروید) روی دوره آموزش آردوینو کلیک کنید.
برای یادگیری کامل الکترونیک روی دوره آموزش الکترونیک کلیک کنید.

مراحلی که برای روش نیوتن رافسون در متلب باید انجام دهیم در ادامه آورده شده است.

آموزش نیوتن رافسون در Matlab

کد زیر مشکل مقدار اولیه (IVP) را با استفاده از تابع ode45 حل می کند. از روش نیوتن رافسون در فرآیند تکرار برای نزدیک شدن به راه حل دقیق و در نهایت اتمام تکرار استفاده میشود.

در ابتدای مسئله ، ODE (معادله دیفرانسیل معمولی) را به مجموعه ای از معادلات مرتبه اول تقسیم می کنیم و از 1 بعنوان حدس اولیه برای y'(0) استفاده می کنیم.

آموزش نیوتن رافسون در Matlab

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

ua=0;
s(1)=1; %حدس اول
s(2)=1.1; %حدس دوم

tb=1;  %بار دوم
target_ub=0;  % هدف

f=@(t,y) [y(2); 1./(1+y(1))^2]; % set of 1st order ODE
rb=@(v) (v-target_ub)  % boundary conditions at b

[t,y]=ode45(f,[0 tb],[ua; s(1)]);
ub(1)=y(end,1);

for (j=2:50) % stop after 50 iteration even if the accuracy is not reached
[t,y]=ode45(f,[0 tb],[ua; s(j)]);
ub(j)=y(end,1);
if abs(rb(ub(j)))<0.001 % quit the for loop if accuracy reached
break
end
s(j+1)=s(j)-rb(ub(j))*(s(j)-s(j-1))/(rb(ub(j))-rb(ub(j-1)));
end

plot(t,y(:,1)) % رسم آخرین راه حل
xlabel('t')
ylabel('y')
grid on

نمودار ما میشود:

نمودار حل شده با روش نیوتن رافسون

برای مشاهده توضیحات روی دوره مورد نظر کلیک کنید.

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام آیرنکس را دنبال کنید.

تصویر از محمد رحیمی

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم. (در خصوص سوال در مورد این مطلب از قسمت نظرات همین مطلب اقدام کنید) سعی میکنم تمام نظرات را پاسخ دهم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *