• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MATLABのシンボリックの係数行列の順序について)

MATLABのシンボリックの係数行列の順序について

このQ&Aのポイント
  • MATLABで1変数多項式の係数行列を取得する際、順序に注意が必要です。
  • 最高次の係数を基準に規格化する方法もあります。
  • 初心者でも理解しやすいように解説しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • Kules
  • ベストアンサー率47% (292/619)
回答No.2

A No.1のKulesです。 >3   2 >x +2*x +1のような形で2行にわたって出力してしまいます… 2行で出てくるならむしろ好都合ですよね? 1行目に必ず次数が出てくるんですから。 これは文字列で出てくるんですかね? まあ10次以上出てくるならちょっと面倒ですが、0次~9次までなら 1文字ずつstr2numで数値かしてやって最大値を探すとかでしょうか?(多分転置すれば1発でいける気がしますが) 10次以上が出てくるならsscanfで地道に読み込むか、 (私の記憶ではスペース文字をstr2numにするとnanか0になります) あるいは数値が連続していることを検出して10進法で変換していくかですかね? 参考になれば幸いです。

yukibeatles
質問者

お礼

ご回答ありがとうございます。 返信遅れてすいません。。 いろいろやってみたのですが、sym2polyが最も簡単で扱いやすいようでした。 何度もありがとうございました。

その他の回答 (1)

  • Kules
  • ベストアンサー率47% (292/619)
回答No.1

私自身Symbolic Math Toolboxは使ってないんですが… http://www.mathworks.co.jp/help/ja_JP/toolbox/symbolic/coeffs.html を見ると、 [C, T] = coeffs(p,x) とすることでTに各項のリストが返されるらしいです。 Tが文字列なのかセルなのかはわかりませんが、 t =[ x^2, x] みたいな形になるんで、sscanfで^の後にある数字を取り出して、 一番大きいものを選ぶ…というのは上手くないですかね? 参考になれば幸いです。

yukibeatles
質問者

補足

いつもご回答ありがとうございます。 返信遅くなってすいません。 Symbolic Math Toolboxではなく、MapleをToolboxとして使用しており、結果が x^3+2*x^2+1のような出力ではなく、 3   2 x +2*x +1のような形で2行にわたって出力してしまいます…

関連するQ&A

専門家に質問してみよう