changing time interval of interest in a dataset

My code below uses my data, and follows the equation Q_i+1 - Q_i/time
The time interval of interest changes as defined by time. However as well as the time interval changing, I want matlab to change the numbers from the data.
When dt = 1: Q_i+1 - Q_i /1
When dt = 2: Q_i+2 - Q_i /2
Whhen dt = 3: Q_i+3 - Q_i /3
And so forth up to the end of the defined time range.
The code below works when time = 1, but im struggling to change the part (M(2:end) - M(1:end)) to follow the rule defined above
time = 1:1:10; %increasing time intervals of interest up to Trw
for a = 1:length(time)
M_s = (M(2:end) - M(1:end))/time(a); %each time step
end

Risposte (1)

Kapil Kumar
Kapil Kumar il 11 Lug 2022
time = 1:1:10;
for a = 1:length(time)
M_s = (M((a+1):end) - M(1:end))/time(a); %each time step
end
If this code is working fine for time=1 then this might help.

4 Commenti

thank you for your repsonse.
When I run this i get the errror: Arrays have incompatible sizes for this operation.
ohh that is because the length of time and M are not same. you will have to fix that.
you can define a condition so that for loop can be terminated when 'a' exceeds the length of M.
I can't fix it as such, because I want it to go up in increasing time intervals through the dataset M.
you can use length of M instead of length of time (in line 2)
and also for time you can make length of time same as the length of M
then it will work fine. If there is no time contraints.

Accedi per commentare.

Categorie

Scopri di più su Operators and Elementary Operations in Centro assistenza e File Exchange

Richiesto:

il 11 Lug 2022

Commentato:

il 11 Lug 2022

Community Treasure Hunt

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

Start Hunting!

Translated by