「関数としてスクリプト***を実行しようとしています」というエラーが出るのはなぜですか?
5 views (last 30 days)
Show older comments
MathWorks Support Team
on 30 Nov 2017
Answered: MathWorks Support Team
on 30 Nov 2017
「関数としてスクリプト***を実行しようとしています」というエラーが出るのはなぜですか?
独自に作成したfftアルゴリズムをテストするために以下の簡単なプログラムを実行すると、上に示したようなエラーメッセージが表示されます。
a=rand(100,1);
fft1(a)
Accepted Answer
MathWorks Support Team
on 13 Dec 2017
エラーが発生するケースとして、次の 2 つの場合が考えられます。
1. ファンクション定義が正しく行われていない場合
例えば、fft1.m というファイルが MATLAB 検索パスに含まれるフォルダ内に存在し、その内容がファンクション定義(function [y1,...,yN] = myfun(x1,...,xM) から始まるもの)でないときに表示されます。
関数ファイルとして定義されてない、MATLAB スクリプトで記述された MATLABコードは run 関数を使用して実行できますが、スクリプトは関数のように引数を指定して実行する書式はサポートしていないため、実行できません。
引数を指定する場合には、MATLAB 関数としてプログラムを作成してください。
2. 関数ファイルの文字コードが異なる場合
関数ファイルの文字コードが異なり、適切に内容を読み取れないときに生じます。 例えば文字コードが ANSI のプログラムを使用しており、Linux 環境からコピーした文字コードが UNICODE の関数ファイルを呼び出そうとすると、文字コードの違いにより文字化けが生じ、内容を関数として読み取れないときがあります。
このようなときは、文字コードを適切に設定することで解消します。
0 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!