原来是小飞 发表于 2014-6-7 09:35

代码出错,恳求帮忙


使用论坛上搜到的一个预测代码,可是总是出错,自己调试了半天,没解决,请大家帮忙看下,代码如下:data1=load('b1.txt');
data=data1(75:4296,:);
=size(data);
% 确定临域中的各个点到基准点的欧氏距离
Xk=data(row,:);%Xk为中心点
Distance=zeros(1,row-1);
for i=1:row-1
Mid=data(i,:);
Minus=Xk-Mid;
D=0;
for j=1:col
D=D+Minus(j)^2;
end
Distance(i)=sqrt(D);
end
% 找出欧式距离最小的M个点作为中心点的最近临域其值放在Xi中
M=2*col+1;
Xi=zeros(M,col);
% 确定Distance中的最小值
dm=min(Distance);
% D中为距离值
D=zeros(1,M);
for i=1:M
Midmin=min(Distance);
D(i)=Midmin;
[~,d]=find(Distance==Midmin);
d=d(1);
Xi(i,:)=data(d,:);
Distance(d)=nan;
end
%计算权重P
p=zeros(1,M);
for i=1:M
fenzi=exp(dm-D(i));
fenmu=0;
for j=1:M
fenmu=fenmu+exp(dm-D(j));
end
p(i)=fenzi/fenmu;
end
Forcast=zeros(1,col);
for i=1:M-1
Forcast=Forcast+p(i)*Xi(i+1,:);
end
% 处理奇异值 和零阶局域法计算的结果对比
% 计算加权零阶局域法预测出来的值
Test=mean(Xi,1);
if Test(col)/2>Forcast(col)
Forcast=mean(data(row-2:row,:));
end
end错误和提示如下:??? [~,d]=find(Distance==Midmin);
      |
Error: Expression or statement is incorrect--possibly unbalanced (, {, or [.
页: [1]
查看完整版本: 代码出错,恳求帮忙