非線形の曲線を分割し​て範囲ごとに近似する​プログラムが作りたい​です。

4 visualizaciones (últimos 30 días)
IORI
IORI el 30 de En. de 2024
Comentada: IORI el 31 de En. de 2024
n_TH_L = 20;
for N_I = 1:101
polyfunc_I_LG_TH = polyfit(data_TH, data_TH_LG_I(N_I,:), n_TH_L);
for N_TH = 1:451
TH = 0.1*(N_TH-1);
I_L_TH(N_I, N_TH) = polyval(polyfunc_I_LG_TH, TH);
end
end
現在,polyfitを使って近似を行っています。近似して下の図に示すようなグラフを使っています。
変数data_TH_LG_Iは,101×46のテーブルデータです。
I_L_THにて101×451のデータにして上の図のようなグラフに直しております。
しかし,近似する際に,THが0-7の範囲で近似の次数が少し変わると,近似精度が悪くなります。
そのため,下の図に示すような範囲に分割してpolyfitで近似したいのですがプログラムにて範囲を分けて近似する方法が分かりません。
ご教授お願いいたします。
  2 comentarios
Akira Agata
Akira Agata el 30 de En. de 2024
サンプル点数が46個の曲線をなめらかに補間して451個にしたい、ということが目的でしたら interp1 を使う方法が簡単かと思います。あるいは今回はなにか理由があって区間ごとに多項式近似をしないといけないということでしょうか?
IORI
IORI el 31 de En. de 2024
ご回答ありがとうございます。
まさにおっしゃる通りの目的でございます。
早速,interp1を使ってみます。

Iniciar sesión para comentar.

Respuestas (0)

Etiquetas

Productos


Versión

R2022b

Community Treasure Hunt

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

Start Hunting!