Error with reading excel file
显示 更早的评论
start_date = datetime(2020,1,2,0,0,0);
end_date = datetime(2020,1,3,0,0,0);
demand = load_demand('Demand_timeseries_1hourResolution.xlsx',start_date,end_date);
figure (21)
plot(demand.Time, demand.Values)
xlabel('Time');
ylabel('Demand [MW]');
title('Demand')
I'm having bit of a frustrating issue with my scrript. I wantto read excel file in the same folder where I have my matlab file, however it keeps giving me the same error
'Unrecognized function or variable 'load_demand''
The script works for everybody else but me, so I can't find the problem.
I hope somebody can help me
13 个评论
Walter Roberson
2021-2-19
load_demand does not appear to be a Mathworks function (unless it happens to be in one of the examples somewhere)
Anders Vigen
2021-2-19
编辑:Anders Vigen
2021-2-19
Walter Roberson
2021-2-19
Have one of them query
which load_demand
and see what shows up.
Anders Vigen
2021-2-19
Walter Roberson
2021-2-19
What was the output on both systems?
Anders Vigen
2021-2-20
Walter Roberson
2021-2-20
which load_demand
When you executed that command on your colleague's system what was the output?
Anders Vigen
2021-2-20
Walter Roberson
2021-2-20
If you obtained a plot when you gave that command, then you have accidentally overwritten the important MATLAB command "which".
>> which load_demand
'load_demand' not found.
>> which timerange
/Applications/MATLAB_R2020b.app/toolbox/matlab/datatypes/tabular/timerange.m % timerange constructor
That's the sort of output you should have seen when you ran the command
which load_demand
on your colleague's computer: either "not found" or the location of the implementing method.
Anders Vigen
2021-2-20
What shows up if you give the command
builtin('which', 'which')
Anders Vigen
2021-2-20
Walter Roberson
2021-2-20
Okay, and what about on your colleague's computer? What shows up on there?
At this point, I can pretty much predict an implimentation of the function:
function demand = load_demand(filename, start_date, end_date)
T = readtable(filename);
mask = isbetween(T{:,1}, start_date, end_date);
demand = T(mask,:);
end
采纳的回答
更多回答(1 个)
Ani Singh
2021-2-21
From the error "'Unrecognized function or variable 'load_demand" looks like you do not have "load_demand" user-defined function implementation(which is not function provided by MathWorks).
Please get the "load_demand" file from your colleague's system or write implementation your function.
Example:
function demand = load_demand(fileName, startDate, endDate)
excelOutput = readtable(fileName);
query = isbetween(excelOutput{:,1}, startDate, endDate);
demand = excelOutput(query,:);
end
1 个评论
Walter Roberson
2021-2-22
According to other posts by the same user, the file turns out to have a date column and an hours column, but the hours problem had text such as '00-01' and '07-08'
类别
在 帮助中心 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
