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

でスプライン補間したいのですが関数ハンドルを用いると、以下のようにエラーが出ます。
エラー: 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を作ることを前提としています。

 Risposta accettata

Hernia Baby
Hernia Baby il 25 Nov 2021

0 voti

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 Commento

kazuma kaneda
kazuma kaneda il 25 Nov 2021
ありがとうございます。理解しました。

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su 内挿 in Centro assistenza e File Exchange

Prodotti

Release

R2021b

Community Treasure Hunt

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

Start Hunting!