声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4909|回复: 7

[分形与混沌] Matlab求解分数阶微分方程组

[复制链接]
发表于 2009-5-24 20:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
请问一下,如何求解分数阶微分方程组吗?我知道整数阶的可以用ode45来解。

我在网上查了很多,而且也看了《高等应用数学问题的matlab求解》与分数阶有关的知识,就是不清楚分数阶方程如何来处理.

形如下述方程组,应如何求解?在附件中
1111111.bmp
回复
分享到:

使用道具 举报

发表于 2009-5-25 19:58 | 显示全部楼层

回复 楼主 danny91184 的帖子

分数阶的 论坛里边好像有讨论的
搜索一下看看
发表于 2010-8-25 17:02 | 显示全部楼层
搜不到哦 我也想要
发表于 2011-4-12 16:58 | 显示全部楼层
求解此方程
发表于 2011-4-13 10:28 | 显示全部楼层
本帖最后由 meiyongyuandeze 于 2011-4-13 10:42 编辑

下面是一个求解系数为常数的分数阶微分方程的程序,仅供你参考,希望对你有帮助!
建议斑竹将该帖移☞matlab讨论区!
% This function solves linear fractional-order differential equation (fode)
% with constant coefficients of the form:
%
%        n/v            (n-1)/v                1/v
% c1(1)*D   y(t)+c1(2)*D       y(t)+...+c1(n)*D   y(t)+c1(n+1)*y(t) =
%
%                m/v            (m-1)/v                1/v           
%         c2(1)*D   r(t)+c2(2)*D       r(t)+...+c2(m)*D   r(t)+c2(m+1)*r(t)      
%
%
% Inputs:
%
%           v  : common denominator
%           c1 : vector of output coefficients (1x(n+1))
%           c2 : vector of input coefficients (1x(m+1))
%           r  : samples of the input signal r(t)
%           h  : sampling period
%
% Outputs:
%           y  : vector of output samples
%           t  : time vector (corresponding to y)
%
%
%
% Note: this function calls the function "fderiv.m" which is also
%       downloadable from MathWorks-File Exchange. The parameter "h" can
%       easily be tuned; it must be as small as approximate the input signal
%       r(t). The short memory principle has not neen used here, so the
%       length of input signal is limited to few hundred samples.
%
% Copyright (c), 2007.
%



function [t,y] = fode2(v,c1,c2,r,h)

n = length(c1)-1;
% r = k*ones(1,100); % if the input signal is unit step
temp1 = zeros(size(r));
for i=1:length(c2)
    r_new = fderiv((length(c2)-i)/v,r,h);
    temp1 = temp1+c2(i)*r_new;
end

r = temp1;

t = [0:1:length(r)-1]*h;
y = zeros(1,length(r));

temp = zeros(1,n);

a = 0;
for i=1:length(c1)
    a = a+c1(i)/h^((n-i+1)/v);
end

for i=1:length(r)
    for k=n:-1:1
        for j=1:i-1
            temp(n-k+1) = temp(n-k+1)+(-1)^j*gamma(k/v+1)*y(i-j)/(gamma(j+1)*gamma(k/v-j+1));
        end
        temp(n-k+1) = -c1(n-k+1)*temp(n-k+1)/h^(k/v);
    end
    y(i) = (sum(temp)+r(i))/a;
    temp = zeros(1,n);
end
y = [0 y(1:length(y)-1)];
%plot(t,y)



点评

不错!但是建议斑竹将该帖移到matlab讨论区!  发表于 2014-4-4 20:32
发表于 2012-4-11 16:28 | 显示全部楼层
我也需要求解类似方程
发表于 2014-4-4 20:02 | 显示全部楼层
偏微分方程怎么求解?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-10 18:02 , Processed in 0.075580 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表