関数ハンドルのスプライン補間の仕方

でスプライン補間したいのですが関数ハンドルを用いると、以下のようにエラーが出ます。
エラー: chckxy (行 24)
1 番目と 2 番目の入力は double 型または single 型でなければなりません。
エラー: spline (行 72)
[x,y,sizey,endslopes] = chckxy(x,y);
エラー: integral_solver (行 40)
aa = spline(x,a,xx);
関数ハンドルを用いると補間ができなくなるのでしょうか。
コードは以下のようになっています。
x = [0 1 2 3 5 7 8 10];
a = @(x)(x.^2);
xx = 0:.25:10;
aa = spline(x,a,xx);
plot(x,a,'o',xx,aa)
b = @(x) (x^3 + feval(a,x));
補間した関数を引数とした関数bを作ることを前提としています。

 채택된 답변

Hernia Baby
Hernia Baby 2021년 11월 25일

0 개 추천

aが関数ハンドルだからです。
一度xを代入してください。bも同様です。
x = [0 1 2 3 5 7 8 10];
a = @(x)(x.^2);
y = a(x);
xx = 0:.25:10;
yy = spline(x,y,xx);
plot(x,y,'o',xx,yy)
b = @(x) (x.^3 + feval(a,x));
y3 = b(x);

댓글 수: 1

kazuma kaneda
kazuma kaneda 2021년 11월 25일
ありがとうございます。理解しました。

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 内挿에 대해 자세히 알아보기

제품

릴리스

R2021b

질문:

2021년 11월 25일

댓글:

2021년 11월 25일

Community Treasure Hunt

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

Start Hunting!