'内部行列の次元は一致しなければなりません。' とエラーが出力されるのは何故ですか?
75 views (last 30 days)
Show older comments
MathWorks Support Team
on 22 Aug 2016
Edited: MathWorks Support Team
on 5 Mar 2021
何故下記のエラーが出力されるのですか:
内部行列の次元は一致しなければなりません。
Accepted Answer
MathWorks Support Team
on 5 Mar 2021
Edited: MathWorks Support Team
on 5 Mar 2021
説明:
行列演算では、許容される行列の次元が求められますが、この要求を満たしていない行列に行列演算を実施しようとしています。
一般的な例:
最初の行列の列の次元が2つ目の行列の行の次元と等しくない、あるいは、(\)に対しては、列数が一致していない2つの行列を乗算、除算しようとしています。
この現象は、しばしば配列操作の変わりに行列操作を行った際に生じます。
このエラーの例が添付されております。
MatrixDimensionsMustAgree.m
解:
エラーが生じている箇所でMATLAB を停止し、余分な転置操作が実施されていないか、あるいは必要な操作が省略されていないかどうか確認します。
また、積算や除算を行う行列のサイズが対応している次元かどうかを調査します。
MATLAB ワークスペースブラウザや size 関数がご利用いただけます。
行列演算の変わりに配列を実施されたい場合は、 *, /, \, あるいは ^ 行列演算子を .*, ./, .\, あるいは .^ に置き換えます。
式を vectorize 関数に文字列として渡す場合は、vectrize は配列操作(*, /, ^) の変わりに行列操作(.*, ./, .^)として式を返します。
0 Comments
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!