مشاوره رایگان
دریافت لینک های دانلود دریافت پستی درب منزل مبلغ کل: تومان
جهت دریافت کد تخفیف به کانال تلگرام مراجعه و یا با پشتیبان آنلاین هماهنگ نمایید

آموزش متلب قسمت 23 : روش نیوتن رافسون


هدف از این تمرین این است که با یک مثال ابتدایی به شما نشان دهیم که چگونه از روش نیوتن رافسون در متلب استفاده کنید.

در مثال زیر از تابع ode45 , و شرایط مرزی استفاده می کنیم

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

با شرایط مرزی

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

که در اینجا ریشه بدست میاید

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

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

در این کد برای رسیدن به راه حل دقیق در فرایند تکرار از روش نیوتن رافسون استفاده می کنیم و سرانجام هنگامی که y(1) به سه رقم اعشار برسد فرایند تکرار را پایان میدهیم.

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

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

کد نویسی بصورت زیر است:

ua=0;
s(1)=1; %First guess for the derivative
s(2)=1.1; %second guess for the derivative

tb=1;  %Second time
target_ub=0;  % target

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)) % plot the last solution
xlabel('t')
ylabel('y')
grid on

نمودار بصورت زیر ترسیم میشود

تولید شده توسط کلیک سایت

پشتیبانی آنلاین
آماده پاسخگویی هستیم
انتخاب تصویر جهت ارسال:
در حال ضبط صدا

(جهت توقف و یا لغو ضبط از دکمه های زیر استفاده کنید)

توقف و ارسال :
لغو ضبط
در حال حاضر تمامی کارشناسان آفلاین هستند. همواره می توانید با شماره تلگرام / واتساپ 09010005000 به صورت آنلاین با ما در ارتباط باشید. جهت ورود به واتساپ کلیک کنید
0 پیام جدید
پشتیبان در حال تایپ ...
ارسال تصویر ضبط صدا
0 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید