interpolation in Matrix to have at the end equidistance points based on X

1 回表示 (過去 30 日間)
Mad Gano
Mad Gano 2022 年 9 月 7 日
コメント済み: Mad Gano 2022 年 9 月 8 日
I want to interpolate a Matrix based on only X values, so I have at the end equidistance points.
For example, If the Matrix is M
M=[ 1 2 1
3 5 6
6 11 17
7 12 19
11 24 25];
I need function to interpolate M making it to
M_interp=[ 1 2 1
2 3.5 3.5
3 5 6
4 7 9.667
5 9 13.333
6 11 17
7 12 19
8 15 20.5
9 18 22
10 21 23.5
11 24 25];

採用された回答

Walter Roberson
Walter Roberson 2022 年 9 月 7 日
編集済み: Walter Roberson 2022 年 9 月 7 日
format long g
M=[ 1 2 1
3 5 6
6 11 17
7 12 19
11 24 25];
M_interp = interp1(M(:,1), M, min(M(:,1)):max(M(:,1)))
M_interp = 11×3
1 2 1 2 3.5 3.5 3 5 6 4 7 9.66666666666667 5 9 13.3333333333333 6 11 17 7 12 19 8 15 20.5 9 18 22 10 21 23.5
  3 件のコメント
Walter Roberson
Walter Roberson 2022 年 9 月 7 日
format long g
X = 1:11;
M=[ 1 2 1
3 5 6
6 11 17
7 12 19
11 24 25];
M_interp = interp1(M(:,1), M, X)
M_interp = 11×3
1 2 1 2 3.5 3.5 3 5 6 4 7 9.66666666666667 5 9 13.3333333333333 6 11 17 7 12 19 8 15 20.5 9 18 22 10 21 23.5
Mad Gano
Mad Gano 2022 年 9 月 8 日
Thank you :)

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

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

Community Treasure Hunt

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

Start Hunting!

Translated by