声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1774|回复: 2

[分形与混沌] 寻分形matlab工具箱

[复制链接]
发表于 2010-9-6 11:27 | 显示全部楼层 |阅读模式

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

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

x
本人有关联维数程序,但一运行就出现缺少头文件的错误提示...求一份分形matlab的工具箱,麻烦发给吧!yuehlhappy@163.com不胜感激!

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2010-9-18 14:44 | 显示全部楼层
请问你能把你的求关联维数的程序发我一份吗?
cqupenghao@126.com
不胜感激
发表于 2010-9-19 18:57 | 显示全部楼层
function [ln_r,ln_C]=G_P_good(data,tau,min_m,max_m,ss)
% 本函数是利用G-P 方法计算混沌吸引子关联维
% data::待计算的时间序列
% tau:时间延迟
% min_m:最小嵌入维
% max_m:最大嵌入维
% ss:半径搜索次数
N=length(data);%待计算的时间序列长度
ln_C=zeros((max_m-min_m)/2+1,ss);
ln_r=zeros((max_m-min_m)/2+1,ss);
for m=min_m:2:max_m
Y=reconstitution(data,m,tau);%重构相空间
M=N-(m-1)*tau;%相空间点的数目
d=zeros(M-1,M);
for i=1:M-1
for j=i+1:M
d(i,j)=max(abs(Y(:,i)-Y(:,j)));%计算相空间中每两点之间的距离
end
end
max_d=max(max(d));%相空间中两点之间的最大距离
for i=1:M-1%计算相空间中两点之间的最小距离
for j=1:i
d(i,j)=max_d;
end
end
min_d=min(min(d));%相空间中两点之间的最小距离
delt=(max_d-min_d)/ss;%搜索半径增加的步长
for k=1:ss
r=min_d+k*delt;

%C(k)=correlation_integral(Y,M,r);计算关联积分
sum_H=0;
for i=1:M-1
for j=i+1:M
if r>d(i,j)%计算heaviside(r,d) 函数之值
sum_H=sum_H+1;
end
end
end
C(k)=2*sum_H/(M*(M-1));%关联积分的值

ln_C((m-min_m)/2+1,k)=log(C(k));%求lnC(r)
ln_r((m-min_m)/2+1,k)=log(r);%求lnr
end
clear d;
clear Y;
plot(ln_r((m-min_m)/2+1,:),ln_C((m-min_m)/2+1,:));%画出双对数图
hold on;
end
这是在论坛搜集的程序,不知道是不是你们想要的?

点评

赞成: 5.0
赞成: 5
好人啊,给你加分!五颗星!谢谢啦!  发表于 2013-4-3 11:04
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-12-19 14:26 , Processed in 0.082101 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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