How to frormat Table to use Previous Values for Calculations

1 回表示 (過去 30 日間)
Anthony Koning
Anthony Koning 2021 年 12 月 14 日
回答済み: Cris LaPierre 2021 年 12 月 14 日
Does anyone know how to format a table to use the previous values of a column to calculate the a new value. For example, using a base code of
x = (0:1:9)'
y = (2.*x)
T = table (x, y)
where I would like to subtract the previous value of Y to calculate a new Y value of:
x = (0:1:9)'
y = (2.*x-y)
T = table (x, y)
Is only producing 0s for the new Y value, whereas the table that looks like this is the desired outcome. The initial values of Y (used to calculate the first Y value) is 0
x = (0:1:9)'
y = [0; 2; 2; 2; 2; 2; 2; 2; 2; 2]
T = table (x, y)

回答 (1 件)

Cris LaPierre
Cris LaPierre 2021 年 12 月 14 日
I would use the table variable T
% original table
x = (0:9)';
y = (2*x);
T = table (x, y)
T = 10×2 table
x y _ __ 0 0 1 2 2 4 3 6 4 8 5 10 6 12 7 14 8 16 9 18
% New Y values
T.y=(2*T.x-T.y)
T = 10×2 table
x y _ _ 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0
The reason the new y values are all zero is because, in the original table, y is 2*x, so your new equation is really , which equals 0. You need a different equation to get the result you want.

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

製品


リリース

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by