首页 > 编程知识 正文

matlab显示矩阵,matlab转置矩阵命令

时间:2023-05-03 06:01:55 阅读:170820 作者:8

MATLAB索引超出了矩阵的维度。 请告诉大神错误。

MATLAB索引超出了矩阵的维度。 请告诉大神错误。 最近,在进行k均值动态聚类时,matlab提示索引超出了矩阵维,不知道问题出在哪里。

代码N1=50;

N2=N1;

N3=N1; %按样品种类设定50个

N=N1 N2 N3;

d=2; 将%设置为二维样本

x1=rand(d,N1 ); %第1种样品,1个样品占1列

x2=rand(d,N2 ) 1;

x3=rand(d,N3 ) 2; %第2类样品,一个样品占一列

X=[X1 X2 X3];

--------- 2、进行初始化------------2

m1 _ pre=x (:1 ); 初始化%类1的平均值,使之成为=x1

m2 _ pre=x (:2 );

m3 _ pre=x (:3 ); 初始化%类2的平均值,使之成为=x2

epsilon=0.001; %收敛阈值

T_max=1000; %最大迭代次数

------------- 3、反复------------------------------3

for t=0:T_max

图形; 绘制%样本平均值

保持打开; plot(m1_pre(2(1,m1_pre ) 2、‘gv’、‘markersize’、10、‘markerfacecolor’、‘g’);

保持打开; plot(m2_pre(2(1,m2_pre ) 2、‘kv’、‘markersize’、10、‘markerfacecolor’、‘k’);

保持打开; plot(m3_pre(2(1,m3_pre ) 2、‘RV’、‘markersize’、10、‘markerfacecolor’、‘r’);

m1=0;

m2=0;

m3=0;

N1=0;

N2=0;

N3=0;

for i=1:N

Xi=x(3360,I;

ifnorm(Xi-m1_pre ) norm(Xi-m2_pre ) norm(Xi-m2_pre ) norm ) Xi-m3_pre ) %最小距离确定,norm计算向量的模式

m1=m1 xi;

N1=N1 1;

保持打开; plot(Xi ) 1、Xi ) 2、Xi ) 3、‘go’、‘markersize’、5、‘markerfacecolor’、‘g’);

ELSEifnorm(Xi-m2_pre ) norm (Xi-m1 _ pre (norm ) Xi-m2 _ pre (norm ) Xi-m3_pre ) ) ) ) ) )

m2=m2 xi;

N2=N2 1;

保持打开; plot(Xi ) 1、Xi ) 2、Xi ) 3、‘ko’、‘markersize’、5、‘markerfacecolor’、‘k’);

elsenorm(Xi-m3_pre ) norm (Xi-m1 _ pre (norm ) Xi-m3 _ pre (norm ) Xi-m2_pre ) ) ) ) ) ) )

m3=m3 xi;

N3=N3 1;

保持打开; plot(Xi ) 1、Xi ) 2、Xi ) 3、‘ro’、‘markersize’、5、‘markerfacecolor’、‘r’);

结束

结束

结束

m1=m1/N1;

m2=m2/N2;

m3=m3/N3;

t=t 1; %迭代次数1

xlabel (‘x _ 1’、‘fontsize’、16 );

ylabel (‘x _ 2’、‘fontsize’、16 );

title(sprintf )、‘t=% d’、t )、‘fontsize’、20 );

ifnorm(m1-m1_pre ) epsilonnorm ) m2-m2_pre ) epsilonnorm ) m3-m3_pre ) epsilon %确定是否要停止迭代

黑;

结束

m1_pre=m1; 更新%平均值

m2_pre=m2;

m3_pre=m3;

结束

disp(sprintf )《反复%d次! 》、t ); 显示%迭代次数

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。