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

3 次查看(过去 30 天)
kazuma kaneda
kazuma kaneda 2021-11-25
でスプライン補間したいのですが関数ハンドルを用いると、以下のようにエラーが出ます。
エラー: 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
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 个)

类别

Help CenterFile Exchange 中查找有关 内挿 的更多信息

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!