スプライン曲線による図形変化

19 次查看(过去 30 天)
Ryosuke KIJIMA
Ryosuke KIJIMA 2020-1-15
编辑: michio 2020-1-23
上図のような関数を,n=2,n=4,n=12の高次スプライン曲線で表現した場合,どのようなコードを使えばよろしいでしょうか?
イメージとしては、下図のようなものにしたいです.
キャプチャ.PNG

采纳的回答

Musashi Ito
Musashi Ito 2020-1-15
多項式近似でよければ、多項式近似の関数があるみたいなので同じようなことができそうです。
% オリジナルデータの作成
x = 0:119;
y = [zeros(1,45) 90*ones(1,30) zeros(1,45)];
% 多項式近似
p2 = polyfit(x,y,2);
yp2 = polyval(p2,x);
p4 = polyfit(x,y,4);
yp4 = polyval(p4,x);
p12 = polyfit(x,y,12);
yp12 = polyval(p12,x);
% グラフの作成
figure
plot(x,y,'o-')
xlim([0 120])
ylim([0 120])
hold on
plot(x,yp2)
plot(x,yp4)
plot(x,yp12)
hold off
legend('元データ','2','4','12')
  2 个评论
Ryosuke KIJIMA
Ryosuke KIJIMA 2020-1-23
回答ありがとうございます。
もう一つ質問よろしいでしょうか。
図のようなグラフを作るとき,多項式近似の曲線がオリジナルデータより大きくならないように(y<=600)定義したいです.
どのようなコードを付け足せばいいか教えてください.
michio
michio 2020-1-23
编辑:michio 2020-1-23
Note: 追加質問分はこちら[関数の範囲選択]にて継続

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 スプライン 的更多信息

Community Treasure Hunt

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

Start Hunting!