サンプル点数が46個の曲線をなめらかに補間して451個にしたい、ということが目的でしたら interp1 を使う方法が簡単かと思います。あるいは今回はなにか理由があって区間ごとに多項式近似をしないといけないということでしょうか?
非線形の曲線を分割して範囲ごとに近似するプログラムが作りたいです。
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で近似したいのですがプログラムにて範囲を分けて近似する方法が分かりません。

ご教授お願いいたします。
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 表面プロットとメッシュ プロット 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!