Table and Array Indexing using loops

2 Ansichten (letzte 30 Tage)
Lui
Lui am 23 Mär. 2019
Hi everyone,
I have a challenge in indexing in a for loop.
I have a 696 by 2 table with a date identifier. This is as captured below. I would like to create a [648 4] from the [696 2] using the date identifier or otherwise.
I would like to create a new table such that
i=24;
n=numel(24:1:648);
H=zeros(n, 3);
for N=1:n
for i=24:648
i=[(i-days(1):days(1):i+days(2))]
% yields for me a new matrix for i=[GHI([i-day(1) i i+day(1)]
% which then gives me [648 3]
i=i+1;
end
H(N,:)=table2array(hvalues(i,2:4));
end
Any help on the above is highly appreciated.
  9 Kommentare
dpb
dpb am 7 Mai 2019
What's the specific error text (all the red from the command line in context)???
I'd have to wrap my head around the original Q? again to remind myself but there's nothing specifically wrong with the expression other than one has to ensure that i-48 is >=1 and newdata hasn't been previously defined as a noncormant size that this vector won't fit into...but functionally, it's the same idea, yes, and "it will work" given the constraints of where it is attempted are legitimate.
Walter Roberson
Walter Roberson am 7 Mai 2019
We do not know which version of the code was being used, so we do not really have any useable context for thinking there is an error.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Guillaume
Guillaume am 24 Mär. 2019
The aim is to increase the sample size of my data by sampling the data at 24 hours intervals.
why didn't you say that in the first place? That's a typical case of XY problem. You want to do something, don't know how to do it but think it can be done one way so ask about that way. Except that's not how it's done.
The simplest way to resample timed data is to convert your table into a timetable then use retime to resample it to whichever interval you want
hvalues = table2timetable(hvalues);
newvalues = retime(hvalues, 'daily', 'linear'); %resample at 24 hours interval using linear interpolation
However, I'm a bit confused, your data is hourly so I'm not sure how resampling in 24 hours interval is going to increase the sample size.
  1 Kommentar
Lui
Lui am 25 Mär. 2019
This gives me hourly values which I can easily retrieve. But I appreciate as this helps me elsewhere.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Data Type Identification finden Sie in Help Center und File Exchange

Produkte


Version

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by