「関数 'Compute.eig' の入力または出力の数​または型が正しくあり​ません。」が表示され​る。

固有値を計算する際に、以下の箇所でエラーが発生しました。
関数 'Compute.eig' の入力または出力の数または型が正しくありません。
detzeta = eig(E); % 固有値問題を解く
代入の配列Eの型は以下となっております。
size(E)
ans = 64 64
class(E)
ans = 'double'
何か原因の可能性として考えられることがあれば、ご意見くださるでしょうか。
よろしくお願いいたします。

6 Comments

Atsushi Ueno
Atsushi Ueno on 23 May 2023
ヒントください(どういう値を入力したらこのエラーが出るのですか?)
遼太朗
遼太朗 on 29 May 2023
連絡が遅くなり申し訳ありません。
Eの中身は添付画像のように複素数で構成された配列になっています。
よろしくお願いいたします。
ここで計算しても同じエラーが出ますか?
detzeta = eig(E); % Eを入力してここで実行する
遼太朗
遼太朗 on 1 Jun 2023
はい,おっしゃる通りそこで同じエラーが発生します.
エラーが出た直後に detzeta を一旦クリアしてから同じ計算をしてエラーが解消すれば、原因は出力側の変数です。
clear detzeta
detzeta = eig(E); % Eを入力してここで実行する
遼太朗
遼太朗 on 17 Jun 2023
ご連絡が遅くなり申し訳ございません。
ご指示されたようにdetzetaを一旦クリアした結果、エラーが解消したので出力側の変数が原因でした。
現在は問題なく固有値を出すことができています。
ご意見をくださって、ありがとうございました。

Sign in to comment.

 Accepted Answer

遼太朗
遼太朗 on 17 Jun 2023

1 vote

エラー原因は出力側の変数であったことが分かりました。
関数をmファイルの最下部に書く、あるいは関数化すると
エラーなく固有値を計算できております。
ありがとうございました。

More Answers (0)

Categories

Find more on 線形代数 in Help Center and File Exchange

Products

Release

R2023a

Tags

Asked:

on 21 May 2023

Answered:

on 17 Jun 2023

Community Treasure Hunt

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

Start Hunting!