MATLAB – 生成函数时只读取第一列variables

这可能是一个基本的问题。 我是初学者。

当我试图导入一个excel文件与5列和第1行列标题,并生成一个相同的function,MATLAB没有生成5个variables按列标题,但只有一个variables,这也与默认名字,答案。

请帮助。

这里是代码:

function [Date,Open,High,Low,Close] = importfile(workbookFile,sheetName,startRow,endRow) % If no sheet is specified, read first sheet if nargin == 1 || isempty(sheetName) sheetName = 1; end % If row start and end points are not specified, define defaults if nargin <= 3 startRow = 2; endRow = 250; end %% Import the data, extracting spreadsheet dates in MATLAB serial date number format (datenum) [~, ~, raw, dateNums] = xlsread(workbookFile, sheetName, sprintf('A%d:E%d',startRow(1),endRow(1)),'' , @convertSpreadsheetDates); for block=2:length(startRow) [~, ~, tmpRawBlock,tmpDateNumBlock] = xlsread(workbookFile, sheetName, sprintf('A%d:E%d',startRow(block),endRow(block)),'' , @convertSpreadsheetDates); raw = [raw;tmpRawBlock]; %#ok<AGROW> dateNums = [dateNums;tmpDateNumBlock]; %#ok<AGROW> end %% Replace date strings by MATLAB serial date numbers (datenum) R = ~cellfun(@isequalwithequalnans,dateNums,raw) & cellfun('isclass',raw,'char'); % Find spreadsheet dates raw(R) = dateNums(R); %% Create output variable data = reshape([raw{:}],size(raw)); %% Allocate imported array to column variable names Date = data(:,1); Open = data(:,2); High = data(:,3); Low = data(:,4); Close = data(:,5); 

[Date,Open,High,Low,Close] = importfile('filename.xlsx');