方程式に問題があり、MATLAB と Symbolic Toolbox の両方を使用して数値的に解こうとしています。私は MATLAB ヘルプのいくつかのソース ページを調べ、いくつかのトリックを取り上げ、それらのほとんどを試しましたが、満足のいく結果は得られませんでした。
q1
私の目標は、 、q2
およびq3
角度で 3 つの非多項式のセットを解くことです。これらの変数は、工業用マニピュレーターの関節角度を表し、私が達成しようとしているのは、このモデルの逆運動学を解くことです。私の一連の方程式は次のようになります: http://imgur.com/bU6XjNP
私はそれを解決しています
numeric::solve([z1,z2,z3], [q1=x1..x2,q2=x3..x4,q3=x5..x6], MultiSolutions)
xn
必要に応じて定数を変更します。それでも、いくつかの奇妙な結果が得られますq1
。var は約 0.1 ラジアンずれており、約q2
0.01q3
ラジアンずれています。数値解法の経験があまりないので、情報が必要なだけですが、そのように見えるはずですか?
そうでない場合、次に取るべき有効なオプションは何ですか? おそらく別のツールボックスを使用して、この方程式を多項式に変換しますか?
または、Matlab でこれを実行しようとしている場合、solve() を使用するときにソリューションをどのように制限できますか? assume()
Symbolic Toolbox のandに相当するものを考えていassumeAlso
ます。
あなたの助けに感謝します。