Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2015-03-07
年龄: 30
帖子: 3
声望力: 0 ![]() |
![]()
最近用svm做分类,一直不知道下面的程序错在哪里,还望指教
代码:
function p=dividetest(datatrain,datatest,order) %本函数用来对MASTAR里的SAR图像进行分类 %p=dividetest(datatrain,datadivide) %输入:datatrain 训练样本数据 由dataread读取 % :datadivide 测试样本数据 由datadivide读取 % :order 进行分数阶变换的阶数 %输出:p 分类成功率 %计算训练样本的分数阶傅里叶变换,并计算Hu矩 n=size(datatrain,1); hudatatt=zeros(n,7); %hu of datatrain's transform for i=1:n hudatatt(i,:)=Hu(DTFrFT2(abs(datatrain{i,1}),order)); end %训练svm svmStruct=svmtrain(hudatatt,datatrain{:,2}); %计算测试样本的分数阶傅里叶变换,并计算Hu矩 m=size(datatest,1); hudatadt=zeros(m,7); %hu of datadivide's transform for i=1:m hudatadt(i,:)=Hu(DTFrFT2(abs(datatest{i,1}),order)); end C=svmclassify(svmStruct,hudatadt); p=1-sum(datatest~=C)/m; Error using svmtrain (line 253) Y and TRAINING must have the same number of rows. 其中datatest,dataread是原胞数组,第二列存的的都类型信息; |
![]() |
![]() |