Modeling the US game (matlab self) of the differential equation

Population Model

malthus model

Here Insert Picture Description
Here Insert Picture Description

Prediction Model of the US population

Here Insert Picture Description

Modeling and Solution

Here Insert Picture Description

Parameter Estimation

(1) nonlinear least squares estimation

clc, clear
a = textread('data4.txt'); %把原始数据保存在纯文本文件data4 .txt中
x=a([2:2:6],:)';%提出人口数据
x = nonzeros(x);%去掉后面的0,并变成列向量
t =[1790:10 :2000]';
t0 =t(1); x0 =x(1);
fun=@ (cs,td)cs(1)./1 +(cs(1)/x0 -1) *exp( -cs(2) * (td-t0)));%cs(1) =xm,cs(2) =r
cs = lsqcurvefit( fun, rand(2,1) ,t(2:end) ,x(2 :end) , zeros(2,1))
xhat = fun(cs,[t;2010])%预测已知年代和2010年的人口

(2) linear least squares

clc, clear
a = textread( 'data4.txt');%把原始数据保存在纯文本文件data4.txt中
x=a([2:2:6],:)'; x = nonzeros(x);
t =[1790:10 :2000]';
a=[ones(21,1),-x(2:end)];
b=diff(x) ./x(2 :end) /10;
cs =a\b;
r =cs(1), xm=r/cs(2)

seeking differential equations matlab

Here Insert Picture Description

Through solutions of differential equations

Here Insert Picture Description

 syms y(x)
dsolve(x^2+y+(x-2*y)*diff(y)==0)

operation result:
Here Insert Picture Description

Initial boundary value problems

Here Insert Picture Description
Here Insert Picture Description

Solving differential equations

Solving equations:

Here Insert Picture Description

clc, clear
syms f(x) g(x)%定义符号变量
df =diff(f);%定义f的一阶导数,用于初值或边值条件的赋值
[ f1,g1] =dsolve(diff(f,2) +3 *g= =sin(x),diff(g) +df= =cos(x))%求通解
f1 =simplify(f1), g1 =simplify(g1)%对符号解进行化简
[f2 ,g2] =dsolve(diff(f,2) +3 *g= =sin(x),diff(g) +df= =cos(x),df(2)= =0,f(3) = =3,g(5) = =1)
f2 =simplify(f2), g2 =simplify(g2)%对符号解进行化简
Solving linear differential equations

Homogeneous linear differential equations
Here Insert Picture Description


clc,clear
syms x(t) y(t) z(t)
X=[x;y;z];
A=[2 1 3;0 2 -1;0 0 2];
B=[1 2 1]';
[x,y,z]=dsolve(diff(X)==A*X,X(0)==B)

Here Insert Picture Description
Non-homogeneous linear differential equations
Here Insert Picture Description

clc,clear
syms x(t) y(t) z(t) %定义符号变量
X=[x;y;z]; 
A=[1,0,0;2,1,-2;3,2,1];B=[0;0;exp(t) *cos(2*t)];
X0=[0;1;1];%初值条件
X =dsolve(diff(X)==A*X +B,X(0)==X0)%求符号解
X=simplify([X.x;X.y;X.z])%显示解的各个分量
pretty(x)%分数线居中的显示方式

Here Insert Picture Description

Published 20 original articles · won praise 0 · Views 3869

Guess you like

Origin blog.csdn.net/weixin_44544406/article/details/104174641