導航:首頁 > 編程語言 > sijie龍格庫塔法matlab程序

sijie龍格庫塔法matlab程序

發布時間:2023-03-12 03:34:01

1. 龍格庫塔法matlab編程

用matlab的四、五階龍格庫塔方法(ode45)可以求得其數值解。設定其微分方程組的初始條件X(0)=0,S(0)=0。解決方法:

1、常微分方程組的自定義函數odefun(t,y),其主要內容

dy(1)=3*y(2)/(60+y(2))*y(1)-0.16*y(1);

dy(2)=4*250-4*y(2)-5*y(2)/(60+y(2))*y(1)-0.06*y(1);

2、t、y1、y2的求解

[t,y]=ode45(@odefun,[0 10],y0)

3、計算結果及t與S、X的關系圖,S與X的關系圖

2. 急求MATLAB編程源代碼用四階龍格庫塔法解如下微分方程 y'=y-2x/y(0<x<1),y(0)=1,步長為h=0.2

%以下另存為文件myrk4.m
function[x,y]=myrk4(ufunc,y0,h,a,b)
%參數:函數名稱,初始值向量,步長,時間起點,時間終點
n=floor((b-a)/h);%求步數
x(1)=a;%時間起點
y(:,1)=y0;%賦初值
%按龍格庫塔方法進行求解
forii=1:n
x(ii+1)=x(ii)+h;
k1=ufunc(x(ii),y(:,ii));
k2=ufunc(x(ii)+h/2,y(:,ii)+h*k1/2);
k3=ufunc(x(ii)+h/2,y(:,ii)+h*k2/2);
k4=ufunc(x(ii)+h,y(:,ii)+h*k3);
y(:,ii+1)=y(:,ii)+h*(k1+2*k2+2*k3+k4)/6;
end


以下是主程序

%y'=y-2x/y(0<x<1),y(0)=1,步長為h=0.2
fun=inline('y-2*x/y');
[t1,f1]=myrk4(fun,1,0.2,0,1);%測試時改變test_fun的函數維數,別忘記改變初始值的維數
subplot(211);plot(t1,f1)%自編函數
title('自編函數求解結果')
%用系統自帶函數ode45進行比較
[t,f]=ode45(fun,[01],1);
subplot(212);plot(t,f);title('ode45求解結果')

3. 四階常微分龍格—庫塔法求解常微分方程的初值問題。 Matlab程序算例:用標准4級4階R-K法求解

clear,clc	%清除內存中的變數
%數值解
y=inline('x*exp(x)+2*x-1');
y(1)

%四階龍格庫塔法
y0=[-132];
[x1,y1]=ode45(@fun,[0,1],y0);
y1(end,1)%y(1)的值

functiondy=fun(x,y)
dy=zeros(3,1);
dy(1)=y(2);
dy(2)=y(3);
dy(3)=y(3)+y(2)-y(1)+2*x-3;

運行結果

ans =

3.7183

ans =

3.7183

閱讀全文

與sijie龍格庫塔法matlab程序相關的資料

熱點內容
javaweb英文文獻 瀏覽:702
可在線編程isp是什麼意思 瀏覽:34
iphone6s單手模式 瀏覽:79
vivo怎麼找刪除的app軟體 瀏覽:852
360裝機大師怎麼用教程 瀏覽:168
高一編程語言是什麼 瀏覽:421
phpword插入圖片 瀏覽:261
數控編程s300什麼意思 瀏覽:871
linuxab壓力測試 瀏覽:818
編程語言為什麼是c 瀏覽:797
悅me只能網關密碼錯誤 瀏覽:844
三星交集工具 瀏覽:939
資料庫中怎麼復製表結構 瀏覽:417
戴爾win10平板裝系統嗎 瀏覽:816
編程的變數名有哪些 瀏覽:124
360版本海島奇兵下載 瀏覽:370
常州ug數控編程培訓哪個學校好 瀏覽:802
資料庫的不等於怎麼寫 瀏覽:664
qq關閉送禮物動畫 瀏覽:128
京東健康碼在哪個文件夾里 瀏覽:891

友情鏈接