手の画像に基づいていくつかの点をプロットしたいと思います。次に、ラグランジュ補間法を使用して、すべての点をまとめてプロットし、手の形が表示されるようにする必要があります。関数は1対1または多対1でのみ有効であるため、補間を行うのに苦労しました。ただし、手の形には、x 座標は同じでも y 座標は異なる 2 つのポイントが必要です。助言がありますか?
1 に答える
2
手の形を表す n 個の点 (x,y) のシーケンスがあります。matlab では、これを 2 つのベクトルで表すことができます。
X=[x1;x2;..;xn]
Y=[y1;y2;..;yn]
これで、手の形状をパラメトリック方程式で表すことができます。
x = f(t);
y = g(t);
ラグランジアン補間を使用するには、長さ n のベクトル t を選択する必要があります
t=[t1;t2;t3;...;tn] #(with t increasing)
t 内の各要素 ti について、次のステートメントが true になる必要があります。
xi = f(ti)
yi= g(ti)
これは、f(t) と g(t) によって記述される曲線が、指定したすべての点を通過することを意味します。ベクトル x でラグランジアン補間を使用して f(t) の方程式を見つけることができ、y で同じことを行うことで g(t) を見つけることができます。
ここで、t の多くの値で [f(t),g(t)] を評価する必要があります。
結論
手短に解決策を述べます。パラメトリック形式で手の形状を表現します。これを行うことで、x 座標と y 座標のベクトルに対して個別にラグランジアン補間を行うことができます。(必ず同じパラメーターを使用し、そのパラメーターが任意のポイントで等しいことを確認してください。)
于 2013-05-26T15:42:56.563 に答える