簡便なラッチ回路の構成

30 visualizzazioni (ultimi 30 giorni)
Ryo Shinohara
Ryo Shinohara il 19 Ago 2019
Commentato: Ryo Shinohara il 20 Ago 2019
下記のようなコードを作りました。中身は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

Risposta accettata

Shoumei
Shoumei il 19 Ago 2019
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ブロック線図で書くのであれば下図のようになります。
latch.png
latch_scope.png
  1 Commento
Ryo Shinohara
Ryo Shinohara il 20 Ago 2019
回答ありがとうございます。
参考にさせて頂きます。

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su RF Blockset Models for Transceivers in Help Center e File Exchange

Prodotti


Release

R2019a

Community Treasure Hunt

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

Start Hunting!