国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

歐拉法與梯形法求解微分方程【含matlab源代碼】

這篇具有很好參考價(jià)值的文章主要介紹了歐拉法與梯形法求解微分方程【含matlab源代碼】。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

梯形法求解微分方程,matlab,開(kāi)發(fā)語(yǔ)言

本文介紹兩種入門(mén)級(jí)求解微分方程的方法 —— 梯形法與歐拉法。

梯形法求解微分方程,matlab,開(kāi)發(fā)語(yǔ)言

梯形法求解微分方程,matlab,開(kāi)發(fā)語(yǔ)言

將上述方程組改寫(xiě)成matlab語(yǔ)言:

function F = fun(t,Y)


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%??????????????????????????????????????????????????????????? %
%???程序作者:Miracle ????????(matlab愛(ài)好者公眾號(hào))???????????%
%                                                            %
%              歡迎關(guān)注matlab愛(ài)好者公眾號(hào)                      %
%                                                            %
% 任何人都可以免費(fèi)無(wú)條件獲取本程序,切勿將本程序用于商業(yè)用途。%
% 程序版權(quán)歸matlab愛(ài)好者公眾號(hào)所有。%
%                                                            %
% 敬告:切勿刪改本聲明部分,否則將自動(dòng)失去本程序的使用權(quán)               %
%                                                            %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 把初值傳給T、T、V、C
T = Y(1);
Tx = Y(2);
V = Y(3);
C = Y(4);
% 設(shè)置對(duì)應(yīng)的微分方程
f1 = 1 - 0.1*T + 0.5*T*(1 - (T + Tx)/1000) - 0.0014*V*T;
f2 = 0.0014*V*T - 0.9*Tx - 0.03*Tx*C;
f3 = 3.09375*Tx - (3+0.007*T)*V;
f4 = 0.03*Tx*C-0.06*C;
% 放在一起
F = [f1;f2;f3;f4];
end

一、歐拉法

1.1?向前歐拉公式

梯形法求解微分方程,matlab,開(kāi)發(fā)語(yǔ)言

1.2?向后歐拉公式

梯形法求解微分方程,matlab,開(kāi)發(fā)語(yǔ)言

? ?歐拉法求解源代碼? ?

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                            %
%   程序作者:Miracle         (matlab愛(ài)好者公眾號(hào))           %
%                                                            %
%              歡迎關(guān)注matlab愛(ài)好者公眾號(hào)                      %
%                                                            %
% 任何人都可以免費(fèi)無(wú)條件獲取本程序,切勿將本程序用于商業(yè)用途。%
% 程序版權(quán)歸matlab愛(ài)好者公眾號(hào)所有。%
%                                                            %
% 敬告:切勿刪改本聲明部分,否則將自動(dòng)失去本程序的使用權(quán)               %
%                                                            %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


clear;clc;close?all;
Delta?=?0.001;???????%定義步長(zhǎng)
t = 0:Delta:50;      %定義自變量t
n = length(t);       %自變量長(zhǎng)度n
Y(:,1) = [20.7172;2;3.1478*10^5;122.1667]; %定義T T* V C的初始值


%% 自定義歐拉法,求解微分方程組
for k = 1:n-1
    %向前歐拉法
    %Y(:,k+1) = Y(:,k) + Delta*f(t(k),Y(:,k));
    Y(:,k+1) = Y(:,k) + Delta*f(t(k),Y(:,k));
    Y(:,k+1) = Y(:,k) + Delta*f(t(k+1),Y(:,k+1));
end
% 給T、T*、V、C賦值
T = Y(1,:);
T_xing = Y(2,:);
V =  Y(3,:);
C =  Y(4,:);
%% 繪制圖像
figure;
set(gcf,'units','normalized','position',[0.15 0.2 0.7 0.6]);
subplot(2,2,1);
plot(t,T,'linewidth',1);xlabel('t');ylabel('T');title('T');
subplot(2,2,2);
plot(t,T_xing,'linewidth',1);xlabel('t');ylabel('T^*');title('T^*');
subplot(2,2,3);
plot(t,V,'linewidth',1);xlabel('t');ylabel('V');title('V');
subplot(2,2,4)
plot(t,C,'linewidth',1);xlabel('t');ylabel('C');title('C');

??歐拉法結(jié)果圖??

梯形法求解微分方程,matlab,開(kāi)發(fā)語(yǔ)言

二、梯形法

梯形法求解微分方程,matlab,開(kāi)發(fā)語(yǔ)言

? ?梯形法求解源代碼???

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                            %
%   程序作者:Miracle         (matlab愛(ài)好者公眾號(hào))           %
%                                                            %
%              歡迎關(guān)注matlab愛(ài)好者公眾號(hào)                      %
%                                                            %
% 任何人都可以免費(fèi)無(wú)條件獲取本程序,切勿將本程序用于商業(yè)用途。%
% 程序版權(quán)歸matlab愛(ài)好者公眾號(hào)所有。%
%                                                            %
% 敬告:切勿刪改本聲明部分,否則將自動(dòng)失去本程序的使用權(quán)               %
%                                                            %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


clear;clc;close?all;
Delta = 0.001;        % 定義步長(zhǎng)
t = 0:Delta:50;       % 定義自變量t
n = length(t);        % 自變量長(zhǎng)度n
Y(:,1) = [20.7172;2;3.1478*10^5;122.1667];%定義T T* V C的初始值


%% 自定義梯形公式法,求解微分方程組
for k = 1:n-1    
    Y(:,k+1) = Y(:,k) + Delta*f(t(k),Y(:,k));
    Y(:,k+1) = Y(:,k) + Delta*(f(t(k),Y(:,k))+f(t(k+1),Y(:,k+1)));
end
% 給T、T*、V、C賦值
T = Y(1,:);
T_xing = Y(2,:);
V =  Y(3,:);
C =  Y(4,:);
%% 繪制圖像
figure;
set(gcf,'units','normalized','position',[0.15 0.2 0.7 0.6]);
subplot(2,2,1);plot(t,T,'linewidth',1);xlabel('t');ylabel('T');title('T');
subplot(2,2,2);plot(t,T_xing,'linewidth',1);xlabel('t');ylabel('T^*');title('T^*');
subplot(2,2,3);plot(t,V,'linewidth',1);xlabel('t');ylabel('V');title('V');
subplot(2,2,4);plot(t,C,'linewidth',1);xlabel('t');ylabel('C');title('C');

???梯形法結(jié)果圖? ?

梯形法求解微分方程,matlab,開(kāi)發(fā)語(yǔ)言

感謝Miracle向公眾號(hào)投稿!歡迎更多愛(ài)好、喜歡matlab編程的朋友來(lái)稿,在公眾號(hào)回復(fù)“投稿”了解投稿詳情。

參考資料:

[1] https://blog.csdn.net/weixin_42141390/article/details/110184743
[2] https://blog.csdn.net/misskissC/article/details/8913941

圖片來(lái)源:由?Gerd Altmann 在Pixabay上發(fā)布文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-553223.html

到了這里,關(guān)于歐拉法與梯形法求解微分方程【含matlab源代碼】的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 基于MATLAB的微分方程的解析解與歐拉算法的數(shù)值解(附完整代碼)

    基于MATLAB的微分方程的解析解與歐拉算法的數(shù)值解(附完整代碼)

    正常的求解微分方程的MATLAB格式如下: 如果需要指明自變量,則如下: 格式中的 fi 既可以描述微分方程,又可以描述 初始條件 或 邊界條件 。 描述微分方程的MATLAB格式為: D4y=7 ; 描述條件的MATLAB格式為: D2y(2)=3 ; 輸入信號(hào)u(t)如下: 求解如下微分方程的通解 解: 此題需

    2023年04月09日
    瀏覽(25)
  • MATLAB求解偏微分方程【PDE和差分法】

    MATLAB求解偏微分方程【PDE和差分法】

    目錄 前言? 1.用差分法求解 顯示差分 其他方程舉例 : r是什么 2.PDETOOL 3.pdepe函數(shù) 示例:熱方程 代碼: ? 在我們處理一些公式時(shí),常常會(huì)有偏微分方程出現(xiàn),所以我今天整理了一下求解偏微分方程的常用方法,希望有所幫助 在1979年復(fù)旦大學(xué)學(xué)者的一篇論文里,談到了偏微分

    2024年02月04日
    瀏覽(20)
  • MATLAB 之 非線性方程數(shù)值求解、最優(yōu)化問(wèn)題求解和常微分方程初值問(wèn)題的數(shù)值求解

    MATLAB 之 非線性方程數(shù)值求解、最優(yōu)化問(wèn)題求解和常微分方程初值問(wèn)題的數(shù)值求解

    非線性方程的求根方法很多,常用的有牛頓迭代法,但該方法需要求原方程的導(dǎo)數(shù),而在實(shí)際運(yùn)算中這一條件有時(shí) 是不能滿足的,所以又出現(xiàn)了弦截法、二分法等其他方法。 在 MATLAB 中,非線性方程的求解和最優(yōu)化問(wèn)題往往需要調(diào)用最優(yōu)化工具箱來(lái)解決。優(yōu)化工具箱提供了一

    2024年02月08日
    瀏覽(27)
  • matlab使用教程(27)—微分代數(shù)方程(DAE)求解

    matlab使用教程(27)—微分代數(shù)方程(DAE)求解

    ????????微分代數(shù)方程是一類(lèi)微分方程,其中一個(gè)或多個(gè)因變量導(dǎo)數(shù)未出現(xiàn)在方程中。方程中出現(xiàn)的未包含其導(dǎo)數(shù)的變量稱為代數(shù)變量,代數(shù)變量的存在意味著您不能將這些方程記為顯式形式 y ′ = f t , y 。相反,您可以解算下列形式的 DAE: ????????? ode15s 和 ode23t

    2024年02月11日
    瀏覽(56)
  • 【數(shù)學(xué)建模\MATLAB】掌握用Matlab求解微分方程問(wèn)題

    【數(shù)學(xué)建模\MATLAB】掌握用Matlab求解微分方程問(wèn)題

    d y d t = a y 2 cfrac{dy}{dt}=ay^2 d t d y ? = a y 2 結(jié)果 d 3 y d t 3 = b y cfrac{d^3y}{dt^3}=by d t 3 d 3 y ? = b y 結(jié)果 x 2 + y + ( x ? 2 y ) y ′ = 0 x^2+y+(x-2y)yprime=0 x 2 + y + ( x ? 2 y ) y ′ = 0 結(jié)果: d 2 y d t 2 = a y , 初 始 條 件 為 y ( 0 ) = 5 , y ′ ( 0 ) = 1 cfrac{d^2y}{dt^2}=ay, text初始條件為y(0)=5,yprime(

    2024年02月03日
    瀏覽(42)
  • matlab使用教程(28)—微分方程(ODE)求解常見(jiàn)問(wèn)題

    matlab使用教程(28)—微分方程(ODE)求解常見(jiàn)問(wèn)題

    ????????本博客說(shuō)明如何將 ODE 解約束為非負(fù)解。施加非負(fù)約束不一定總是可有可無(wú),在某些情況下,由于方程的物理解釋或解性質(zhì)的原因,可能有必要施加非負(fù)約束。僅在必要時(shí)對(duì)解施加此約束,例如不這樣做積分就會(huì)失敗或者解將不適用的情況。 ????????如果解的

    2024年02月11日
    瀏覽(18)
  • 微分方程+傳染病模型(指數(shù)傳播、SI、SIS、SIR模型)+MATLAB求解

    微分方程+傳染病模型(指數(shù)傳播、SI、SIS、SIR模型)+MATLAB求解

    本文為北海的數(shù)模課程學(xué)習(xí)筆記,課程出自微信公眾號(hào):數(shù)學(xué)建模BOOM。 求贊!求收藏!求關(guān)注! 微分方程結(jié)合傳染病模型(如指數(shù)傳播、SI、SIS、SIR模型)提供了一種用數(shù)學(xué)公式描述疾病傳播動(dòng)態(tài)的方法,有助于理解和預(yù)測(cè)疾病在人群中的傳播路徑和速度。 目錄 指數(shù)傳播模

    2024年02月04日
    瀏覽(27)
  • Fortran 微分方程求解 --ODEPACK

    Fortran 微分方程求解 --ODEPACK

    最近涉及到使用Fortran對(duì)微分方程求解,我們知道MATLAB已有內(nèi)置的函數(shù),比如ode家族,ode15s,對(duì)應(yīng)著不同的求解辦法。通過(guò)查看odepack的官方文檔,我嘗試使用了dlsode求解剛性和非剛性常微分方程組。 首先是github網(wǎng)址:https://github.com/jacobwilliams/odepack 具體使用辦法: 1.我使用的

    2024年02月11日
    瀏覽(18)
  • PINN深度學(xué)習(xí)求解微分方程系列一:求解框架

    PINN深度學(xué)習(xí)求解微分方程系列一:求解框架

    下面我將介紹內(nèi)嵌物理知識(shí)神經(jīng)網(wǎng)絡(luò)(PINN)求解微分方程。首先介紹PINN基本方法,并基于Pytorch框架實(shí)現(xiàn)求解一維Poisson方程。 內(nèi)嵌物理知識(shí)神經(jīng)網(wǎng)絡(luò)(PINN)入門(mén)及相關(guān)論文 深度學(xué)習(xí)求解微分方程系列一:PINN求解框架(Poisson 1d) 深度學(xué)習(xí)求解微分方程系列二:PINN求解burg

    2023年04月16日
    瀏覽(22)
  • Simulink基礎(chǔ)【1】-彈簧-阻尼模型的常微分方程求解

    Simulink是Matlab軟件的框圖設(shè)計(jì)環(huán)境,可用于各種動(dòng)態(tài)系統(tǒng)的建模、分析與仿真過(guò)程。如:導(dǎo)航制導(dǎo)、通訊、電子、機(jī)械、熱力學(xué)等諸多領(lǐng)域。這些系統(tǒng)在數(shù)學(xué)角度描述上涉及連續(xù)、離散、非線性、時(shí)變等用解析方法難以求解的系統(tǒng),因而采用Simulink進(jìn)行建模與仿真是指導(dǎo)這些系

    2023年04月08日
    瀏覽(33)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包