范围内的Matlab指数但我超出了范围

时间:2016-11-11 10:58:38

标签: matlab

我尝试使用以下方法提取模型参数:

clc
clear all
data = xlsread('cancer_train.xlsx');
X = data(:,1:9);
Y = data(:,10);
mdl = fitcnb(X,Y);
mu=[];
[m,n] = size(data);
for i = 1:m
    mu(i,1) = mdl.DistributionParameters{1,i}(1);
end

我在第9个元素之后得到索引超出范围!可以在此处找到excel:http://dropcanvas.com/#S47z19vg5WISRQ

1 个答案:

答案 0 :(得分:0)

你的X取自数据,从1到9的所有行和列。在X中没有第10列。我认为你必须修改你的for循环

for i = 1:m
    mu(i,1) = mdl.DistributionParameters{i,1}(i);
end

因为m是行数,所以索引i必须用在行中,而不是列中。在你的代码中,你总是在第1行读取,循环在X的列上。

如果要阅读列,则应使用n

for i = 1:n
    mu(1,i) = mdl.DistributionParameters{1,i}(1);
end