MATLAB ヘルプ センター
矩形波
x = square(t)
x = square(t,duty)
x = square(t) では、時間配列 t の要素に対して、周期 2π をもつ矩形波が生成されます。square は正弦関数と似ていますが、-1 と 1 の値をもつ矩形波が生成されます。
x
t
square
例
x = square(t,duty) ではデューティ比 duty をもつ矩形波が生成されます。"デューティ比" とは、矩形波が正となる信号サイクルの割合を指します。
duty
すべて折りたたむ
0 から 3π の間に等間隔に並んだ 100 個の数値から成るベクトルを作成します。周期が 2π の矩形波を生成します。
x(t)={(-1)t/π,t=kπ∀k∈Zsign(sin(t)),t≠kπ∀k∈Z
t = linspace(0,3*pi)'; x = square(t);
矩形波をプロットして、正弦を重ね合わせます。生成された矩形波では、n が偶数の場合は区間 [nπ,(n+1)π) で 1 の値をとり、n が奇数の場合は区間 [nπ,(n+1)π) で -1 の値をとります。この波形は 0 の値をもちません。
scatter(t,x,".") hold on scatter(t,sin(t),".") hold off xlabel("t") xticks((0:3)*pi) xticklabels(["0" "\pi" "2\pi" "3\pi"]) grid on
計算を繰り返しますが、今度は -π と 2π の間に等間隔に並んだ 121 個の数値において square(2*t) を評価します。振幅を 1.15 に変更します。波形をプロットして、同じパラメーターをもつ正弦を重ね合わせます。この新しい波形は、t=0 では負、端点 -π および 2π では正となります。時間値が以前の 2 倍の速さで増加するため、周期は以前の半分である π になります。
square(2*t)
t = linspace(-pi,2*pi,121); x = 1.15*square(2*t); scatter(t,x,".") hold on scatter(t,1.15*sin(2*t),".") hold off xlabel("t") xticks((-1:2)*pi) xticklabels(["-\pi" "0" "\pi" "2\pi"]) grid on
R2026a 以降
この例では、任意の振動周期や周波数をもつ矩形波を作成する方法を示します。
10 秒間の範囲で既定の周期が 2π 秒である矩形波を生成します。
Fs = 1000; tEnd = 10-1/Fs; t = 1/Fs:1/Fs:tEnd; x1 = square(t);
2.5 秒の周期 T で振動する矩形波を生成します。
xT(t)=x(2πTt)
T = 2.5; x2 = square(2*pi/T*t);
2 Hz の周波数 F で振動する矩形波を生成します。
xF(t)=x(2πFt)
F = 2; x3 = square(2*pi*F*t);
矩形波を比較します。波形は、指定した周期や周波数の仕様で振動します。x1、x2、および x3 は、それぞれ 6.28 秒、2.5 秒、および 0.5 秒ごとに振動します。
strips([x1 x2 x3],tEnd,Fs) xlabel("Time (seconds)") yticklabels(["x3" "x2" "x1"])
1 kHz で 70 ms 間サンプリングされた 30 Hz の矩形波を生成します。37% のデューティ比を指定します。分散 1/100 でホワイト ガウス ノイズを付加します。
t = 0:1/1e3:0.07; y = square(2*pi*30*t,37) + randn(size(t))/10;
波のデューティ比を計算します。波形をプロットして、デューティ比に注釈を付けます。
dutycycle(y,t)
ans = 0.3639
時間配列。ベクトル、行列、または N 次元配列として指定します。square は、サイズが 1 より大きい最初の配列次元 t に沿って動作します。
データ型: single | double
single
double
50
デューティ比。0 ~ 100 の実数スカラーとして指定します。
矩形波。ベクトル、行列または N 次元配列として返されます。
すべて展開する
関数 square は、グラフィックス処理装置 (GPU) 用のコード生成をサポートします。CUDA® コードを生成するには、MATLAB® Coder™ および GPU Coder™ が必要です。
chirp | cos | diric | gauspuls | pulstran | rectpuls | sawtooth | sin | tripuls
chirp
cos
diric
gauspuls
pulstran
rectpuls
sawtooth
sin
tripuls
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 のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ