このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
wavemngr
ウェーブレット マネージャー
構文
説明
wavemngr
を使用して、ウェーブレットを追加、削除、復元、または読み取ります。
wavemngr('add',
は、ウェーブレット ファミリをツールボックスに追加します。これらのパラメーターは、以下のようにウェーブレット ファミリを定義します。FN
,FSN
,WT
,NUMS
,FILE
)
FN
— ファミリ名FSN
— ファミリの略称WT
— ウェーブレット ファミリ タイプNUMS
— ウェーブレット パラメーターFILE
— ウェーブレット定義ファイル
メモ
wavemngr
を使用してウェーブレット ファミリを追加すると、現在のフォルダーに 3 つのウェーブレット拡張ファイル (2 つの ASCII ファイル wavelets.asc
と wavelets.prv
、および MAT ファイル wavelets.inf
) が作成されます。新しいウェーブレット ファミリを追加する場合、このフォルダーでのみ使用できます。
wavemngr('restore')
は、直前の wavelets.asc
ASCII ファイルを復元します。
wavemngr('restore',IN2)
は、初期の wavelets.asc
ASCII ファイルを復元します。ここで、IN2
はダミーの引数です。
例
ウェーブレット名とファミリ名
既定で使用可能なウェーブレット ファミリを一覧表示します。
wavemngr('read')
ans = 23x35 char array
'==================================='
'Haar ->->haar '
'Daubechies ->->db '
'Symlets ->->sym '
'Coiflets ->->coif '
'BiorSplines ->->bior '
'ReverseBior ->->rbio '
'Meyer ->->meyr '
'DMeyer ->->dmey '
'Gaussian ->->gaus '
'Mexican_hat ->->mexh '
'Morlet ->->morl '
'Complex Gaussian ->->cgau '
'Shannon ->->shan '
'Frequency B-Spline ->->fbsp '
'Complex Morlet ->->cmor '
'Fejer-Korovkin ->->fk '
'Best-localized Daubechies->->bl '
'Morris minimum-bandwidth ->->mb '
'Beylkin ->->beyl '
'Vaidyanathan ->->vaid '
'Han linear-phase moments ->->han '
'==================================='
すべてのウェーブレットを一覧表示します。
wavemngr('read',1)
ans = 89x44 char array
'=================================== '
'Haar ->->haar '
'=================================== '
'Daubechies ->->db '
'------------------------------ '
'db1->db2->db3->db4-> '
'db5->db6->db7->db8-> '
'db9->db10->db**-> '
'=================================== '
'Symlets ->->sym '
'------------------------------ '
'sym2->sym3->sym4->sym5-> '
'sym6->sym7->sym8->sym**-> '
'=================================== '
'Coiflets ->->coif '
'------------------------------ '
'coif1->coif2->coif3->coif4-> '
'coif5-> '
'=================================== '
'BiorSplines ->->bior '
'------------------------------ '
'bior1.1->bior1.3->bior1.5->bior2.2-> '
'bior2.4->bior2.6->bior2.8->bior3.1-> '
'bior3.3->bior3.5->bior3.7->bior3.9-> '
'bior4.4->bior5.5->bior6.8-> '
'=================================== '
'ReverseBior ->->rbio '
'------------------------------ '
'rbio1.1->rbio1.3->rbio1.5->rbio2.2-> '
'rbio2.4->rbio2.6->rbio2.8->rbio3.1-> '
'rbio3.3->rbio3.5->rbio3.7->rbio3.9-> '
'rbio4.4->rbio5.5->rbio6.8-> '
'=================================== '
'Meyer ->->meyr '
'=================================== '
'DMeyer ->->dmey '
'=================================== '
'Gaussian ->->gaus '
'------------------------------ '
'gaus1->gaus2->gaus3->gaus4-> '
'gaus5->gaus6->gaus7->gaus8-> '
'=================================== '
'Mexican_hat ->->mexh '
'=================================== '
'Morlet ->->morl '
'=================================== '
'Complex Gaussian ->->cgau '
'------------------------------ '
'cgau1->cgau2->cgau3->cgau4-> '
'cgau5->cgau6->cgau7->cgau8-> '
'=================================== '
'Shannon ->->shan '
'------------------------------ '
'shan1-1.5->shan1-1->shan1-0.5->shan1-0.1-> '
'shan2-3->shan**-> '
'=================================== '
'Frequency B-Spline ->->fbsp '
'------------------------------ '
'fbsp1-1-1.5->fbsp1-1-1->fbsp1-1-0.5->fbsp2-1-1->'
'fbsp2-1-0.5->fbsp2-1-0.1->fbsp**-> '
'=================================== '
'Complex Morlet ->->cmor '
'------------------------------ '
'cmor1-1.5->cmor1-1->cmor1-0.5->cmor1-1-> '
'cmor1-0.5->cmor1-0.1->cmor**-> '
'=================================== '
'Fejer-Korovkin ->->fk '
'------------------------------ '
'fk4->fk6->fk8->fk14-> '
'fk18->fk22-> '
'=================================== '
'Best-localized Daubechies->->bl '
'------------------------------ '
'bl7->bl9->bl10-> '
'=================================== '
'Morris minimum-bandwidth ->->mb '
'------------------------------ '
'mb4.2->mb8.2->mb8.3->mb8.4-> '
'mb10.3->mb12.3->mb14.3->mb16.3-> '
'mb18.3->mb24.3->mb32.3-> '
'=================================== '
'Beylkin ->->beyl '
'=================================== '
'Vaidyanathan ->->vaid '
'=================================== '
'Han linear-phase moments ->->han '
'------------------------------ '
'han2.3->han3.3->han4.5->han5.5-> '
'=================================== '
ウェーブレット ファミリの追加
この例では、コンパクトにサポートされる新しい直交ウェーブレットをツールボックスに追加する方法を示します。これらのウェーブレットは、Daubechies ウェーブレットを少し一般化したもので、バーンスタイン多項式の使用に基づいており、Kateb と Lemarié によるものです。
直交ウェーブレットの新しいファミリを追加します。以下を定義しなければなりません。
ファミリ名:
Lemarie
ファミリの略称:
lem
ウェーブレットのタイプ:
1 (orth)
ウェーブレットの番号:
1 2 3 4 5
ファイル ドライバー:
lemwavf
lemwavf.m
のソース コードは、この例の最後に記載しています。lemwavf
の入力引数は、形式 lem
N の文字ベクトルです。ここで、N = 1、2、3、4、または 5 です。
wavemngr('add','Lemarie','lem',1,'1 2 3 4 5','lemwavf')
ASCII ファイル wavelets.asc
が wavelets.prv
として保存された後、新しいファミリを定義する情報が wavelets.asc
に追加され、MAT ファイル wavelets.inf
が生成されます。
wavemngr
は現在のフォルダーで機能することに注意してください。新しいウェーブレット ファミリを追加する場合、このフォルダーでのみ使用できます。
使用可能なウェーブレット ファミリを一覧表示します。新しいウェーブレット ファミリが追加されていることを確認します。
wavemngr('read')
ans = 24x35 char array
'==================================='
'Haar ->->haar '
'Daubechies ->->db '
'Symlets ->->sym '
'Coiflets ->->coif '
'BiorSplines ->->bior '
'ReverseBior ->->rbio '
'Meyer ->->meyr '
'DMeyer ->->dmey '
'Gaussian ->->gaus '
'Mexican_hat ->->mexh '
'Morlet ->->morl '
'Complex Gaussian ->->cgau '
'Shannon ->->shan '
'Frequency B-Spline ->->fbsp '
'Complex Morlet ->->cmor '
'Fejer-Korovkin ->->fk '
'Best-localized Daubechies->->bl '
'Morris minimum-bandwidth ->->mb '
'Beylkin ->->beyl '
'Vaidyanathan ->->vaid '
'Han linear-phase moments ->->han '
'Lemarie ->->lem '
'==================================='
追加したファミリを削除します。ウェーブレット ファミリのリストを再生成します。
wavemngr('del','Lemarie') wavemngr('read')
ans = 23x35 char array
'==================================='
'Haar ->->haar '
'Daubechies ->->db '
'Symlets ->->sym '
'Coiflets ->->coif '
'BiorSplines ->->bior '
'ReverseBior ->->rbio '
'Meyer ->->meyr '
'DMeyer ->->dmey '
'Gaussian ->->gaus '
'Mexican_hat ->->mexh '
'Morlet ->->morl '
'Complex Gaussian ->->cgau '
'Shannon ->->shan '
'Frequency B-Spline ->->fbsp '
'Complex Morlet ->->cmor '
'Fejer-Korovkin ->->fk '
'Best-localized Daubechies->->bl '
'Morris minimum-bandwidth ->->mb '
'Beylkin ->->beyl '
'Vaidyanathan ->->vaid '
'Han linear-phase moments ->->han '
'==================================='
この前の ASCII ファイル wavelets.prv
を復元してから、MAT ファイル wavelets.inf
を作成します。復元されたウェーブレットを一覧表示します。wavemngr
は現在の作業ディレクトリにある ASCII ファイルを読み取るため、新しいファミリがリストに表示されます。
wavemngr('restore') wavemngr('read',1)
ans = 94x44 char array
'=================================== '
'Haar ->->haar '
'=================================== '
'Daubechies ->->db '
'------------------------------ '
'db1->db2->db3->db4-> '
'db5->db6->db7->db8-> '
'db9->db10->db**-> '
'=================================== '
'Symlets ->->sym '
'------------------------------ '
'sym2->sym3->sym4->sym5-> '
'sym6->sym7->sym8->sym**-> '
'=================================== '
'Coiflets ->->coif '
'------------------------------ '
'coif1->coif2->coif3->coif4-> '
'coif5-> '
'=================================== '
'BiorSplines ->->bior '
'------------------------------ '
'bior1.1->bior1.3->bior1.5->bior2.2-> '
'bior2.4->bior2.6->bior2.8->bior3.1-> '
'bior3.3->bior3.5->bior3.7->bior3.9-> '
'bior4.4->bior5.5->bior6.8-> '
'=================================== '
'ReverseBior ->->rbio '
'------------------------------ '
'rbio1.1->rbio1.3->rbio1.5->rbio2.2-> '
'rbio2.4->rbio2.6->rbio2.8->rbio3.1-> '
'rbio3.3->rbio3.5->rbio3.7->rbio3.9-> '
'rbio4.4->rbio5.5->rbio6.8-> '
'=================================== '
'Meyer ->->meyr '
'=================================== '
'DMeyer ->->dmey '
'=================================== '
'Gaussian ->->gaus '
'------------------------------ '
'gaus1->gaus2->gaus3->gaus4-> '
'gaus5->gaus6->gaus7->gaus8-> '
'=================================== '
'Mexican_hat ->->mexh '
'=================================== '
'Morlet ->->morl '
'=================================== '
'Complex Gaussian ->->cgau '
'------------------------------ '
'cgau1->cgau2->cgau3->cgau4-> '
'cgau5->cgau6->cgau7->cgau8-> '
'=================================== '
'Shannon ->->shan '
'------------------------------ '
'shan1-1.5->shan1-1->shan1-0.5->shan1-0.1-> '
'shan2-3->shan**-> '
'=================================== '
'Frequency B-Spline ->->fbsp '
'------------------------------ '
'fbsp1-1-1.5->fbsp1-1-1->fbsp1-1-0.5->fbsp2-1-1->'
'fbsp2-1-0.5->fbsp2-1-0.1->fbsp**-> '
'=================================== '
'Complex Morlet ->->cmor '
'------------------------------ '
'cmor1-1.5->cmor1-1->cmor1-0.5->cmor1-1-> '
'cmor1-0.5->cmor1-0.1->cmor**-> '
'=================================== '
'Fejer-Korovkin ->->fk '
'------------------------------ '
'fk4->fk6->fk8->fk14-> '
'fk18->fk22-> '
'=================================== '
'Best-localized Daubechies->->bl '
'------------------------------ '
'bl7->bl9->bl10-> '
'=================================== '
'Morris minimum-bandwidth ->->mb '
'------------------------------ '
'mb4.2->mb8.2->mb8.3->mb8.4-> '
'mb10.3->mb12.3->mb14.3->mb16.3-> '
'mb18.3->mb24.3->mb32.3-> '
'=================================== '
'Beylkin ->->beyl '
'=================================== '
'Vaidyanathan ->->vaid '
'=================================== '
'Han linear-phase moments ->->han '
'------------------------------ '
'han2.3->han3.3->han4.5->han5.5-> '
'=================================== '
'Lemarie ->->lem '
'------------------------------ '
'lem1->lem2->lem3->lem4-> '
'lem5-> '
'=================================== '
初期ウェーブレットを復元します。初期の ASCII ファイル wavelets.ini
と初期の MAT ファイル wavelets.bin
を復元します。ウェーブレット ファミリのリストを再生成します。このリストに新しいファミリは含まれていません。
wavemngr('restore',0) wavemngr('read')
ans = 23x35 char array
'==================================='
'Haar ->->haar '
'Daubechies ->->db '
'Symlets ->->sym '
'Coiflets ->->coif '
'BiorSplines ->->bior '
'ReverseBior ->->rbio '
'Meyer ->->meyr '
'DMeyer ->->dmey '
'Gaussian ->->gaus '
'Mexican_hat ->->mexh '
'Morlet ->->morl '
'Complex Gaussian ->->cgau '
'Shannon ->->shan '
'Frequency B-Spline ->->fbsp '
'Complex Morlet ->->cmor '
'Fejer-Korovkin ->->fk '
'Best-localized Daubechies->->bl '
'Morris minimum-bandwidth ->->mb '
'Beylkin ->->beyl '
'Vaidyanathan ->->vaid '
'Han linear-phase moments ->->han '
'==================================='
すべてのコマンド ライン機能は、ウェーブレットの新しいファミリで使用できます。新しいファミリを作成します。関連する 4 つのフィルターおよびスケール関数とウェーブレット関数を計算します。
wavemngr('add','Lemarie','lem',1,'1 2 3 4 5','lemwavf'); [Lo_D,Hi_D,Lo_R,Hi_R] = wfilters('lem3'); [phi,psi,xval] = wavefun('lem3'); plot(xval,[phi;psi]); legend('Scaling Function','Wavelet') grid on
追加したファミリを削除します。
wavemngr('del','Lemarie')
lemwavf.m
function F = lemwavf(wname) %LEMWAVF Lemarie wavelet filters. % F = LEMWAVF(W) returns the scaling filter associated with the Lemarie % wavelet specified by the character array, 'lemN'. % Possible values for N are 1, 2, 3, 4 or 5. % % This function is only for use in the "Add Wavelet Families" example. It % may change or be removed in a future release. % % Copyright 2019 The MathWorks, Inc. TFlem = startsWith(wname,'lem'); if ~TFlem error('Wavelet short name is lem followed by filter number'); end fnum = regexp(wname,'(\d+)','match','Once'); if isempty(fnum) error('Specify a filter number as 1,2,3,4,or 5'); end if ~isempty(fnum) num = str2double(fnum); end tffilt = ismember(num,[1 2 3 4 5]); if ~tffilt error('Filter number must be 1, 2, 3, 4, or 5'); end switch num case 1 F = [... 0.46069299844871 0.53391629051346 0.03930700681965 -0.03391629578182 ... ]; case 2 F = [... 0.31555164655258 0.59149765057882 0.20045477817080 -0.10034811856888 ... -0.01528128420694 0.00846362066021 -0.00072514051618 0.00038684732960 ... ]; case 3 F = [... 0.23108942231941 0.56838231367966 0.33173980738190 -0.09447000132310 ... -0.06203683305244 0.02661631105889 -0.00209952890579 0.00001769381066 ... 0.00128429679795 -0.00053703458679 0.00002283826072 -0.00000928544107 ... ]; case 4 F = [... 0.17565337503255 0.52257484913870 0.42429244721660 -0.04601056550580 ... -0.11292720306517 0.03198741803409 0.00813124691980 -0.00743764392677 ... 0.00548090619143 -0.00140066128481 -0.00054200083128 0.00025607264164 ... -0.00008795126642 0.00003025515674 -0.00000082014466 0.00000027569334 ... ]; case 5 F = [... 0.13807658847623 0.47310642622099 0.48217097800239 0.02112933622031 ... -0.15081998732499 0.01935767268926 0.02716532750995 -0.01588522540421 ... 0.00671209165995 0.00120022744496 -0.00321203819186 0.00115266788547 ... -0.00018266213413 -0.00002953360842 0.00008433396295 -0.00002997969339 ... 0.00000534552866 -0.00000159098026 0.00000003069431 -0.00000000895816 ... ]; end
入力引数
FN
— ウェーブレット ファミリ名
文字ベクトル | string スカラー
ウェーブレット ファミリ名。文字ベクトルまたは string スカラーとして指定します。
FSN
— ウェーブレット ファミリの略称
文字ベクトル | string スカラー
ウェーブレット ファミリの略称。文字ベクトルまたは string スカラーとして指定します。FSN
の文字数は 4 以下でなければなりません。
WT
— ウェーブレット ファミリ タイプ
1
| 2
| 3
| 4
| 5
ウェーブレット ファミリ タイプ。次のいずれかとして指定します。
1
— 直交ウェーブレット2
— 双直交ウェーブレット3
— スケーリング関数のあるウェーブレット4
— スケーリング関数のないウェーブレット5
— スケーリング関数のない複素数ウェーブレット
NUMS
— ウェーブレット パラメーター
''
| 文字ベクトル | string スカラー
ウェーブレット パラメーター。以下として指定します。
ファミリが単一のウェーブレットで構成されている場合、
NUMS
は空の文字列''
になります。たとえば、mexh
ファミリとmorl
ファミリはそれぞれ単一のウェーブレットを含みます。ウェーブレットが有限ファミリ ウェーブレットのメンバーである場合、
NUMS
には、ウェーブレット パラメーターを表す項目からなるスペース区切りのリストが含まれます。たとえば、双直交ウェーブレット ファミリbior
の場合、NUMS = '1.1 1.3 1.5 2.2 2.4 2.6 2.8 3.1 3.3 3.5 3.7 3.9 4.4 5.5 6.8'
になります。ウェーブレットが無限ファミリ ウェーブレットのメンバーである場合、
NUMS
には、ウェーブレット パラメーターを表す項目からなるスペース区切りのリストが含まれ、特殊シーケンス**
で終了します。次の表に 2 つの例を示します。ウェーブレット ファミリ NUMS
db
NUMS = '1 2 3 4 5 6 7 8 9 10 **'
shan
NUMS = '1-1.5 1-1 1-0.5 1-0.1 2-3 **'
TYPNUMS
— ウェーブレット パラメーターの入力形式
'integer'
(既定値) | 'real'
| 'charactervector'
ウェーブレット パラメーターの入力形式。以下として指定します。
'integer'
— パラメーターが整数の場合、このオプションを使用します。たとえば、Daubechies ウェーブレット ファミリdb
は整数パラメーターを使用します。'real'
— パラメーターが実数の場合、このオプションを使用します。たとえば、双直交ウェーブレット ファミリbior
は実数パラメーターを使用します。'charactervector'
— パラメーターが文字ベクトルの場合、このオプションを使用します。たとえば、Shannon ウェーブレット ファミリは文字ベクトルを使用します。
FILE
— ウェーブレット定義ファイル
文字ベクトル | string スカラー
ウェーブレット定義ファイル。文字ベクトルまたは string スカラーとして指定します。FILE
は、ウェーブレット ファミリを定義する MAT ファイルまたはコード ファイルの名前です。
ウェーブレット ファミリにタイプ 1 (直交) またはタイプ 2 (双直交) のウェーブレットが 1 つのみ含まれる場合、MAT ファイルでウェーブレットを定義できます。MAT ファイルには、スケーリング フィルター係数が含まれます。ファイル名は、ウェーブレット ファミリの略称と一致しなければなりません。
MAT ファイルで直交ウェーブレットを定義する場合、スケーリング フィルター係数を格納する変数の名前は、ウェーブレット ファミリの略称と一致しなければなりません。
MAT ファイルで双直交ウェーブレットを定義する場合、スケーリング フィルター係数を格納する変数の名前は
Df
およびRf
でなければなりません。
詳細については、Add Quadrature Mirror and Biorthogonal Wavelet Filtersを参照してください。
例: 単一の直交ウェーブレットを含むファミリに略称 wfsn
がある場合、変数 wfsn
にスケーリング フィルター係数が格納されなければなりません。必要な MAT ファイルを作成するには、コマンド save wfsn wfsn
を使用します。
B
— 有効なサポート
2 要素の実数値のベクトル
ファミリ タイプ WT
が 3、4、または 5 であるウェーブレットの有効なサポート。2 要素の実数値のベクトルとして指定します。B = [lb ub]
の場合、lb
は下限を指定し、ub
は上限を指定します。
データ型: double
N
— ウェーブレット
文字ベクトル | string スカラー
削除するウェーブレットまたはウェーブレット ファミリ。文字ベクトルまたは string スカラーとして指定します。N
は、ウェーブレット名またはウェーブレット ファミリの略称です。
例: wavemngr('del','Lemarie')
wname
— ウェーブレット
文字ベクトル | string スカラー
ウェーブレット。文字ベクトルまたは string スカラーとして指定します。ウェーブレット ファミリで使用できるウェーブレットを確認するには、waveinfo
とファミリの略称を使用します。
例: ty = wavemngr('type',"coif4")
出力引数
out
— ウェーブレット マネージャーの出力
文字配列
ウェーブレット マネージャーの出力。文字配列として返されます。
wavetype
— ウェーブレット ファミリ タイプ
整数
ウェーブレット ファミリ タイプ。整数として返されます。
1
— 直交ウェーブレット2
— 双直交ウェーブレット3
— スケーリング関数のあるウェーブレット4
— スケーリング関数のないウェーブレット5
— スケーリング関数のない複素数ウェーブレット
制限
wavemngr
を使用すると、ウェーブレットを追加できます。これが真にウェーブレットであることを検証しなければなりません。追加されたものがウェーブレットであるか確認したり、新しいウェーブレットのタイプを確認したりするためにチェックが実行されることはありません。isorthwfb
とisbiorthwfb
を使用して、ウェーブレットが直交か双直交かを判定できます。
参照
[1] Daubechies, I. Ten Lectures on Wavelets. CBMS-NSF Regional Conference Series in Applied Mathematics. Philadelphia, PA: Society for Industrial and Applied Mathematics, 1992.
バージョン履歴
R2006a より前に導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)