3

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');

誰でもエラーの原因を確認できますか?

4

1 に答える 1

1

エラーは、p変数の場合、セルから倍精度への変換があると想定しているためp、数値行列ではなくセル配列であると想定しています。を使用して変換してみてくださいcell2mat

 p=cell2mat(p);
于 2013-01-27T05:07:14.267 に答える