非線形の曲線を分割して範囲ごとに近似するプログラムが作りたいです。
조회 수: 4 (최근 30일)
이전 댓글 표시
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
Akira Agata
2024년 1월 30일
サンプル点数が46個の曲線をなめらかに補間して451個にしたい、ということが目的でしたら interp1 を使う方法が簡単かと思います。あるいは今回はなにか理由があって区間ごとに多項式近似をしないといけないということでしょうか?
답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 表面プロットとメッシュ プロット에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!