簡便なラッチ回路の構成
조회 수: 37 (최근 30일)
이전 댓글 표시
下記のようなコードを作りました。中身は1度でも1の入力がされると、その後は1の入力が続く仕組みとなっています。
これよりも簡便な関数もしくは、simulinkのブロック図がありましたら教えて頂けないでしょうか。
よろしくお願い致します。
clear;
aa = 0 : 0.01 : 10;
u = ones(1,numel(aa));
flg = zeros(1,numel(aa));
for x = 2 : 1 : 10002
u(x) = sin(deg2rad(x / 10));
if flg(x-1) == 1
flg(x) = 1;
else % flg == 0
if u(x) == 1
flg(x) = 1;
end
end
end
hold on
plot(flg);
plot(u);
hold off
댓글 수: 0
채택된 답변
Shoumei
2019년 8월 19일
MATLABコードがあるのであれば、ラッチ回路部分はMATLAB Functionブロックに移植するのが良いと思います。
SIN波は外部から入力したとして、MATLAB Functionブロック内部のコードはこんな感じになります。
function y = fcn(u)
persistent flg
if isempty(flg)
flg = 0;
end
if flg == 1
flg = 1;
else
if u == 1
flg = 1;
end
end
y = flg;
Simulinkブロック線図で書くのであれば下図のようになります。
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 RF Blockset Models for Transceivers에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!