How to caculate a value for a step - the previous step

7 visualizzazioni (ultimi 30 giorni)
So, I have a value x and i want a piece of code which would allow me to take x_current - x_one_step_previously for example at iteration 50 i would want x_50-x_49 is there a way to do this in Matlab. Thanks in advance to anyone who helps!!

Risposte (2)

M il 3 Mag 2019
It depends on what you mean by "I have a value x".
It is actuallyquite easy to do for a straightforward example, but it depends on your applications.
Could you provide more details about what you are trying to do ?
Otherwise here is an example:
x = zeros(1,50);
for i = 1 :50;
x = i;
a = x (50) - x(49)
  2 Commenti
M il 6 Mag 2019
x is a vector 1x3, you can still save its value in another vector, let's call is x_saved, a vector of dimension 3 x 100.
Would something like the following example work ?
x_saved = zeros(3,100);
for i = 1 : 100
x = ... ; vector 1 x 3
x_saved(:,i) = x;
if i ~= 1
delta = x(:,i)-x(:,i-1);

Accedi per commentare.

Steven Lord
Steven Lord il 3 Mag 2019
If you have numbered variables (which you shouldn't) then it will be painful.
If you have elements in an array, it's easy.
x = (1:20).'.^2;
dx = diff(x);
Note that dx has one fewer element than x, so if you want to display them together you'll need to augment it with an extra element like so:
dx2 = [0; dx];
t = table(x, dx2, 'VariableNames', {'x', 'delta_x'})
  1 Commento
Nikolaos Zafirakis
Nikolaos Zafirakis il 3 Mag 2019
Hello Steven,
I think you have misunderstood my question, hope this example clears it up. I look forward to your response.
kind regards,
for i = 0:t
x(i) = (x1(i) - x2 /t1(i) -t2); % x2 and t2 are the state at the previous interval
end % so if at t = 20 i will have x(i) = (x1(20) - x2(19) /t1(20) -t2(19))

Accedi per commentare.


Scopri di più su Data Type Identification in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by