声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1988|回复: 0

[分形与混沌] 代码出错,恳求帮忙

[复制链接]
发表于 2014-6-7 09:35 | 显示全部楼层 |阅读模式

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

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

x

使用论坛上搜到的一个预测代码,可是总是出错,自己调试了半天,没解决,请大家帮忙看下,代码如下:
  1. data1=load('b1.txt');
  2. data=data1(75:4296,:);
  3. [row,col]=size(data);
  4. % 确定临域中的各个点到基准点的欧氏距离
  5. Xk=data(row,:);%Xk为中心点
  6. Distance=zeros(1,row-1);
  7. for i=1:row-1
  8. Mid=data(i,:);
  9. Minus=Xk-Mid;
  10. D=0;
  11. for j=1:col
  12. D=D+Minus(j)^2;
  13. end
  14. Distance(i)=sqrt(D);
  15. end
  16. % 找出欧式距离最小的M个点作为中心点的最近临域其值放在Xi中
  17. M=2*col+1;
  18. Xi=zeros(M,col);
  19. % 确定Distance中的最小值
  20. dm=min(Distance);
  21. % D中为距离值
  22. D=zeros(1,M);
  23. for i=1:M
  24. Midmin=min(Distance);
  25. D(i)=Midmin;
  26. [~,d]=find(Distance==Midmin);
  27. d=d(1);
  28. Xi(i,:)=data(d,:);
  29. Distance(d)=nan;
  30. end
  31. %计算权重P
  32. p=zeros(1,M);
  33. for i=1:M
  34. fenzi=exp(dm-D(i));
  35. fenmu=0;
  36. for j=1:M
  37. fenmu=fenmu+exp(dm-D(j));
  38. end
  39. p(i)=fenzi/fenmu;
  40. end
  41. Forcast=zeros(1,col);
  42. for i=1:M-1
  43. Forcast=Forcast+p(i)*Xi(i+1,:);
  44. end
  45. % 处理奇异值 和零阶局域法计算的结果对比
  46. % 计算加权零阶局域法预测出来的值
  47. Test=mean(Xi,1);
  48. if Test(col)/2>Forcast(col)
  49. Forcast=mean(data(row-2:row,:));
  50. end
  51. end
复制代码
错误和提示如下:
  1. ??? [~,d]=find(Distance==Midmin);
  2.       |
  3. Error: Expression or statement is incorrect--possibly unbalanced (, {, or [.
复制代码

回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-12-23 16:36 , Processed in 0.064232 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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