Eliminate zero and negative roots by Embedded Matlab Function

4 ビュー (過去 30 日間)
Amro
Amro 2014 年 5 月 24 日
回答済み: Amro 2014 年 5 月 28 日
Hello,
I have used an embedded matlab function in simulink to Eliminate zero and negative roots in the input vector(u) so the output(y) will be vary in size according to that. The following is the code that I have written in this block:
function y = clipo(u) u(u <= 0) = []; coder.varsize('y',4); y=u;
But I get the error: Dimension 2 is fixed on the left-hand side but varies on the right ([1 x 4] ~= [1 x :?]).
Thanks ahead....

回答 (2 件)

Mike Hosea
Mike Hosea 2014 年 5 月 24 日
The input u is fixed-size, so it is impossible to delete elements from it. Instead, copy it to a variable-size array and then delete elements from there.
function y = clipo(u)
coder.varsize('y');
y = u;
y(y<=0) = [];

Amro
Amro 2014 年 5 月 28 日
Thanks....

カテゴリ

Help Center および File ExchangeSimulink についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by