0

方程式に問題があり、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 ラジアンずれており、約q20.01q3ラジアンずれています。数値解法の経験があまりないので、情報が必要なだけですが、そのように見えるはずですか?

そうでない場合、次に取るべき有効なオプションは何ですか? おそらく別のツールボックスを使用して、この方程式を多項式に変換しますか?

または、Matlab でこれを実行しようとしている場合、solve() を使用するときにソリューションをどのように制限できますか? assume()Symbolic Toolbox のandに相当するものを考えていassumeAlsoます。

あなたの助けに感謝します。

4

1 に答える 1