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

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

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

最佳答案

错误表明,对于 p 变量,假设有一个从单元格到 double 的转换,所以我假设 p 是一个单元格数组,而不是一个数字矩阵。尝试使用 cell2mat 转换它:

 p=cell2mat(p);

关于matlab - 使用 ==> plot3 时出错 无法从单元格转换为 double 。 plot3(p(1, :), p(2, :), p(3,:) ,'+r' );,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14544505/

相关文章:

matlab - 条件文本导入或按 header 名称导入 - MATLAB

python - Matlab 到 Python : Solving the system using SVD

matlab - FOR 循环最快的语言

python - Matplotlib基于手动缩放的x轴缩放y轴

matlab - 激光雷达数据的 delaunay 三角测量输出

matlab - 在Matlab中绘制样本的正态分布图

arrays - 在 accumarray 中使用百分比函数

r - 在 R 中绘制图形并将其循环导出到 Excel

r - ggplot2:更改 facet_grid 图中的 strip.text 位置

r - 如何向填充等高线图添加点?