デシンボリック解微分方程式を求めているのMatlab

基本的な方法

1.dsolve()関数

一般的な溶液の常微分方程式を解きます

在求通解问题
% syms y(x) 
% y=dsolve(x^2+y+(x-2*y)*diff(y)==0)这里插入代码片

常微分方程式の初期境界値問題を解きます

% syms y(x)% 定义符号变量
% dy=diff(y);%一阶导数
% d2y=diff(y,2);%二阶导数,用于初值或边值条件的赋值
% y=dsolve(diff(y,3)-diff(y,2)==x,y(1)==8,dy(1)==7,d2y(2)==4)
% y=simplify(y) %把计算结果化解

常微分方程式を解きます

% syms f(x) g(x)
% df=diff(f);%用于初值或边值条件的赋值
% [f1,g1]=dsolve(diff(f,2)+3*g==sin(x),diff(g)+diff(f)==cos(x))%求通解
% f1=simplify(f1),g1=simplify(g1)
% 
% [f2,g2]=dsolve(diff(f,2)+3*g==sin(x),diff(g)+diff(f)==cos(x),df(2)==0,f(3)==3,g(5)==1)
% f2=simplify(f2),g2=simplify(g2)

常微分方程式の線形解きます

均質な線形一次微分方程式

% 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)

非均質な線形方程式

syms x(t) y(t) z(t)
X=[x;y;z]% 定义符号向量
A=[1 0 0;2 1 -1;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) %分数线居中的显示方式

公開された23元の記事 ウォン称賛17 ビュー4187

おすすめ

転載: blog.csdn.net/qq_43786066/article/details/104128478
おすすめ