আমি ডাবল-দুলের মতো সিস্টেমের ব্যবহার অনুকরণ করতে চাই। সিস্টেমটি হ'ল 2-ডিগ্রি অফ স্বাধীনতা রোবট ম্যানিপুলেটর যা কার্যকর হয় না এবং তাই, বেশিরভাগ মাধ্যাকর্ষণ দ্বারা প্রভাবিত ডাবল-দুলের মতো আচরণ করে। ডাবল-দুলের সাথে একমাত্র প্রধান পার্থক্য হ'ল এটি দুটি ভর এবং জড় বৈশিষ্ট্যগুলির সাথে তাদের ভর কেন্দ্রগুলিতে দুটি কঠোর সংস্থার সমন্বয়ে গঠিত।
মূলত, আমি ode45
নিম্নলিখিত ধরণের ওডিইডিগুলির একটি সিস্টেম সমাধানের জন্য মতলবের অধীনে প্রোগ্রাম করেছি :
যেখানে হ'ল অনুভূমিকের সাথে সম্মানযুক্ত প্রথম দেহের কোণ, হ'ল প্রথম দেহের কৌণিক বেগ; হ'ল প্রথম দেহের সম্মানের সাথে দ্বিতীয় দেহের কোণ এবং হ'ল দ্বিতীয় দেহের কৌণিক বেগ। সহগের সমস্তগুলি নীচের কোডে সুনির্দিষ্ট করা হয়েছে, আমি rhs
এবং fMass
তৈরি করা ফাংশনগুলিতে।
clear all
opts= odeset('Mass',@fMass,'MStateDependence','strong','MassSingular','no','OutputFcn',@odeplot);
sol = ode45(@(t,x) rhs(t,x),[0 5],[pi/2 0 0 0],opts);
function F=rhs(t,x)
m=[1 1];
l=0.5;
a=[0.25 0.25];
g=9.81;
c1=cos(x(1));
s2=sin(x(3));
c12=cos(x(1)+x(3));
n1=m(2)*a(2)*l;
V1=-n1*s2*x(4)^2-2*n1*s2*x(2)*x(4);
V2=n1*s2*x(2)^2;
G1=m(1)*a(1)*g*c1+m(2)*g*(l*c1+a(2)*c12);
G2=m(2)*g*a(2)*c12;
F(1)=x(2);
F(2)=-V1-G1;
F(3)=x(4);
F(4)=-V2-G2;
F=F';
end
function M=fMass(t,x)
m=[1 1];
l=0.5;
Izz=[0.11 0.11];
a=[0.25 0.25];
c2=cos(x(3));
n1=m(2)*a(2)*l;
M11=m(1)*a(1)^2+Izz(1)+m(2)*(a(2)^2+l^2)+2*n1*c2+Izz(2);
M12=m(2)*a(2)^2+n1*c2+Izz(2);
M22=m(2)*a(2)^2+Izz(2);
M=[1 0 0 0;0 M11 0 M12;0 0 1 0;0 M12 0 M22];
end
আমি কীভাবে এর প্রাথমিক শর্তটি নির্ধারণ করেছি (অনুভূমিকের সাথে সম্মানের সাথে প্রথম দেহের কোণ) যাতে সিস্টেমটি সম্পূর্ণ উল্লম্ব অবস্থানে শুরু হয়। এইভাবে, যেহেতু কেবলমাত্র মহাকর্ষই অভিনয় করছে, তাই এর সুস্পষ্ট পরিণতি হ'ল সিস্টেমটি সেই অবস্থান থেকে মোটেও চলবে না।
দ্রষ্টব্য: নীচের সমস্ত গ্রাফিকগুলিতে, আমি সময়ের সাথে সম্মত এবং সমাধান প্লট করেছি ।
ODE45
আমি যখন সিমুলেশনটি 6 সেকেন্ডের সাথে চালিত করি, তখন আমি ode45
কোনও সমস্যা ছাড়াই প্রত্যাশিত সমাধান পাই, সিস্টেমটি যেখানে রয়েছে সেখানেই রয়েছে এবং সরায় না:
যাইহোক, আমি যখন 10 সেকেন্ডের জন্য সিমুলেশনটি চালাই, সিস্টেমটি অযৌক্তিকভাবে চলতে শুরু করে:
ODE23
আমি তখন ode23
সমস্যাটি বজায় রয়েছে কিনা তা দেখতে সিমুলেশনটি চালিয়েছি। আমি একই আচরণের সাথে শেষ করছি, কেবলমাত্র এই সময়টির পরিবর্তন 1 সেকেন্ড পরে শুরু হবে:
ODE15s
আমি তখন ode15s
সমস্যাটি স্থির রেখেছি এবং না তা সিমুলেশনটি চালিয়েছি, 100 সেকেন্ডের মধ্যেও সিস্টেমটি স্থিতিশীল বলে মনে হচ্ছে:
ode15s
ode15s
MaxStep
ode45
ode23
সাধারণত, এই অনুকরণগুলির সুস্পষ্ট পরিণতিটি হ'ল সিস্টেমটি তার প্রাথমিক অবস্থানে থেকে যায় কারণ কোনও কিছুই এটিকে ঘৃণা করছে না। কেন এই বিচ্যুতি ঘটছে? এই ধরণের ব্যবস্থা প্রকৃতির বিশৃঙ্খলাযুক্ত হওয়ার সাথে কি এর কোনও যোগসূত্র রয়েছে? ode
মতলব-এ ফাংশনগুলির জন্য এটি কি সাধারণ আচরণ ?
x1
এবং x3
। (কিংবদন্তি বা বর্ণনা ছাড়াই গ্রাফ সম্পর্কে শুকনো মন্তব্য sertোকান)) (এর নিখুঁত মান) x2
এবং এর লগারিদমগুলি প্লট করার চেষ্টা করুন x4
।