龙格库塔求解二阶微分方程组的MATLAB编程 用MATLAB按二阶龙格库塔法求解微分方程组,大神速来,急急...

\u7528matlab\u7f16\u7a0b\u5b9e\u73b0\u56db\u9636\u9f99\u683c\u5e93\u5854\u89e3\u4e8c\u5143\u4e8c\u9636\u5fae\u5206\u65b9\u7a0b\u7ec4

\u6c42\u89e3\u4e8c\u9636\u5fae\u5206\u65b9\u7a0b\uff0c\u521d\u59cb\u6761\u4ef6\u8fd8\u9700\u8981\u7ed9\u51fay1'(0)\u548cy2'(0)\u3002\u8fd9\u91cc\u6682\u65f6\u6309\u71670\u5904\u7406\u3002

function zd530003514
a=0.1;
b=0.1;
Y0 = [b-1; 0; b; 0];

% \u89e3\u65b9\u7a0b
[t,Y]= ode45(@ode,[0 10],Y0);
y1=Y(:,1);
y2=Y(:,3);

% \u7ed8\u56fe
subplot 211
plot(t,y1);
subplot 212
plot(t,y2);

% \u5fae\u5206\u65b9\u7a0b\u5b9a\u4e49
function dY = ode(t, Y)
L1=5;
L2=0.01;
a0=2;
b0=2;
c0=2;

y1=Y(1);y2=Y(3);
dY = [
Y(2);
-(a0*y2+b0*y2^2+c0*y2^3) - L1^2*L2*y1 - L1^2*y1;
Y(4);
-(a0*y2+b0*y2^2+c0*y2^3) - L1^2*L2*y1;
];


ode45\u7684\u5e2e\u52a9 \u4f8b\u5b50\u90a3\u91cc\u6709\u4e00\u9636\u5e38\u65b9\u7a0b\u7ec4\u7684\u6c42\u89e3\u65b9\u6cd5


\u4f60\u53ef\u4ee5\u628a\u4e0a\u9762\u7684\u65b9\u7a0b\u7ec4\u6539\u5199\u6210\u4e00\u9636\u5e38\u65b9\u7a0b\u7ec4
\u4ee4x1=x
x2=dx1/dt
x3=dx2/dt

y1=y
y2=dy1/dt
y3=dy2/dt

x3=-u*x1/r3
y3=-u*y1/r3

z\u7c7b\u4f3c

MATLAB求解x''+0.7x'+0.8x'|x'|+25.6x-25.6x³=0二阶微分方程组的方法,可以按下列步骤进行:
1、建立自定义函数func()
function f = func(t,x)
%x''+0.7x'+0.8x'|x'|+25.6x-25.6x³=0
f(1)=x(2);
f(2)=25.6*x(1)^3-25.6*x(1)-0.8*x(2)*abs(x(2))-0.7*x(2);
f=f(:);
2、建立龙格库塔算法函数runge_kutta()
调用格式:[t,x] = runge_kutta(@(t,x)func(t,x),x0,h,a,b);
3、然后根据x和x'数据,绘制出x(t)、x′(t)的图形。
plot(x(:,1),x(:,2))

  • matlab 鎬庢牱鐢榫欐牸搴撳娉姹備簩闃跺井鍒嗘柟绋
    绛旓細涓嬭浇鏂囦欢锛歴cript1.m|鍒濆艰纭畾 鍋囪a=b=c=d=1;缁撴灉涓猴細
  • mathematic鐢榫欐牸搴撳娉曡В浜岄樁鏂圭▼
    绛旓細鈥︹︽墍璋榫欐牸搴撳娉曪紝閫氫織鍦拌锛屽氨鏄妸涓涓猲闃剁殑甯稿井鍒嗘柟绋嬶紝鏁寸悊鎴恘涓舰濡 f'(t)=g(t,f(t)) 锛堟敞鎰忔鏃跺彸渚т笉鍚 f(t) 鐨勫鏁帮級鐨勪竴闃跺父寰垎鏂圭▼缁鍐嶅姞浠姹傝В鐨鏂规硶銆備綘鐨勬柟绋嬫暣鐞嗘垚榫欐牸搴撳鎵闇瑕佺殑褰㈠紡灏辨槸锛歺'[t] = y[t]y'[t] = (-c y[t] - k x[t] - F[t])/m ...
  • 榫欐牸搴撳姹傝В浜岄樁寰垎鏂圭▼缁勭殑MATLAB缂栫▼
    绛旓細MATLAB姹傝Вx''+0.7x'+0.8x'|x'|+25.6x-25.6x³=0浜岄樁寰垎鏂圭▼缁鐨勬柟娉曪紝鍙互鎸変笅鍒楁楠よ繘琛岋細1銆佸缓绔嬭嚜瀹氫箟鍑芥暟func锛堬級function f = func(t,x)x''+0.7x'+0.8x'|x'|+25.6x-25.6x³=0 f(1)=x(2);f(2)=25.6*x(1)^3-25.6*x(1)-0.8*x(2)*abs(x(2...
  • 榫欐牸搴撳娉姹備簩闃跺井鍒嗘柟绋
    绛旓細榫欐牸搴撳娉姹備簩闃跺井鍒嗘柟绋姝ラ濡備笅锛1銆侀鍏堥渶瑕侀夋嫨涓涓傚綋鐨勫垵濮嬪硷紝浠ュ強涓涓闀縣銆傚垵濮嬪肩殑閫夋嫨閫氬父鍩轰簬闂鐨勫垵濮嬫潯浠讹紝鑰屾闀縣鍒欏喅瀹氫簡杩唬鐨勭簿搴︺2銆佷娇鐢ㄩ夋嫨鐨勫垵濮嬪煎拰姝ラ暱h锛岃绠楀嚭绗竴涓偣鐨勫紋锛坔锛夛紝杩欏彲浠ラ氳繃鍏紡y锛0锛+h*f锛0锛夊緱鍑猴紝鍏朵腑f锛0锛夋槸鍒濆鏉′欢鍑芥暟銆3銆佽绠楃涓涓...
  • 浜屽厓浜岄樁甯寰垎鏂圭▼缁勬眰瑙
    绛旓細浜屽厓浜岄樁甯寰垎鏂圭▼缁勭殑姹傝В锛屽彲浠ョ敤榫欐牸-搴撳娉曟眰瑙e叾鏁板艰В銆傛眰瑙f柟娉曪細1銆佽嚜瀹氫箟浜屽厓浜岄樁甯稿井鍒嗘柟绋嬬粍闄嶄环鍑芥暟 2銆佺‘瀹氬垵濮嬫潯浠讹紝x1(0)=0锛宒x1(0)/dt=0锛寈2(0)=0锛宒x1(0)/dt=0 3銆佺‘瀹氭椂闂磘鐨勮寖鍥达紝t銆0锛10銆4銆佺‘瀹氭椂闂磘鐨勬闀匡紝h=0.1 5銆佷娇鐢 runge_kutta榫欐牸-搴撳娉曞嚱鏁版垨...
  • matlab鐢榫欐牸搴撳娉姹傝В鍙樼郴鏁板父寰垎鏂圭▼
    绛旓細璇浜岄樁寰垎鏂圭▼鐢榫欐牸搴撳娉曞彲浠ヨ繖鏍锋潵姹傝В銆傜涓姝ワ紝鏍规嵁璇ヤ簩闃跺井鍒嗘柟绋嬶紝鑷畾涔夊井鍒嗘柟绋嬪嚱鏁帮紝func(t,y)绗簩姝ワ紝鏍规嵁鍒濆鏉′欢锛岀‘瀹歽鍜寉'鐨勫垵鍊硷紝鍗硑0=[0,0]绗笁姝ワ紝浣跨敤ode45鍑芥暟姹傝В銆恡,y銆戠殑鏁板艰В锛屽嵆 [t,y] = ode45(@func,[0 0.0005],y0);绗洓姝ワ紝鏍规嵁t銆亂銆亂'鍊硷紝缁樺埗t鈥攜...
  • 浜岄樁鑰﹀悎鐨勪簩鍏浜岄樁寰垎鏂圭▼缁 matlab姹傝В
    绛旓細闇瑕佺敤榫欐牸-搴撳娉姹傝В,涔熷氨鏄痬atlab閲岀殑ode23/ode45鍑芥暟姹傝В澶氫釜浜岄樁寰垎鏂圭▼缁涓虹畝鍖栭棶棰,姹傚姪澶х鎻愮ず濡備綍鐢╩atlab鐢ㄦ暟鍊间及璁$殑鏂规硶姹傝В绫讳技鍥剧墖涓殑鏂圭▼缁勩... 闇瑕佺敤榫欐牸-搴撳娉曟眰瑙,涔熷氨鏄痬atlab閲岀殑ode23/ode45鍑芥暟姹傝В澶氫釜浜岄樁寰垎鏂圭▼缁勪负绠鍖栭棶棰,姹傚姪澶х鎻愮ず濡備綍鐢╩atlab鐢ㄦ暟鍊间及璁$殑鏂规硶姹傝В绫讳技鍥剧墖涓殑...
  • 鎬庢牱鐢╩atlab 瑙e喅涓涓浜岄樁寰垎鏂圭▼ 杈圭晫鏉′欢涓嶆槸鍒濆
    绛旓細缂栧啓M鏂囦欢,鐢榫欐牸搴撳娉曠紪鍒剁▼搴,鍗冲彲姹傝В.鎴栬呯敤娆ф媺娉,鎴栬呰绠鍗曠偣鐨勫涓:>> y=dsolve('D2y=70*t-80*t^2', 'y(0)=0,y(20)=0')y = -20/3*t^4+35/3*t^3+146000/3*t >> y=subs(y,'t','x')y = -20/3*(x)^4+35/3*(x)^3+146000/3*(x)...
  • 鐢╩atlab缂栫▼瀹炵幇鍥闃堕緳鏍煎簱濉瑙d簩鍏浜岄樁寰垎鏂圭▼缁
    绛旓細姹傝В浜岄樁寰垎鏂圭▼锛屽垵濮嬫潯浠惰繕闇瑕佺粰鍑簓1'(0)鍜寉2'(0)銆傝繖閲屾殏鏃舵寜鐓0澶勭悊銆俧unction zd530003514 a=0.1;b=0.1;Y0 = [b-1; 0; b; 0];瑙f柟绋 [t,Y]= ode45(@ode,[0 10],Y0);y1=Y(:,1);y2=Y(:,3);缁樺浘 subplot 211 plot(t,y1);subplot 212 plot(t,y2);寰垎鏂圭▼瀹氫箟...
  • 璇烽棶鐢ㄥ洓闃堕緳鏍煎簱濉娉曡В浜岄樁寰垎鏂圭▼鐨鎬濇兂鏄粈涔?
    绛旓細浠1=y';y2=y''=(y1)';寰楀埌浜浜岄樁寰垎鏂圭▼鐨勪竴闃跺舰寮忥紝鐒跺悗鍙互鎸夌収鏅氱殑涓鑺寰垎鏂圭▼缁勭殑鍥涢樁榫欐牸搴撳娉姹傝В浜嗭紱杩欐牱璇寸殑鏈夌偣鎶借薄锛屼綘鍙互鎶婃柟绋嬪鍒跺嚭鏉 鎴戞湁绌哄府浣犵紪鍐欎竴涓
  • 扩展阅读:自适应龙格库塔法 算法 ... 四阶龙格库塔算法 ... 经典四阶龙格库塔解法 ... 二元一次方程 德尔塔 ... 三阶龙格库塔结论 ... 二阶龙格库塔公式 ... 4阶龙格库塔法matlab ... 四阶龙格库塔法讲解 ... 四阶龙格库塔法是精度几的 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网