حل معادلات دیفرانسیل معمولی در متلب
- نوسانگر هارمونیک ساده
با این توضیحات میتوانیم به حل یک مسئله استاندارد یعنی معادله حرکت نوسانگر هارمونیک بپردازیم. جسمی با جرم معین متصل به فنر تحت تاثیر نیروی بازگردانده در یک بعد حرکت نوسانی انجام می دهد با صرفنظر از نیروهای اتلافی (این مورد در روش رانگ کوتا بررسی می شود) معادله حرکت بشکل زیر است :
با تغییر متغیر v=dx/dt جفت روابط زیر خواهیم داشت،
و بنابراین روابط تکرار مطابق مثال قبلی بدست می آیند،
اگر فرض کنیم که نوسانگر در لحظه t=0 بیشترین فاصله از نقطه تعادل را دارد می توانیم شرایط اولیه زیر را در نظر بگیریم،
برنامه زیر (Oscilator1) معادله نوسانگر هارمونیک ساده را به روش اویلر حل می کند. نمودارها x و v برحسب زمان رسم میشوند و در پایان حرکت واقعی نوسانگر نیز بصورت انیمیشن نمایش داده میشود.
function Oscilator1
% simple harmonic Oscilator- Euler’s method
% by saeed babanezhad – solid state physics
close all
k=1;
m=1;
w=sqrt(k/m);
h=.1; % time step
t0=0; % initial time
tf=20; % final time
t=t0:h:tf; % time interval
N=length(t);
x=zeros(1,N); % specify size of x matrix
v=zeros(1,N); % specify size of v matrix
x(1)=1; % initial condition for position
v(1)=0; % initial condition for speed
for i=1:N-1
x(i+1)=x(i)+h*v(i);
v(i+1)=v(i)-h*w^2*x(i);
end
figure(1)
subplot(3,1,1)
plot(t,x)
ylabel(‘x’)
subplot(3,1,2)
plot(t,v)
ylabel(‘y’)
% animation
subplot(3,1,3)
% difine spring
spring=line(‘lineStyle’,’none’,’Marker’,’d’,…
‘MarkerSize’,15,’Color’,’b’,’Xdata’,[],’ydata’,[]);
% difine body
body=line(‘Marker’,’s’,’MarkerSize’,30,…
‘MarkerFaceColor’,’r’,’xdata’,[],’ydata’,[]);
xlim([min(x) max(x)])
for i=1:N
set(body,’XData’,x(i),’YData’,0)
set(spring,’XData’,linspace(min(x),x(i),20)…
,’YData’,zeros(1,20))
drawnow
end
در مقابل سادگی روش اویلر خطای آن نسبت به سایر روشها بیشتر است ( از مرتبه 2).
مقاله متلب,مطلب,متلب,مقاله برق,مقاله قدرت,مقاله مطلب,مقاله سیمولینک,دانلود متلب,دانلود مقاله متلب,مقالهmatlab ,آموزش متلب,مطلب,متلب,آموزش برق,آموزش قدرت,آموزش مطلب,آموزش سیمولینک,دانلود متلب,دانلود آموزش متلب,آموزشmatlab ,پروژه متلب,مطلب,متلب,پروژه برق,پروژه قدرت,پروژه مطلب,پروژه سیمولینک,دانلود متلب,دانلود پروژه متلب,پروژهmatlab ,