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

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

6 Kommentare

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

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

遼太朗
遼太朗 am 17 Jun. 2023

1 Stimme

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

Weitere Antworten (0)

Kategorien

Mehr zu 線形代数 finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2023a

Tags

Community Treasure Hunt

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

Start Hunting!