「演算子 ** が未定義です。」

19 views (last 30 days)
yuichi takata
yuichi takata on 23 Jun 2018
Commented: yuichi takata on 23 Jun 2018
1時間前からmatlabのチュートリアルで勉強を始めた者です。評価版を使用しています。 簡単な演算のところで以下のエラーが発生して困っています。 エラーの回避方法を教えてください。
>> a={1,2,3;4,5,6;7,8,9}
a =
3×3 cell 配列
{[1]} {[2]} {[3]}
{[4]} {[5]} {[6]}
{[7]} {[8]} {[9]}
>> b=inv(a)
関数 'inv' (タイプ'cell' の入力引数) が未定義です。
>> b=a+10
'cell' 型の入力引数の演算子 '+' が未定義です。
  1 Comment
michio
michio on 23 Jun 2018
コード部分の表示編集しました。

Sign in to comment.

Accepted Answer

Kojiro Saito
Kojiro Saito on 23 Jun 2018
invのドキュメントの入力引数の説明にあるとおり、invの引数はsingleまたはdouble型の正方行列である必要があります。 aがcell配列になっているので、数値配列に変換する必要があります。
a={1,2,3;4,5,6;7,8,9};
a2 = cell2mat(a);
b=inv(a2)
または、最初からaを数値行列で定義したほうが良いです。中括弧{}ではなく、大括弧[]を使います。
a=[1,2,3;4,5,6;7,8,9]
b=inv(a)
b=a+10についても、aがcell配列だとエラーが出るので、上記のように数値行列に変換したものを使えば実行できます。
  1 Comment
yuichi takata
yuichi takata on 23 Jun 2018
カッコの取り違えという初歩的なミスをしていました。 丁寧な回答をいただきありがとうございます。おかげで問題は解決しました。

Sign in to comment.

More Answers (0)

Categories

Find more on 言語の基礎 in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!