Error inside the function,"Struct contents reference from a non-struct array object"?
信息
此问题已关闭。 请重新打开它进行编辑或回答。
显示 更早的评论
Error in split_train_test (line 11) idx_label = find(dataset.label == i);
tr_num = 240;
field = 'label';
value = {tottrainlabel};
dataset = struct(field,value);
class_num = length(unique(dataset.label));
fr_dat_split = split_train_test(F, tr_num,class_num);
function dataset_split = split_train_test(dataset, tr_num, class_num)
if nargin < 3
class_num = length(unique(dataset.label));
end
tr_idx = [];
tt_idx = [];
for i = 1 : class_num
idx_label = find(dataset.label == i);
num = length(idx_label);
idx_rand = randperm(num);
tr_idx = [tr_idx idx_label(idx_rand(1 : tr_num))];
tt_idx = [tt_idx idx_label(idx_rand(tr_num+1 : end))];
end
0 个评论
回答(1 个)
Walter Roberson
2017-1-10
Your call
fr_dat_split = split_train_test(F, tr_num, class_num);
is not passing the dataset into the function: it is passing some other variable, F instead. F is not a structure, whatever it is.
2 个评论
arun
2017-1-10
Walter Roberson
2017-1-10
Some of your classes do not have as many as 240 samples.
此问题已关闭。
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!