Error with reading excel file
Show older comments
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 Comments
Walter Roberson
on 19 Feb 2021
load_demand does not appear to be a Mathworks function (unless it happens to be in one of the examples somewhere)
Anders Vigen
on 19 Feb 2021
Edited: Anders Vigen
on 19 Feb 2021
Walter Roberson
on 19 Feb 2021
Have one of them query
which load_demand
and see what shows up.
Anders Vigen
on 19 Feb 2021
Walter Roberson
on 19 Feb 2021
What was the output on both systems?
Anders Vigen
on 20 Feb 2021
Walter Roberson
on 20 Feb 2021
which load_demand
When you executed that command on your colleague's system what was the output?
Anders Vigen
on 20 Feb 2021
Walter Roberson
on 20 Feb 2021
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
on 20 Feb 2021
What shows up if you give the command
builtin('which', 'which')
Anders Vigen
on 20 Feb 2021
Walter Roberson
on 20 Feb 2021
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
Accepted Answer
More Answers (1)
Ani Singh
on 21 Feb 2021
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 Comment
Walter Roberson
on 22 Feb 2021
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'
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!