ドキュメンテーションヘルプセンタードキュメンテーション
このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
畳み込み行列
一个= convmtx (h, n)
例
一个= convmtx (h,n)では,畳み込み行列一个が返されます。一个とn要素ベクトルxとの積はhとxの畳み込みになります。
一个= convmtx (h,n)
一个
h
n
x
すべて折りたたむ
信号がベクトルの場合,一般に,畳み込みの計算にconvを使用するとconvmtxを使用するより効率的です。マルチチャネル信号では,convmtxの方が効率的な場合があります。
conv
convmtx
convとconvmtxの両方を使用して2つのランダムなベクトル一个とbの畳み込みを計算します。信号のサンプルはそれぞれ1000個です。この2つの関数が費やした時間を比較します。計算を30回繰り返して平均化することで不規則な変動を排除します。
b
元= 30;Na = 1000;Nb = 1000;tcnv = 0;tmtx = 0;为kj = 1:Nt a = randn(Na,1);b = randn(注1);Tic n = conv(a,b);tcnv = tcnv + toc;tic c = convmtx(b,Na);d = c *;tmtx = tmtx + toc;结束t1col = [tcnv tmtx]/Nt
t1col =1×20.0007 - 0.0201
t1rat = tcnv \ tmtx
t1rat = 29.0764
convの方がほぼ2桁効率的です。
一个1000年がチャネルのマルチチャネル信号である場合について,この実行を繰り返します。事前割り当てを行い,convのパフォーマンスを最適化します。
Nchan = 1000;tcnv = 0;tmtx = 0;n = 0 (Na + Nb-1 Nchan);为kj = 1:Nt a = randn(Na,Nchan);b = randn(注1);抽搐为k = 1:Nchan n(:,k) = conv(a(:,k),b);结束tcnv = tcnv + toc;tic c = convmtx(b,Na);d = c *;tmtx = tmtx + toc;结束tmcol = [tcnv tmtx]/Nt
tmcol =1×20.2539 - 0.0893
tmrat = tcnv / tmtx
tmrat = 2.8431
convmtxはconvの約3倍効率的です。
入力ベクトル。行または列として指定します。
データ型:单|双
单
双
畳み込みを行うベクトルの長さ。正の整数として指定します。
hが長さ米の列ベクトルの場合,一个は(m + n - 1)行n列の行列であり,一个と長さnの列ベクトルxとの積は,hとxの畳み込みになります。
米
(m + n - 1)
hが長さ米の行ベクトルの場合,一个はn行(m + n - 1)列の行列であり,一个と長さnの行ベクトルxとの積は,hとxの畳み込みになります。
入力hの畳み込み行列とベクトルx。行列として返されます。
convmtxでは,関数托普利兹を使用して畳み込み行列を生成します。
托普利兹
convmtxでは,ゼロパディングによってエッジの部分が処理されます。
conv|convn|conv2|corrmtx|dftmtx
convn
conv2
corrmtx
dftmtx
この例の変更されたバージョンがあります。編集された方の例を開きますか吗?
次のMATLABコマンドに対応するリンクがクリックされました。
コマンドをMATLABコマンドウィンドウに入力して実行してください。WebブラウザーはMATLABコマンドをサポートしていません。
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系