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

조회 수: 6 (최근 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!