I need help for a very simple function in Matlab
1 回表示 (過去 30 日間)
古いコメントを表示
In the picture a part of my simulink model is shown. It works like this:
"Data" is what is sent from serialport. "Status" is 1 when there is data on serialport and 0 when there is not any data sent.
When I start simulation, if there is data sent "Data" has the value of it. When there is not any data sent "Data" sends 0 as output.
What I want it to do is "If there is any data, give "y" the value of sent data. If there is no data sent keep "y" as the previous value"
So I added my own User Defined Function
function y = fcn(u,x)
if (x == 0)
y = y;
else
y = u;
end
end
But this gives me the error says "y" is not defined. How can I achieve this simple solution wiht or without any user defined function? Can somebody, please, figure it out? Thanks in advance
0 件のコメント
回答 (1 件)
the cyclist
2014 年 3 月 16 日
You have not input the previous value of y to fcn(), so at the line
y = y;
the value is unknown. You need something like
function y = fcn(u,x,y0)
if (x == 0)
y = y0;
else
y = u;
end
end
where y0 is the prior value of y.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で MATLAB Support Package for Arduino Hardware についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!