| 5 | 1/1 | 返回列表 |
| 查看: 2035 | 回復: 7 | |||
| 當前只顯示滿足指定條件的回帖,點擊這里查看本話題的所有回帖 | |||
longwen8木蟲 (文壇精英)
|
[求助]
微分方程組的四階龍格庫塔公式求解matlab版 已有1人參與
|
||
|
微分方程組的四階龍格庫塔公式,求解matlab版的代碼。下面是我的代碼,運行不出來。 function varargout=rungekutta(varargin) clc,clear x0=0;xn=1.0;y0=1;h=0.05;%h為步長 [y,x]=rungekutta4(x0,xn,y0,h); Function z=f(x,y); z=y-2*x/y; function [y,x]=rungekutta4(x0,xn,y0,h) x=x0:h:xn; n=(xn-x0)/h; y1=x; y1(1)=y0; for i=1:n %龍格庫塔法的算法 K1=f(x(i),y1(i)); K2=f(x(i)+h/2,y1(i)+h/2*K1); K3= f(x(i)+h/2,y1(i)+h/2*K2); K4= f(x(i)+h,y1(i)+h*K3); y1(i+1)=y1(i)+h/6*(K1+2*K2+2*K3+K4); yy1(i)=(1+2*x(i+1)) ^0.5; error(i)=y1(i+1)-yy1(i); yy(i+1)=yy1(i); e(i+1)=error(i); end y=y1; n=(xn-x0)/h; fprintf(‘i x(i) yi數(shù)值解 y(i)真值 誤差\n’); fprintf(‘-------------------------------------------------------------\n’); for i=1:n fprintf(‘%2d %12.4f %14.8f %14.8f %12.8f\n’,i, x(i+1), y(i+1), yy(i+1), error(i)); end plot(x,e,‘r.’);%畫出誤差曲線 xlable(‘x軸’),ylable(‘誤差’); title(‘步長為0.05時的誤差曲線’); |
木蟲 (文壇精英)
|
function rungekutta() clc,clear x0=0;xn=1.0;y0=1;h=0.05;%h為步長 [y,x]=rungekutta4(x0,xn,y0,h); End function [y,x]=rungekutta4(x0,xn,y0,h) x=x0:h:xn; n=(xn-x0)/h; y1=x; y1(1)=y0; for i=1:n %龍格庫塔法的算法 K1=f(x(i),y1(i)); K2=f(x(i)+h/2,y1(i)+h/2*K1); K3= f(x(i)+h/2,y1(i)+h/2*K2); K4= f(x(i)+h,y1(i)+h*K3); y1(i+1)=y1(i)+h/6*(K1+2*K2+2*K3+K4); yy1(i)=(1+2*x(i+1))^0.5; error(i)=y1(i+1)-yy1(i); yy(i+1)=yy1(i); e(i+1)=error(i); end function z=f(x,y); z=y-2*x/y; end y=y1; n=(xn-x0)/h; fprintf('i x(i) yi數(shù)值解 y(i)真值 誤差\n'); fprintf('-------------------------------------------------------------\n'); for i=1:n fprintf(‘%2d %12.4f %14.8f %14.8f %12.8f\n’,i, x(i+1), y(i+1), yy(i+1), error(i)); end plot(x,e, 'r. ');%畫出誤差曲線 xlabel('x軸'),ylabel('誤差'); title('步長為0.05時的誤差曲線'); 大神,我修改完,還是運行不出來啊。你能不能直接把你的完整代碼發(fā)給我,我自己找找錯誤。 |
至尊木蟲 (著名寫手)
|
一、幾個自定義函數(shù)位置錯誤。應為這樣放置 1、主程序 , function rungekutta() clc,clear x0=0;xn=1.0;y0=1;h=0.05;%h為步長 [y,x]=rungekutta4(x0,xn,y0,h); end 2、 四階龍格庫塔函數(shù)程序 function [y,x]=rungekutta4(x0,xn,y0,h) 。。。 end 3、z函數(shù)程序 function z=f(x,y); z=y-2*x/y; end 二、xlable(‘x軸’),ylable(‘誤差’);這句代碼中函數(shù)書寫錯誤。應為 xlabel('x軸'),ylabel('誤差'); 三、修改后運行得到如下結果 |

木蟲 (文壇精英)
至尊木蟲 (著名寫手)
|
運行結果: i x(i) yi數(shù)值解 y(i)真值 誤差 ------------------------------------------------------------- 1 0.0500 1.04880886 1.04880885 0.00000001 2 0.1000 1.09544514 1.09544512 0.00000002 3 0.1500 1.14017546 1.14017543 0.00000004 4 0.2000 1.18321600 1.18321596 0.00000005 5 0.2500 1.22474493 1.22474487 0.00000006 6 0.3000 1.26491113 1.26491106 0.00000007 7 0.3500 1.30384056 1.30384048 0.00000008 8 0.4000 1.34164088 1.34164079 0.00000009 9 0.4500 1.37840498 1.37840488 0.00000011 10 0.5000 1.41421368 1.41421356 0.00000012 11 0.5500 1.44913781 1.44913767 0.00000014 12 0.6000 1.48323985 1.48323970 0.00000015 13 0.6500 1.51657526 1.51657509 0.00000017 14 0.7000 1.54919353 1.54919334 0.00000019 15 0.7500 1.58113904 1.58113883 0.00000021 16 0.8000 1.61245178 1.61245155 0.00000023 17 0.8500 1.64316793 1.64316767 0.00000026 18 0.9000 1.67332034 1.67332005 0.00000028 19 0.9500 1.70293895 1.70293864 0.00000031 20 1.0000 1.73205115 1.73205081 0.00000034 圖像上傳不上來。 |

| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] (081700)化學工程與技術-298分求調劑 +5 | 11啦啦啦 2026-03-11 | 5/250 |
|
|---|---|---|---|---|
|
[考研] 材料與化工304求B區(qū)調劑 +3 | 邱gl 2026-03-11 | 4/200 |
|
|
[考研] 一志愿安徽大學材料工程專碩313分,求調劑的學校 +7 | Yu先生 2026-03-10 | 9/450 |
|
|
[考研] 材料工程,326分,求調劑 +4 | KRSLSR 2026-03-10 | 4/200 |
|
|
[考研] 291分獸醫(yī)專碩 一志愿華中農 +3 | 種大大太陽 2026-03-05 | 3/150 |
|
|
[考研] 材料調劑,307分 +12 | 張泳銘1 2026-03-09 | 13/650 |
|
|
[考研] 材料專碩288分求調劑 一志愿211 +3 | 在家想你 2026-03-11 | 3/150 |
|
|
[考研] 327求調劑 +3 | Ffff03 2026-03-10 | 3/150 |
|
|
[考研] 086000生物與醫(yī)藥319分求調劑 +4 | Tolkien 2026-03-07 | 8/400 |
|
|
[考研] 278求調劑 +8 | Gale1314 2026-03-06 | 8/400 |
|
|
[考研] 環(huán)境調劑 +5 | 曉看天暮看云 2026-03-09 | 5/250 |
|
|
[考研] 0703化學調劑 +7 | 小奶蒼 2026-03-07 | 7/350 |
|
|
[考研] 310 070300化學求調劑 +4 | 撲風鈴的貓 2026-03-08 | 5/250 |
|
|
[考研] 297求調劑 +3 | 胡達靈 2026-03-05 | 5/250 |
|
|
[考研] 材料化工求調劑 +7 | 博斯特525 2026-03-06 | 8/400 |
|
|
[考研] 070300化學求調劑292分 +3 | 打烊eee 2026-03-07 | 3/150 |
|
|
|
程晴之 2026-03-06 | 6/300 |
|
|
[考研] 287求調劑 +3 | 看看我. 2026-03-05 | 6/300 |
|
|
[考研] 376求調劑 +3 | 王浩然sam 2026-03-04 | 3/150 |
|
|
[考研] 293求調劑 +3 | 是樂渝哇 2026-03-04 | 3/150 |
|