フィルターのクリア

Using Matlab Function in Simulink

24 ビュー (過去 30 日間)
Frank
Frank 2011 年 12 月 19 日
コメント済み: David 2016 年 3 月 18 日
Hello, I am using in Simulink the "Matlab Function" block. The function in there is "diff(u)" This is just an example, the original function is much more complex. When I execute my simulation I get this error: Error in 'untitled/MATLAB Fcn'. Evaluation of expression resulted in an invalid output. Only finite double vector or matrix outputs are supported
What is the problem here?
  1 件のコメント
David
David 2016 年 3 月 18 日
it is really unfortunate that no one from MATLAB has taken answering question on this forum seriously.

サインインしてコメントする。

採用された回答

Fangjun Jiang
Fangjun Jiang 2011 年 12 月 19 日
Take the default parameter for the "MATLAB Fcn" block for example, the MATLAB function is "sin" so it get sin(x) as output if the input is x. If you put your customized function as the parameter, for example, "MyFancyFunction", the output might be some cell array of strings, which is not supported in Simulink. That is what the error message is about.
  6 件のコメント
Frank
Frank 2011 年 12 月 19 日
As input signal to diff() I am using currently the simulation time (Clock).
I think Fangjun is right in Simulink diff just gets one value and from this vector it cant calculate the diff.
Thanks guys.
Fangjun Jiang
Fangjun Jiang 2011 年 12 月 19 日
Yes. It is particular related to the diff() function. I also did an example. Connect a Constant block to the MATLAB Fcn block with diff. If the Constant value is 1, it got the same error message. If the Constant is a vector signal like 1:5, it runs without problem.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeArray and Matrix Mathematics についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by