首页 > 编程知识 正文

matlab矩阵索引,matlab矩阵

时间:2023-05-04 18:10:48 阅读:170821 作者:884

索引超出了矩阵维。

错误reduceei(line3)。

ifany(m ) 1, ) )

错误eisum(line4) )。

f=reduce ei ([ zeros (max (msize (2(1,Nsize(1)1)-Msize(1) 1,msize )2) ] m )、[Zeros(max(msize(1) ) n ) );

错误类描述(line9) )。

F1=Eisum(F1,f2 );

错误AFS_iris_classify(line33 ) ) )。

describe class { K1 }=class describe (xattribute,ClassLength 1,classlengthclassnum ) k1 );

清除

clc

traindata_mat=xlsread(train1);

testdata_mat=xlsread('test1);

[TrainSampleNum,trainattributenum ]=size (train data _ mat );

Parameter_Mat=[0.8 0.5 0.2;

0.8 0.5 0.2;

0.8 0.5 0.2;

0.8 0.5 0.2;

0.8 0.5 0.2;

0.8 0.5 0.2;

0.8 0.5 0.2;

0.8 0.5 0.2;

0.8 0.5 0.2] );

str _ mat=gen _ structure (train data _ mat,Parameter_Mat );

lou_mat=ones(trainsamplenum,6*TrainAttributeNum );

Logic_Ind=1;

Threshold_1=0.8;

Threshold_2=0.75;

NumK=1;

错误=0;

[Attribute_2,SimpleConcepts,simplememships ]=initial describe (Lou _ mat,Str_Mat,Logic_Ind,threshold _ theshold )

trainclasslabel=[ ones (1,140 ),2*Ones ) 1,115 ] ]

test class label=[ ones (1,45 ),2*Ones ) 1,40 ];

xtribute=select describe1(attribute _ 2,TrainClassLabel,NumK,Error,Lou_Mat,Str_Mat,Logic_Ind );

classnum=histc(trainclasslabel,unique ) trainclasslabel ); %计算每班有多少样品和班的个数

ClassLength=0;

fork1=1:length(classnum ) ) ) ) ) ) ) ) ) ) ) ) )。

describe class { K1 }=class describe (xattribute,ClassLength 1,classlengthclassnum ) k1 );

classlength=classlengthclassnum (k1 );

结束

forK2=1:length(classnum ) ) ) ) )。

train memberships1(k2, )=degree(lou_mat,Str_Mat,DescribeClass{k2},Logic_Ind ); %首次切割后在训练集中的隶属度

结束

[TrainCorrectRate1,ClassAccuaryNum1,ClassAccuary1,ComparaMatrix1,error vector1]=classifytestafs (train memberships1)

[TestSampleNum,testattributenum ]=size (test data _ mat );

test str _ mat=gen _ structure (test data _ mat,Parameter_Mat );

testlou_mat=Ones(testsamplenum,6*TestAttributeNum );

forK4=1:length(classnum ) ) ) ) ) ) ) ) ) ) )。

test memberships1(k4, )=degree(testlou_mat,TestStr_Mat,DescribeClass{k4},Logic_Ind ); %初次切割后在测试集中的隶属度

结束

[TestCorrectRate1,TestClassAccuaryNum1,TestClassAccuary1,TestComparaMatrix1,testerrorvector1]=classifytestafs (tes )

TrainCorrectRate1

TestCorrectRate1

TestClassAccuaryNum1

函数n=reduce ei (m ) )。

ifany(m ) 1, ) )

error (' thefirstrowofinputmatrixmustbezeros.' )

结束

m=compactei(m;

m=Tran_bool(m;

reserve_ei=reduceei_bool(m;

n=tran_ei_mat(reserve_ei );

返回

functionf=eisum(m,n ) ) ) ) ) ) ) ) ) ) ) functionf=eisum(m,n )。

msize=size(m;

nsize=size(n;

f=reduce ei ([ zeros (max (msize (2(1,Nsize(1)1)-Msize(1) 1,msize )2) ] m )、[Zeros(max(msize(1) ) n ) );

返回

函数f=class describe (x _ attribute,I,j ) )。

%X_attribute是一个行向量的单元格数组,按相同类型的说明分段放置

%属性矩阵(单元格数组) )

每个%i,j类的起点、终点

f1=X_attribute{i};

if(I=j ) )。

for Index=i 1:j

f2=X_attribute{Index};

F1=Eisum(F1,f2 );

结束

else

for Index=i-1:-1:j

f2=X_attribute{Index};

F1=Eisum(F1,f2 );

结束

结束

f=reduceei(F1;

返回;

寻求大接触的帮助,我调查了很多,对于这个“索引超过了矩阵的维度”,到底应该怎么改变代码呢? 为什么输入数据量少的话有时不会超过维度?

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