使用==>时出错plot3无法从单元格转换为double。 plot3(P(1,:),P(2,:),P(3,:), '+ R');

时间:2013-01-27 04:42:59

标签: matlab plot

我试图在kdd数据集上调用竞争层,但我得到了这个:

???Error using ==> plot3 Conversion to double from cell is not possible. plot3(p(1,:),p(2,:),p(3,:),'+r');

这是我的代码:

clear all;
p=importdata('kdd train.txt');
tar=[];
for i=0:size(p);
    tar=[tar;0 1];
end
net=newc(tar,5,0.1);
w = net.IW{1};
plot3(p(1,:),p(2,:),p(3,:),'+r');
grid on;
hold on;
circles = plot3(w(:,1),w(:,2),w(:,3),'ob');
net.trainParam.epochs = 10;
net = train(net,p);
w = net.IW{1};
delete(circles);
plot3(w(:,1),w(:,2),w(:,3),'ob');

任何人都可以看到导致错误的原因吗?

1 个答案:

答案 0 :(得分:1)

该错误表示对于p变量,假设是从单元格转换为double,因此我假设p是单元数组而不是数字矩阵。尝试使用cell2mat转换它:

 p=cell2mat(p);