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

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

Akzeptierte Antwort

Musashi Ito
Musashi Ito am 15 Jan. 2020
多項式近似でよければ、多項式近似の関数があるみたいなので同じようなことができそうです。
% オリジナルデータの作成
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 Kommentare
Ryosuke KIJIMA
Ryosuke KIJIMA am 23 Jan. 2020
回答ありがとうございます。
もう一つ質問よろしいでしょうか。
図のようなグラフを作るとき,多項式近似の曲線がオリジナルデータより大きくならないように(y<=600)定義したいです.
どのようなコードを付け足せばいいか教えてください.
michio
michio am 23 Jan. 2020
Bearbeitet: michio am 23 Jan. 2020
Note: 追加質問分はこちら[関数の範囲選択]にて継続

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu スプラインの後処理 finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!