📜  在MATLAB中求解二阶微分方程的参数变化方法

📅  最后修改于: 2022-05-13 01:54:42.513000             🧑  作者: Mango

在MATLAB中求解二阶微分方程的参数变化方法

MATLAB 可用于求解数值二阶和高阶常微分方程。在本文中,我们将看到在 MATLAB 中求解二阶微分方程的参数变化方法。

第 1 步:让给定的以“x”表示的二阶微分方程为:

\frac{d^{2}y}{dx^{2}} + p \frac{dy}{dx} + qy = f(x)

第 2 步:然后,我们将其简化为辅助方程(AE)形式:_{r}{^2}+ pr +Q = 0

第 3 步:然后,我们通过以下关系找到上述 AE 的行列式:  Det  = ^ { p^2 - 4Q}

第 4 步:如果上面找到的行列式是正的(2 个不同的实根 r 1和 r 2 ),那么补函数(CF) 将是: y = C1{e^{r1^x} + e^{r2^x}}

第 5 步:如果上面找到的行列式为零(1 个唯一实根,r 1 =r 2 =r),则补函数(CF) 将是: y = C1{e^{rx} + C2 X e^{rx}}

第 6 步:如果上面找到的行列式是负数(复根,r = α ± iβ),则补函数(CF) 将是:  y = {e^{ax} (C1 cos{\beta X })+ i (C2 Sin X {\beta x}})

步骤7:在所有上述3种情况下,C 1的系数称为'y 1 ',C 2的系数称为'y 2 '

第 8 步:然后我们通过关系找到 Wronskian(W): W(y_{1}, y_{2}) = y_{1}({y_{2}')- {y_{2}y_{1}'

第 9 步:找到“W”后,我们通过以下关系找到特定积分 (PI): PI = -y_{1}\int_{}^{}\frac{y{2}f(x)}{w}dx + y_{2}\int_{}^{}  \frac{y{1}f(x)}{w} dx

第 10 步:最后通过以下关系找到二阶微分方程的通解(GS): GS = CF + PI

例子:

Matlab
% MATLAB code for Method of Variation of Parameters 
% to Solve 2nd Order Differential 
% Equations in MATLAB
clear all     
clc  
% To Declare them as Variables
syms r c1 c2 x 
disp("Method of Variation of Parameters to Solve 
2nd Order Differential Equations in MATLAB | GeeksforGeeks")
  
E=input("Enter the coefficients of the 2nd Order Differential equation"); 
X=input("Enter the R.H.S of the 2nd order Differential equation");
  
% Coefficients of the 2nd Order Differential Equations
AE=a*r^2+b*r+c;
a=E(1); b=E(2); c=E(3); 
S=solve(AE);
  
% Roots of Auxiliary Equation (AE)
r1=S(1); r2=S(2);
  
% Determinant of Auxiliary Equation (AE)
D=b^2-4*a*c;     
if D>0
    y1=exp(r1*x); 
    y2=exp(r2*x);
    % Complementary Function
    cf=c1*y1+c2*y2 
elseif D==0
    y1=exp(r1*x);
    y2=x*exp(r2*x); 
    % Complementary Function
    cf=c1*y1+c2*y2 
else
    alpha=real(r1); 
    beta=imag(r2);
    y1=exp(alpha*x)*cos(beta*x); 
    y2=exp(alpha*x)*sin(beta*x);
     % Complementary Function
    cf=c1*y1+c2*y2
end
W=simplify(y1*diff(y2,x)-y2*diff(y1,x)); 
  
% Particular Integral
PI=simplify((-y1)*int(y2*X/W) + (y2)*int(y1*X/W)) 
  
% General Solution
GS=simplify(cf+PI)


输出:

Input: y'' -6y' + 25 = e2x + sinx + x

Input: y'' -2y' + 3 = x3 + cosx