我在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'。"
的值这究竟是什么意思?
答案 0 :(得分:2)
变量date
是datetime
类型的向量,您不能使用datetime
类型作为另一个数组的索引。您似乎要从索引40746
到43635
选择所有日期值,因此您只需为fuelCost
向量选择相同的索引集:
FuelCost = fuelCost(:, 40746:43635);
如果您有一组起始和结束日期值tStart
和tEnd
,则可以找到date
中属于此范围内的值的逻辑索引,然后索引{{ 1}}用它:
fuelCost