matlab中怎么修改程序代码,=求助= Matlab如何修改下列程序

这段程序是我摘录模式识别与智能计算——matlab实现上的程序(P253),但在运行时出现??? Undefined function or variable 'DisSelDlg'. 的错误,我看书上的结果应该会出现个对话框提示我选择哪种距离计算类型,但是却运行出错!如果我在计算其距离时改用Getdistance()函数,那么该程序应该如何修改!  小生,先在此谢谢大家!

程序如下:

function [m_pattern] = C_KJunzhi(m_pattern, patternNum)

disType=DisSelDlg();%获得距离计算类型

[centerNum iterNum]=inputClassDlg();%获得类中心数和最大迭代数

for i=1:pattern

m_pattern(i).distance=inf;

m_pattern(i).category=-1;

end

randPattern=randperm(patternNum);

for i=1:centerNum%初始化,随即分配centernum个粒子为一类

m_pattern(randPattern(i)).category=i;

m_pattern(randPattern(i)).distance=0;

m_center(i).feature=m_pattern(randPattern(i)).feature;

m_center(i).index=i;

m_center(i).patternNum=1;

end

counter=0;%记录当前已经循环的次数

change=1;

while(counter

counter=counter+1;

change=0;

for i=1:patternNum

index=-1;

distance=inf;

for j=1:centerNum

tempDis=GerDistance(m_pattern(i),m_center(j),Distype);

if(distance>tempDis)

distance=tempDis;

index=j;

end

end

if(m_pattern(i).category==index)

m_pattern(i).distance=distance;

else

oldindex=m_pattern(i).category;%记录原类号

m_pattern(i).category=index;

m_pattern(i).distance=distance;

if(oldindex~=-1)

m_pattern(oldindex)=CalCenter(m_center(oldindex),m_pattern,patternNum);

end

m_center=CalCrenter(m_pattern(index),m_pattern,patternNum);

change=1;

end

end

end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值