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

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

這篇具有很好參考價值的文章主要介紹了【數(shù)學(xué)建模\MATLAB】掌握用Matlab求解微分方程問題。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

1、求解一階常微分方程

d y d t = a y 2 \cfrac{dy}{dt}=ay^2 dtdy?=ay2

clc,clear 
syms y(t) a %定義符號變量
dsolve(a*y^2-diff(y)==0)

結(jié)果

ans =
 
             0
 -1/(C1 + a*t)

2、求解三階常微分方程

d 3 y d t 3 = b y \cfrac{d^3y}{dt^3}=by dt3d3y?=by

clc,clear 
syms y(t) b %定義符號變量
dsolve(diff(y,3)-b*y==0)

結(jié)果

ans =
 
C3*exp(b^(1/3)*t) + C1*exp(-t*((3^(1/2)*b^(1/3)*1i)/2 + b^(1/3)/2)) + C2*exp(t*((3^(1/2)*b^(1/3)*1i)/2 - b^(1/3)/2))

3.求解常微分方程

x 2 + y + ( x ? 2 y ) y ′ = 0 x^2+y+(x-2y)y\prime=0 x2+y+(x?2y)y=0

clc,clear 
syms y(x) %定義符號變量
dsolve(x^2+y+(x-2*y)*diff(y)==0)

結(jié)果:

ans =
 
 x/2 + ((4*x^3)/3 + x^2 + C1)^(1/2)/2
 x/2 - ((4*x^3)/3 + x^2 + C1)^(1/2)/2

4. 求解二階常微分方程

d 2 y d t 2 = a y , 初 始 條 件 為 y ( 0 ) = 5 , y ′ ( 0 ) = 1 \cfrac{d^2y}{dt^2}=ay, \text初始條件為y(0)=5,y\prime(0)=1 dt2d2y?=ay,y(0)=5,y(0)=1

clc,clear 
syms y(t) a %定義符號變量
dy = diff(y);
y = dsolve(diff(y,2)==a*y,y(0)==5,dy(0)==1);
y = simplify(y) %化簡結(jié)果

結(jié)果

y =
 
(exp(a^(1/2)*t)*(5*a^(1/2) + 1))/(2*a^(1/2)) + (exp(-a^(1/2)*t)*(5*a^(1/2) - 1))/(2*a^(1/2))

5.求解常微分方程組

{ d y d t = z + 5 t d z d t = ? 2 y \left\{\begin{aligned} \cfrac{dy}{dt}&=z+5t \\ \\ \cfrac{dz}{dt}&=-2y \\ \end{aligned}\right. ??????????????dtdy?dtdz??=z+5t=?2y?

clc,clear 
syms y(t) z(t) %定義符號變量
dy = diff(y);
dz = diff(z);
[y1,z1] = dsolve(dy==z+5*t,dz==-2*y);
y1 = simplify(y1) %化簡結(jié)果
z1 = simplify(z1) %化簡結(jié)果

結(jié)果:

y1 =
 
(2^(1/2)*C2*cos(2^(1/2)*t))/2 + (2^(1/2)*C1*sin(2^(1/2)*t))/2 + 5/2
 
 
z1 =
 
C1*cos(2^(1/2)*t) - 5*t - C2*sin(2^(1/2)*t)

6.求解初值為下述常微分方程的解析解和精確解

matlab 一階方程,數(shù)學(xué)建模,matlab,線性代數(shù),矩陣

clc,clear 
yx = @(x,y) -2*y+2*x^2+2*x; %定義微分方程右端的匿名函數(shù)
[x,y] = ode45(yx,[0,0.5],1)
[x1,y1] = ode23(yx,[0,0.5],1)
plot(x,y,x1,y1)

matlab 一階方程,數(shù)學(xué)建模,matlab,線性代數(shù),矩陣

7.應(yīng)用兩個模型分別計(jì)算并預(yù)測未來五年的工資走勢

根據(jù)以下提供的某省份年平均工資統(tǒng)計(jì)表(單位:元),通過馬爾薩斯模型阻滯增長模型構(gòu)建微分方程,求解并繪制圖像,應(yīng)用兩個模型分別計(jì)算并預(yù)測未來五年的工資走勢.
matlab 一階方程,數(shù)學(xué)建模,matlab,線性代數(shù),矩陣

x = [1978:1:2010]
y=[566,632,745,755,769,789,985,1110,1313,1428,1782,1920,2150,2292,2601,3149,4338,5145,5809,6271,6854,7656,8772,10007,11374,12567,14332,16614,19228,22844,26404,29638,32074]

7.1 馬爾薩斯模型

模型假設(shè):

  • 設(shè)x(t)表示t時刻的工資,且x(t)連續(xù)可微
  • 工資的增長率r是常數(shù)
  • 工資的變化是封閉的,工資的變化只和工作的年限有關(guān),工作年限越長,工資越高。

模型建立和求解:
假設(shè)t時刻到 t + Δ t t+\Delta t t+Δt時間內(nèi)工資的增量為:
{ d x d t = r x , x ( 0 ) = x 0 , \left\{\begin{aligned} \cfrac{dx}{dt}&=rx, \\ \\ x(0)&=x_0, \\ \end{aligned}\right. ??????????dtdx?x(0)?=rx,=x0?,?
其解為:
x ( t ) = x 0 ? e r t x(t)=x_0*e^{rt} x(t)=x0??ert

7.2 阻滯增長模型

對增長率r進(jìn)行修正。如果在工資較少的時候,把r看成常數(shù),工資增長到一定數(shù)量的時候,就應(yīng)該把r看作應(yīng)該隨著工資增加而減少的量,即將增長率r表示成工資x(t)的函數(shù)r(x),r(x)是x的減函數(shù)。

模型假設(shè):

  • 設(shè)r(x)為x的線性函數(shù),r(x)=r-sx(工程師原則,首選線性)
  • 最大工資是: x m x_m xm?,即當(dāng)x= x m x_m xm?時,增長率r( x m x_m xm?)=0.

模型求解:
由假設(shè)1、2, 可得 r ( x ) = r ( 1 ? x x m r(x)=r(1-\cfrac{x}{x_m} r(x)=r(1?xm?x?), 則有
{ d x d t = r ( 1 ? x x m ) x , x ( t 0 ) = x 0 , \left\{\begin{aligned} \cfrac{dx}{dt}&=r(1-\cfrac{x}{x_m})x, \\ \\ x(t_0)&=x_0, \\ \end{aligned}\right. ??????????dtdx?x(t0?)?=r(1?xm?x?)x,=x0?,?
其解為:
x ( t ) = x m 1 + ( x m x 0 ? 1 ) e ? r ( t ? t 0 ) x(t)=\cfrac{x_m}{1+(\cfrac{x_m}{x_0}-1)e^{-r(t-t_0)}} x(t)=1+(x0?xm???1)e?r(t?t0?)xm??

x=[566 632 745 755 769 789 985 1110 ...
    1313 1428 1782 1920 2150 2292 2601 3149 ...
    4338 5145 5809 6271 6854 7656 8772 10007 ...
    11374 12567 14332 16614 19228 22844 26404 29638 ...
    32074]';
t=1978:2010;t=t';
t=t-1977;
near5year= [2011:1:2015]';
near5year=near5year-1977;
%阻滯增長增長模型
beta0 = [566 0.22 12567];
yzuzhi =@(beta,t) beta(3)./(1+(beta(3)./beta(1)-1).*exp(-beta(2)*t));
beta=nlinfit(t,x,yzuzhi,beta0)
xzuzhi=yzuzhi(beta,near5year);
%馬爾薩斯增長模型
ymuthus=@(r,t) r(1)*exp(r(2)*t);
r0=[5.7,0.1];
a=nlinfit(t,x,ymuthus,r0)
xmuthus=ymuthus(a,near5year);
subplot(1,2,1);
plot([t;near5year],[x;xmuthus]);
title('馬爾薩斯增長模型');
subplot(1,2,2);
plot([t;near5year],[x;xzuzhi]);
title('阻滯增長增長模型');
%預(yù)測未來五年
disp(['馬爾薩斯增長模型預(yù)測未來五年工資是',num2str(xmuthus')]);
disp(['阻滯增長增長模型預(yù)測未來五年工資是',num2str(xzuzhi')]);
clear all;clc
x=[566 632 745 755 769 789 985 1110 ...
    1313 1428 1782 1920 2150 2292 2601 3149 ...
    4338 5145 5809 6271 6854 7656 8772 10007 ...
    11374 12567 14332 16614 19228 22844 26404 29638 ...
    32074]';
n = 33;
t = (1:n)';
beta0 = [5.3 0.22 400]; %[x0, r, xm]
[beta, R, J] = nlinfit(t,x,'logisfun',beta0); %非線性擬合
py = beta(3)./(1+(beta(3)./beta(1)-1).*exp(-beta(2)*t)); %預(yù)測各年工資
p5 = beta(3)./(1+(beta(3)./beta(1)-1).*exp(-beta(2)*(n:n+5)')); %預(yù)測五年后工資
subplot(2,1,1)
plot(1:n, x, '*', 1:n, py,n:n+5,p5,'o'); %對比圖
title('阻滯增長增長模型');

xx = x(1:n); 
t=[ones(n,1),(1:n)'];
y=log(xx(1:n));
[b,bint,r,rint,stats] = regress(y,t)
x0 = exp(b(1)) %參數(shù)x0
r = b(2)%參數(shù)r
py_ = x0*exp(r*(1:n+5)'); %預(yù)測數(shù)據(jù)
subplot(2,1,2)
plot(1:n, xx, 'k+', 1:n+5, py_); %對比圖
title('馬爾薩斯增長模型');

8.練習(xí)(傳染病模型)

假設(shè)某一種傳染病正在流行,現(xiàn)在希望建立適當(dāng)?shù)臄?shù)學(xué)模型,利用已經(jīng)掌握的一些數(shù)據(jù)資料對該傳染病進(jìn)行有效地研究,用于對其傳播蔓延進(jìn)行必要的控制,減少人民生命財(cái)產(chǎn)損失?,F(xiàn)假設(shè)某地區(qū)人口分布約為5萬人,且有約為5千人已經(jīng)感染并積極治療,每個病人每天接觸約為5人,且每天治愈率約為150%。考慮如下問題,建立適當(dāng)?shù)臄?shù)學(xué)模型:

  1. 該傳染病不具有免疫性,試估算病情穩(wěn)定時對應(yīng)的天數(shù),并繪制出病人與健康者人數(shù)隨時間變化的分布曲線;
  2. 該傳染病具有免疫性,試估算病情穩(wěn)定時對應(yīng)的天數(shù),并繪制出病人,健康者與免疫者人數(shù)隨時間變化的分布曲線.

8.1 傳染病無免疫性

病人治愈成為健康人,健康人可以再次被感染(SIS模型)

假設(shè):

  • 總?cè)藬?shù)N不變,病人和健康人比例分別為:i(t),s(t)
  • 每個病人每天有效接觸人數(shù)為 λ \lambda λ,且使接觸的健康人致病
  • 病人每天治愈的比例為 μ \mu μ

建模:
N [ i ( + Δ t ) ? i ( t ) ] = λ s ( t ) N i ( t ) Δ t ? μ N i ( t ) Δ t N[i(+\Delta t)-i(t)] = \lambda s(t)Ni(t)\Delta t -\mu Ni(t)\Delta t N[i(+Δt)?i(t)]=λs(t)Ni(t)Δt?μNi(t)Δt
得到:
{ d i d t = λ i s ? u i i ( 0 ) = i 0 \left\{\begin{aligned} \cfrac{di}{dt}&=\lambda is-ui \\ \\ i(0)&=i_0\\ \end{aligned}\right. ??????????dtdi?i(0)?=λis?ui=i0??

clear all;
clc;
xspan = [0 5];
y0 = 0.1;
[x,y] = ode45(@(x,y) 5*y*(1-y)-1.5*y, xspan, y0);
y1 = 1-y(:)
plot(x,y,'r',x,y1,'b')

matlab 一階方程,數(shù)學(xué)建模,matlab,線性代數(shù),矩陣
由圖可以看出,需要兩天病情才能穩(wěn)定。

8.2 傳染病有免疫性

病人治愈后即移除感染系統(tǒng),稱為移出者(SIR模型)

假設(shè):

  • 總?cè)藬?shù)N不變, 病人、健康人、移出者的比例分別為 i ( t ) , s ( t ) , r ( t ) i(t),s(t),r(t) i(t),s(t),r(t)
  • 病人每天有效接觸人數(shù)為 λ \lambda λ,治愈的比例為 μ \mu μ,接觸數(shù)為 σ = λ / μ \sigma = \lambda / \mu σ=λ/μ

建模:
s ( t ) + i ( t ) + r ( t ) = 1 s(t)+i(t)+r(t)=1 s(t)+i(t)+r(t)=1
需要建立 s ( t ) , i ( t ) , r ( t ) 的 兩 個 方 程 s(t),i(t),r(t)的兩個方程 s(t),i(t),r(t)
N [ i ( t + Δ t ) ? i ( t ) ] = λ s ( t ) N i ( t ) Δ t ? μ N i ( t ) Δ t N [ s ( t + Δ t ) ? s ( t ) ] = ? λ s ( t ) N i ( t ) Δ t N[i(t+\Delta t)-i(t)] = \lambda s(t)Ni(t)\Delta t -\mu Ni(t)\Delta t \\ \\ N[s(t+ \Delta t)-s(t)] =-\lambda s(t)Ni(t)\Delta t\\ N[i(t+Δt)?i(t)]=λs(t)Ni(t)Δt?μNi(t)ΔtN[s(t+Δt)?s(t)]=?λs(t)Ni(t)Δt

{ d i d t = λ i s ? u i d s d t = ? λ s i i ( 0 ) = i 0 , s ( 0 ) = s 0 \left\{\begin{aligned} \cfrac{di}{dt}&=\lambda is-ui\\ \cfrac{ds}{dt}&=-\lambda si \\ i(0)&=i_0,s(0)=s_0\\ \end{aligned}\right. ??????????????dtdi?dtds?i(0)?=λis?ui=?λsi=i0?,s(0)=s0??
無法求出s(t),i(t)的解析解,利用matlab求出數(shù)值解

function y = infect(t,x)
lamp = 5;
u = 1.5;
y = [lamp*x(1)*x(2)-u*x(1); -lamp*x(1)*x(2)];
end
x0 = [0.9, 0.1]';
[t,x] = ode45('infect', [0,4], x0); 
%調(diào)用變步長45級Runge-Kutta-Felhberg法計(jì)算
y = 1-x(:,1)-x(:,2)
plot(t,x(:,1),'r', t,x(:,2),'b',t,y,'k');
grid on

matlab 一階方程,數(shù)學(xué)建模,matlab,線性代數(shù),矩陣
由圖可以看出,大概4天后,傳染病趨于穩(wěn)定。文章來源地址http://www.zghlxwxcb.cn/news/detail-779897.html


到了這里,關(guān)于【數(shù)學(xué)建模\MATLAB】掌握用Matlab求解微分方程問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Matlab數(shù)學(xué)建模實(shí)驗(yàn)題

    Matlab數(shù)學(xué)建模實(shí)驗(yàn)題

    (1)用起泡法對10個數(shù)由小到大排序.即將相鄰兩個數(shù)比較,將小的調(diào)到前頭。 (2)有一個4×5矩陣,編程求出其最大值及其所處的位置. (3)編程求 (4)一球從100米高度自由落下,每次落地后反跳回原高度的一半,再落下.求它在第10次落地時,共經(jīng)過多少米?第10次反彈有多高? (

    2024年02月11日
    瀏覽(21)
  • 數(shù)學(xué)建模-MATLAB三維作圖

    數(shù)學(xué)建模-MATLAB三維作圖

    導(dǎo)出圖片用無壓縮tif會更清晰 幫助文檔:doc 函數(shù)名 新建實(shí)時腳本或右鍵文件轉(zhuǎn)換為實(shí)時腳本 實(shí)時編輯器-全部運(yùn)行-內(nèi)嵌顯示 保存為PDF

    2024年02月15日
    瀏覽(19)
  • 數(shù)學(xué)建模之MATLAB使用

    數(shù)學(xué)建模之MATLAB使用

    我們都知道MATLAB里面存在著數(shù)值計(jì)算和符號計(jì)算,但是兩者之間到底是怎樣的呢? 舉一個很簡單的例子,我們在高等數(shù)學(xué)里面的微積分學(xué)習(xí)時經(jīng)常求不定積分,也就是原函數(shù),這個過程實(shí)際上進(jìn)行的就是符號運(yùn)算,我們通過對一些變量字符x等等的運(yùn)算,最后得出一個表達(dá)式

    2024年04月09日
    瀏覽(23)
  • 數(shù)學(xué)建模實(shí)戰(zhàn)Matlab繪圖

    數(shù)學(xué)建模實(shí)戰(zhàn)Matlab繪圖

    二維曲線、散點(diǎn)圖 繪圖命令: plot( x,y,’line specifiers’,’ PropertyName ’, PropertyValue ) 例子:繪圖表示年收入與年份的關(guān)系 ‘--r*’:-- 設(shè)置線型; r: 設(shè)置顏色為紅色; * 節(jié)點(diǎn)型號 ‘ linewidth ’:設(shè)置線寬;‘ markersize ’ :節(jié)點(diǎn)大小 常用命令: hold on(off):在一張圖上持續(xù)繪圖

    2024年01月21日
    瀏覽(21)
  • 數(shù)學(xué)建模| 線性規(guī)劃(Matlab)

    線性規(guī)劃:約束條件和目標(biāo)函數(shù)都是線性的。簡單點(diǎn)說,所有的決策變量在目標(biāo)函數(shù)和約束條件中都是一次方。 Matlab函數(shù): 參數(shù)解釋: func 表示目標(biāo)函數(shù)。 A 表示不等式約束條件系數(shù)矩陣,b 表示不等式約束條件常數(shù)矩陣。 Aeq 表示等式約束條件系數(shù)矩陣,beq 表示等式約束條

    2024年02月07日
    瀏覽(31)
  • 數(shù)學(xué)建模學(xué)習(xí)(7):Matlab繪圖

    數(shù)學(xué)建模學(xué)習(xí)(7):Matlab繪圖

    最基礎(chǔ)的二維圖形繪制方法:plot -plot命令自動打開一個圖形窗口Figure; 用直線連接相鄰兩數(shù)據(jù)點(diǎn)來繪制圖形 -根據(jù)圖形坐標(biāo)大小自動縮擴(kuò)坐標(biāo)軸,將數(shù)據(jù)標(biāo)尺及單位標(biāo)注自動加到兩個坐標(biāo)軸上,可自定坐標(biāo)軸,可把x,? y 軸用對數(shù)坐標(biāo)表示 -如果已經(jīng)存在一個圖形窗口,plot命

    2024年02月14日
    瀏覽(24)
  • (一)MATLAB數(shù)學(xué)建?!獢?shù)據(jù)擬合

    目錄 一、簡介 二、多項(xiàng)式擬合 (一)指令介紹 (二)代碼

    2024年02月11日
    瀏覽(27)
  • 【數(shù)學(xué)建?!?MATLAB 蟻群算法

    【數(shù)學(xué)建?!?MATLAB 蟻群算法

    MATLAB–基于蟻群算法的機(jī)器人最短路徑規(guī)劃 * https://blog.csdn.net/woai210shiyanshi/article/details/104712540?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168853912916800215023827%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257Drequest_id=168853912916800215023827biz_id=0utm_medium=distribute.pc_search_result.

    2024年02月15日
    瀏覽(21)
  • Matlab數(shù)學(xué)建模-典型相關(guān)分析

    Matlab數(shù)學(xué)建模-典型相關(guān)分析

    典型相關(guān)分析是研究兩個多變量(向量)之間之間的線性相關(guān)關(guān)系,能夠揭示出兩組變量之間的內(nèi)在聯(lián)系。 CCA(典型相關(guān)分析) 在一元統(tǒng)計(jì)分析中,用相關(guān)系數(shù)來衡量兩個隨機(jī)變量的線性相關(guān)關(guān)系,用復(fù)相關(guān)系數(shù)研究一個隨機(jī)變量與多個隨機(jī)變量的線性相關(guān)關(guān)系。然而,這些方

    2024年02月10日
    瀏覽(23)
  • 數(shù)學(xué)建模 | MATLAB數(shù)據(jù)建模方法--機(jī)器學(xué)習(xí)方法

    數(shù)學(xué)建模 | MATLAB數(shù)據(jù)建模方法--機(jī)器學(xué)習(xí)方法

    近年來,全國賽的題目中,多多少少都有些數(shù)據(jù),而且數(shù)據(jù)量總體來說呈不斷增加的趨勢, 這是由于在科研界和工業(yè)界已積累了比較豐富的數(shù)據(jù),伴隨大數(shù)據(jù)概念的興起及機(jī)器學(xué)習(xí)技術(shù)的發(fā)展, 這些數(shù)據(jù)需要轉(zhuǎn)化成更有意義的知識或模型。 所以在建模比賽中, 只要數(shù)據(jù)量還

    2024年02月03日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包