MATLAB Answers

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

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

  댓글 수: 0

로그인 to comment.

채택된 답변

Musashi Ito
Musashi Ito 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

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

로그인 to comment.

추가 답변(0개)

이 질문에 답변하려면 로그인을(를) 수행하십시오.