@su
2014-06-01T16:14:36.000000Z
字数 1482
阅读 4595
分数阶常微分方程 微分变换法
微分方程 matlab
考虑方程
对方程进行微分变换,获得的结果如下:
我们取
Matlab 代码如下:
function [] = main(N,alpha,miu )% 分数阶常微分方程数值方法之微分变换法 方程为 D(u)(y(x))=y^2 +1;% 输入的参数为 N,alpha miu 三种其中 N 是 大于 0的整数,alpha 为大于0的整数,miu 为大于零的小数;%% 首先对数据进行初始化;startp 代表微分方程的定义域的左端,endp 代表微分方程定义域的右端点;ydao 代表 存储 F(k)的数值;N 代表级数的个数;[startp,endp] = deal(0,1);ydao = zeros(N,1);xarr = startp:0.1:endp;miualpha= miu*alpha;%% 通过循环计算函数的导数的值并存入向量中;for t = miualpha:1:N+3;k = t-miualpha;upgamma1 = gamma(1+k/alpha);upright=0;if k==0;upright = upright +1;endfor k1=0:kupright = upright + ydao(k1+1)*ydao(k-k1+1);endydao(t+1)=upgamma1*upright/gamma(1+miu+k/alpha);end%disp(ydao);%% 通过循环计算函数在定义域的近似数值;leng = length(xarr);y=zeros(leng,1);for m=1:1:leng;for k = 1:N+1;y(m) = y(m)+ydao(k)*(xarr(m)-startp)^((k-1)/alpha);endenddisp(y);end