错误:功能' subsindex'没有为class' datetime'的值定义

时间:2018-04-16 02:55:15

标签: matlab

我在MatLab工作并拥有调用excel文件的脚本,然后将它们转换为MatLab格式。

Data=csvread('Group1LoadData.csv',1,0,[1,0,161675,21]);  %Loads the data from a csv file
date=Data(:,1)';
salePrice=Data(:,2)';
fuelCost=Data(:,3)';
Demand=Data(:,4)';
totalProd=Data(:,5)';
SteamSold=Data(:,6)';
turbine1Prod=Data(:,7)';
turbine1Fuel=Data(:,8)';
turbine1CO=Data(:,9)';
turbine1Nox=Data(:,10)';
turbine2Prod=Data(:,11)';
turbine2Fuel=Data(:,12)';
turbine2CO=Data(:,13)';
turbine2Nox=Data(:,14)';
db1Fuel=Data(:,15)';
db1Steam=Data(:,16)';
db2Fuel=Data(:,17)';
db2Steam=Data(:,18)';
steamProd=Data(:,19)';
steamFuel=Data(:,20)';
natGasDensity=Data(:,21)';
temp=Data(:,22)';
date=datetime(date,'ConvertFrom','excel');

我要做的是创建一个名为" FuelCost"的新变量。通过调用来自" fuelCost"的数据在前面的代码中,但仅使用特定日期,如图所示。

% Group1BEclcs
tStart=date(:,40746);
tEnd=date(:,43635);
date_use=(tStart:tEnd);
FuelCost=fuelCost(:,(date_use));

但是,我一直收到错误显示

"功能' subsindex'未定义类' datetime'。"

的值

这究竟是什么意思?

1 个答案:

答案 0 :(得分:2)

变量datedatetime类型的向量,您不能使用datetime类型作为另一个数组的索引。您似乎要从索引4074643635选择所有日期值,因此您只需为fuelCost向量选择相同的索引集:

FuelCost = fuelCost(:, 40746:43635);

如果您有一组起始和结束日期值tStarttEnd,则可以找到date中属于此范围内的值的逻辑索引,然后索引{{ 1}}用它:

fuelCost