Functionブロ​ックから生成された行​ベクトルを一定周期繰​り返して出力したい

MATLAB Functionブロックから生成された行ベクトル(1周期)を、T周期繰り返して出力したいのですが、
Simulinkブロックを使って生成することは可能なのでしょうか。
例えば、生成された行ベクトルOをO=[1 2 3](1×3行列)、T=3とすると、出力ベクトルO'が
O'=[1 2 3 1 2 3 1 2 3](1×9行列)となるようにしたいです。
以上、よろしくお願いします。

3 件のコメント

Atsushi Ueno
Atsushi Ueno 2022 年 4 月 13 日
MATLAB Functionブロックの最後にrepmat関数を追記すれば良いのではないでしょうか?
Simulinkブロックを使って行ベクトル信号の繰り返しを生成しなければならない理由があるのでしょうか?
function Odash = MatFunBlk(O, T)
% O = [1 2 3]; T = 3; % 実際はO,Tは引数ではなく関数内で生成された信号
Odash = repmat(O, 1, T); % 行ベクトル(1周期)を、T周期繰り返して出力
end
kkdra57
kkdra57 2022 年 4 月 14 日
コメントありがとうございます。
仰る通りrepmat関数でベクトルの繰り返し生成が可能となりますが、
ベクトル要素毎の繰り返し(≒データのリサンプリング)がrepeatブロック(DSP System toolbox)によって生成可能ということもあり、
今回のようにベクトルに対しても繰り返し出力が可能なのかどうか気になった次第です。
以上、宜しくお願いします。

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

回答 (0 件)

製品

リリース

R2019a

タグ

質問済み:

2022 年 4 月 13 日

コメント済み:

2022 年 4 月 14 日

Community Treasure Hunt

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

Start Hunting!