2

関数で matlab 関数のルートを使用したいと考えています。

しかし、うまくいきません。その問題を解決する方法がわかりません。

関数は次のとおりです。

function [ roots , poles ] = pr_calc( num , den )
%PR_CALC Summary of this function goes here
%   Detailed explanation goes here


poles=roots([den]);
roots=roots([num]);

end

そして、これはエラーメッセージです:

??? At compilation, "roots" was determined to be
a variable and this
 variable is uninitialized.  "roots" is also a
 function name and previous versions of MATLAB
 would have called the function.
 However, MATLAB 7 forbids the use of the same
 name in the same
 context as both a function and a variable.

Error in ==> pr_calc at 6
poles=roots([den]);
4

1 に答える 1

4

実際、matlab はあなたが知る必要があることをすべて伝えていると思います。関数からの戻り値として「roots」という変数を定義しましたが、「roots」すでに関数であるため、同じ名前を使用することはできません。これを試して:

function [ myroots , poles ] = pr_calc( num , den )
%PR_CALC Summary of this function goes here
%   Detailed explanation goes here


poles=roots([den]);
myroots=roots([num]);

end
于 2012-10-15T05:48:26.977 に答える