2014-06-23 48 views
0

我在线运行matlab代码时出现错误。错误是:用于'int32'类型输入参数的未定义函数'relabel'。 import_experiment_label(第22行)中的错误runs = relabel(run);

警告:名称不存在或不是一个目录:...... \ toolbox_misc

未定义功能“重新标记”类型“的Int32”的输入参数。 Import_experiment_label(第22行)中的错误 runs = relabel(run);

我试着下载matlab toolbox misc在线,但还是无法修复 这个问题。任何人都可以帮助我?非常感谢!

以下是原代码:

% Load the text experiment-label file to cell 
% Kinalizer: /share/Bot/Research/mvpa_data/Haxby_6_subjects 
% mac: /Users/kittipat/Downloads/Research/Haxby_7_subjects 
% subjID = 2; 
inDir = ['/Users/kittipat/Downloads/Research/Haxby_7_subjects/subj',num2str(subjID),'/']; 
inFile = 'labels.txt'; 
outDir = ['/Users/kittipat/Downloads/Research/Haxby_7_subjects/subj',num2str(subjID),'/matlab_format']; 

fileID = fopen(fullfile(inDir,inFile)); 
% !!!!! Must remove "labels chunks" at the top of the txt file first 
myCell = textscan(fileID, '%s %d'); 
fclose(fileID); 
category_name = myCell{1}; 
run = myCell{2}; 

% Make sure the run numbers are well-ordered from 1 to R 
addpath('../../../toolbox_misc/'); 
runs = relabel(run); 
num_run = length(unique(runs)); 
num_time_stamp = length(runs); 

% Make associate labels (needs input from user) 
category_name_list = {'rest','face','house','cat','bottle','scissors','shoe','chair','scrambledpix'}; 
assoc_label_list = [0,1,2,3,4,5,6,7,8]; 
num_category = length(assoc_label_list); % including 'rest' 

assoc_label = zeros(num_time_stamp,1); 
regs = zeros(num_category,num_time_stamp); 
for i = 1:num_time_stamp 
    assoc_label(i) = assoc_label_list(strcmp(category_name{i},category_name_list)); 
    regs(assoc_label(i)+1,i) = 1; % 'rest' is column 1 
end 

regs_with_rest = regs; 
regs = regs(2:end,:); % exclude "rest" in the 1-st column 
num_category = num_category - 1; % exclude the "rest" 

save(fullfile(outDir,'experiment_design'),... 
    'category_name',...% the category name for each time stamp 
    'assoc_label',...% the number label for each time stamp 
    'assoc_label_list',...% the mapping between category_name and assoc_label 
    'category_name_list',...% list of the category name 
    'num_category',...% number of categories excluding "rest" 
    'regs',...% the category matrix excluding "rest" 
    'num_run',...% number of runs in well-ordered integer 
    'runs'... % the run# for each time stamp 
    ); 

%% plot the figure 
h1 = figure; 
subplot(4,1,2); plot(assoc_label,'b.-'); 
xlim([1, num_time_stamp]); 
set(gca,'YTick',0:max(assoc_label(:))); set(gca,'YTickLabel',category_name_list); 
subplot(4,1,1); plot(runs,'r.-'); 
title('run number after relabeling --> runs'); xlim([1, num_time_stamp]); 
subplot(4,1,3); imagesc(regs_with_rest); 
title('original design matrix --> regs\_with\_rest'); 
set(gca,'YTick',1:(num_category+1)); set(gca,'YTickLabel',category_name_list); 
subplot(4,1,4); imagesc(regs); 
title('after "rest" is removed --> regs'); 
xlabel('time stamps'); 
set(gca,'YTick',1:num_category); set(gca,'YTickLabel',category_name_list(2:end)); 
print(h1,'-djpeg',fullfile(outDir,'experiment_design.jpg')); 
+0

你是什么意思*在线运行matlab代码*?你是否在'import_experiment_label'中编写了调用'relabel'函数的代码,或者使用其他软件? – Geoff

+0

我无法找到名为“relabel”的工具箱功能。因此,你有没有见过它,它正常的matlab抛出一个异常 –

+0

我使用一些其他在线软件。 – user3761566

回答

0

我解决这个问题重新标记。然后我按如下方式更改部分代码。

inDir = ['/D disk/MATLAB/R2014a/subjX/beta_extraction_for_Haxby_matlab_toolbox_v1_8/subj',num2str(subjID),'/']; 

inFile = 'labels.txt'; 

outDir = ['/D disk/MATLAB/R2014a/subjX/beta_extraction_for_Haxby_matlab_toolbox_v1_8/subj',num2str(subjID),'/matlab_format']; 

另一个错误出现:

import_experiment_label 未定义函数或变量 'subjID'。

错误import_experiment_label(第7行) 下载= [ '/ d磁盘/ MATLAB/R2014a/subjX/beta_extraction_for_Haxby_matlab_toolbox_v1_8​​/SUBJ',num2str(subjID), '/'];

如何解决这个问题?我不知道这里有什么问题。感谢你们!

+0

以及其他错误来了: – user3761566

+0

使用集合错误 找到了错误的属性值。 对象名称:坐标轴 属性名称:'XLim' 值必须增加且不为NaN。 xlim错误(第43行) set(ax,'xlim',val); import_experiment_label(第57行)中的错误xlim([1,num_time_stamp]); – user3761566

+0

如何解决绘图问题?感谢你们! – user3761566

相关问题