caputo分数阶非线性常微分方程的初边值问题+Matlab代码

摘要:本文主要对一类caputo分数阶非线性的常微分方程的初边值问题进行数值模拟。参考文献《非线性分数阶常微分方程的一种显式算法》,然后通过matlab软件进行数值实验。

caputo分数阶非线性的常微分方程的初边值问题:

$$^C_0 D^{0.5}_t x(t)=-x(t)^3 $$ , \quad $$x(0)=1,t\in[0,100].

alpha=0.5;
c0=1;
ta=0;tb=100;
dt=0.05;
t=ta:dt:tb;
[t_ x_]=caputo_N(t,c0,alpha,dt);
plot(t_,x_,'o')



function [t,x]=caputo_N(t,c0,alpha,h)

    m=length(t);
    x(1)=c0;
    x(2)=c0+h^alpha*(-x(1)^3)/(alpha*gamma(alpha));
    
    for n=2:m-1 
        sum=0;
        for j=2:n
            sum=sum+((n+1-j)^alpha-(n-j)^alpha)*(3*(-x(j)^3)-(-x(j-1)^3));
        end
        x(n+1)=c0+h^alpha*(-x(1)^3)/(alpha*gamma(alpha))+sum*h^alpha/(2*alpha*gamma(alpha));
        
    end

 caputo分数阶非线性常微分方程的初边值问题+Matlab代码_第1张图片

 

你可能感兴趣的:(matlab)