Comparing difference between two tables
5 views (last 30 days)
I am having some trouble comparing two data tables (Residential_Load & Solar_Data) both tables are 48x1. When using the the code below I keep getting a subscripting error however when I fix the subscripting error I get an error using the greater than or Less than functions.
I was wondering if there was any way to fix these issues of if there is an error in my code?
% Defining parameter
t = (0:0.5:23.5);
% Comparing differnce between Res Load and Solar Data plotting them to Battery Load
for i = 1:length(t)
if Residential_Load(i) > Solar_Data(i)
Battery1(i,:) = Residential_Load(i) - Solar_Data(i);
else Residential_Load(i) < Solar_Data(i)
Battery1(i,:) = Solar_Data(i) - Residential_Load(i);
legend('Battery','Solar Power','Residential Load');
Walter Roberson on 1 Oct 2022
If you mean that they are table() objects, then you cannot index a table object using only a single subscript. You can, however, index a variable within a table using only a single subscript. For example if the tables had a variable named Wattage then
if Residential_Load.Wattage(i) > Solar_Data.Wattage(i)
However I recommend that you learn to use logical indexing.
In this particular case you do not need any tests: you could do
Battery1 = abs(Solar_Data.Wattage - Residential_Load.Wattage);
However it is not clear to me why the battery value would be positive in both cases; I would tend to think that
Battery1 = Solar_Data.Wattage - Residential_Load.Wattage;
which would be negative for the times that the load exceeds the solar incidence.