MATLAB ヘルプ センター
シーケンスの周期の計算
p = seqperiod(x)
p = seqperiod(x,tol)
[p,nr] = seqperiod(x)
p = seqperiod(x) では、x のシーケンスの周期を表す整数が返されます。周期 p は、p サンプルごとに連続的に繰り返される、長さが最小の x のサブシーケンス x(1:p) として計算されます。
p
x
x(1:p)
例
p = seqperiod(x,tol) では、2 つの数を等しく扱うことが可能になる程度に近づく時点を判別するために、tol を絶対許容誤差として指定します。
tol
[p,nr] = seqperiod(x) では、x の繰り返し部分 x(1:p) の数も返されます。
nr
すべて折りたたむ
マルチチャネル信号を生成し、各列の周期を求めます。
x = [4 0 1 6; 2 0 2 7; 4 0 1 5; 2 0 5 6]; p = seqperiod(x)
p = 1×4 2 1 4 3
x の最初の列は、周期 2 をもっています。x の 2 列目は、周期 1 をもっています。x の 3 列目は、周期性を示していません。そのため、p(3) は、単に x の行数になります。x の 4 列目は、周期 3 をもっています。ただし、周期的なシーケンスの 2 番目の繰り返しは部分的なものです。
p(3)
各周期的シーケンスが繰り返される回数を計算します。
[~,nr] = seqperiod(x)
nr = 1×4 2.0000 4.0000 1.0000 1.3333
x の最初の列に、周期的シーケンスが 2 回現れます。2 列目には、1 サンプルのシーケンスがサンプル数だけ繰り返されます。3 列目には、繰り返しはありません。4 列目の繰り返しの数は、残りのサンプルによって表されるシーケンス長の小数部プラス 1 になります。
1 つのチャネルがサンプリング間隔に 4 つの周期をもち、他のチャネルが 2 つの周期をもつように、2 チャネルの正弦波を生成します。正弦波をプロットします。
n = 0:31; x = cos(2*pi./[8;16].*n)'; plot(n,x,'.-') axis tight
繰り返されたサブシーケンスの長さと繰り返し数を計算します。1e-5 の絶対許容誤差を指定します。
1e-5
[p,nr] = seqperiod(x,1e-5)
p = 1×2 8 16
nr = 1×2 4 2
最初の 2 つの次元のサイズが 1 となる配列を作成します。3 番目の次元に沿って、配列は繰り返しシーケンスをもちます。
a = permute([5 4 3 5 4 3 5 4],[3 1 2])
a = a(:,:,1) = 5 a(:,:,2) = 4 a(:,:,3) = 3 a(:,:,4) = 5 a(:,:,5) = 4 a(:,:,6) = 3 a(:,:,7) = 5 a(:,:,8) = 4
繰り返しシーケンスの周期と、配列に含まれる繰り返し数を計算します。関数は、予想どおり、3 番目の次元に沿って機能します。
[p,nr] = seqperiod(a)
p = 3
nr = 2.6667
入力配列。ベクトル、行列、または N 次元配列として指定します。
x が行列の場合、seqperiod では、x の各列で周期性がチェックされます。
seqperiod
x が多次元配列の場合、seqperiod では、サイズが 1 より大きい x の最初の配列次元に沿って周期性がチェックされます。
x の長さは、p の倍数である必要はありません。このため、x の最後の部分では不完全な繰り返しが許容されます。
例: sin(pi./[4;2]*(0:159))' は、2 チャネルの正弦波を指定します。2 番目のチャネルの周波数は最初のチャネルの 2 倍です。
sin(pi./[4;2]*(0:159))'
データ型: double
double
1e-10
2 つの数を等しく扱うことが可能になる程度に近づく時点を判別する絶対許容誤差。正の実数スカラーとして指定します。
シーケンス周期。スカラー、ベクトル、行列または N 次元配列として返されます。シーケンスが周期的ではない場合、p は選択された次元に沿った x の長さと等しくなります。
x が行列の場合、p は x と同じ列数をもつ行ベクトルになります。
x が多次元配列の場合、p は最初の次元のサイズが 1 である整数の多次元配列になります。p の残りの次元は、サイズが 1 より大きい x の残りの次元に対応します。
シーケンスの繰り返し数。スカラー、ベクトル、行列または N 次元配列として返されます。nr の次元は p と同じになります。nr の要素は必ずしも整数とは限りません。
すべて展開する
関数 seqperiod は C/C++ コード生成をサポートしています。この機能を使用するには、MATLAB® Coder™ が必要です。
findsignal | pulseperiod
findsignal
pulseperiod
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ