主要内容

wextend

扩展向量或矩阵

描述

例子

YEXT= wextend (类型,模式,X,LEN)扩展了实值输入向量或矩阵X的长度LEN,使用类型方法和模式扩展。的类型指定扩展的维度。的模式指定规则申请填写值扩展。

YEXT= wextend (___,疯狂的)还指定了扩展的位置。

例子

全部折叠

扩展向量

扩展一个向量使用许多不同的方法。

创建一个向量和设定扩展长度为2。

len = 2;x = (1 2 3)
x =1×31 2 3

执行一个在扩展。验证不同形式的输入参数是可行的,两次执行这个扩展。两次的结果都是一样的。

xextzpd1 = wextend (' 1 ',“zpd”,x, len)
xextzpd1 =1×70 0 1 2 3 0 0
xextzpd2 = wextend (“一维”,“zpd”,x,兰,“b”)
xextzpd2 =1×70 0 1 2 3 0 0

完成50个基点对称扩展。

xextsym = wextend (“一维”,“符号”,x, len)
xextsym =1×72 1 1 2 3 3 2

执行周期延长。因为奇怪的输入向量长度,wextend附加额外的例子来结束之前延长使用“产后抑郁症”的模式。这个示例等于右边的最后一个值。

xextper = wextend (“一维”,“每”,x, len)
xextper =1×83 3 1 2 3 3 1 2

扩展矩阵

扩展一个小矩阵使用许多不同的方法。

创建一个矩阵和扩展长度设置为2。

len = 2;X = [1 2 3;4 5 6)
X =2×31 2 3 4 5 6

执行一个在数组的延伸。

Xextzpd = wextend (2“zpd”,X, len)
Xextzpd =6×70 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

完成50个基点的对称扩展数组。

Xextsym = wextend (“二维”,“符号”,X, len)
Xextsym =6×75 4 4 5 6 6 5 2 1 1 2 3 3 2 2 1 1 2 3 4 5 6 2 5 4 5 6 5 4 4 5 6 6 5 2 1 1 2 3 3 2

观察的效果对称、反对称和平滑的扩展上uint8矢量值时达到或接近的极限数据类型的范围。

对称扩展

最小的uint8整数0,最大的是255。创建一个向量的uint8整数,包括这些限制。

dataVector = uint8 ([0 1 2 253 254 255])
dataVector =1 x6 uint8行向量0 1 2 253 254 255

获得重点和比对称扩展的向量。扩展向量由左、右两个值。

wholePointSym = wextend (' 1 ',“symw”dataVector, 2)
wholePointSym =1 x10 uint8行向量2 1 0 1 2 253 254 255 254 253
halfPointSym = wextend (' 1 ',“symh”dataVector, 2)
halfPointSym =1 x10 uint8行向量1 0 0 1 2 253 254 255 255 254

扩展对称外从来没有结果值uint8的范围内。

反对称的扩展

创建一个类型向量的副本,然后获得一个目的反对称复制的延伸。扩展包括负值和值大于255。

dataVectorDouble =双(dataVector);wholePointAsymDouble = wextend (' 1 ',“asymw”dataVectorDouble, 2)
wholePointAsymDouble =1×102 1 0 1 2 253 254 255 256 257

获得重点反对称原始的延伸uint8向量。外的值uint8映射到最接近的范围uint8整数,为负值是0和255年值大于255。

wholePointAsym = wextend (' 1 ',“asymw”dataVector, 2)
wholePointAsym =1 x10 uint8行向量0 0 0 1 2 253 254 255 255 255

现在获得的50个基点的反对称扩展复制和原uint8向量。

halfPointAsymDouble = wextend (' 1 ',“asymh”dataVectorDouble, 2)
halfPointAsymDouble =1×101 0 0 1 2 253 254 255 -255 -254
halfPointAsym = wextend (' 1 ',“asymh”dataVector, 2)
halfPointAsym =1 x10 uint8行向量0 0 0 1 2 253 254 255 0 0

与重点反对称扩展,扩展的负值uint8数据被映射到0。

平滑的扩展

获得order-0平滑的扩展复制和原uint8向量。

smooth0Double = wextend (' 1 ',“sp0”dataVectorDouble, 2)
smooth0Double =1×100 0 0 1 2 253 254 255 255 255
smooth0 = wextend (' 1 ',“sp0”dataVector, 2)
smooth0 =1 x10 uint8行向量0 0 0 1 2 253 254 255 255 255

结果是相同的。接下来,获取每个向量的一个1阶平滑扩展。

smooth1Double = wextend (' 1 ',“sp1”dataVectorDouble, 2)
smooth1Double =1×102 1 0 1 2 253 254 255 256 257
smooth1 = wextend (' 1 ',“sp1”dataVector, 2)
smooth1 =1 x10 uint8行向量0 0 0 1 2 253 254 255 255 255

中的值外的结果uint8映射到最接近的范围uint8中的值uint8扩展。

观察的效果对称、反对称和光滑的延伸int8数据值达到或接近的极限数据类型的范围。

对称扩展

最小的int8整数是 - - - - - - 128年 ,最大的是127。创建一个向量的int8整数,包括这些限制。

dataVector = int8 ([-128 -127 -126 125 126 127])
dataVector =1 x6 int8行向量-128 -127 -126 125 126 127

获得重点和比对称扩展的数据。扩展向量由左、右两个值。

wholePointSym = wextend (' 1 ',“symw”dataVector, 2)
wholePointSym =1 x10 int8行向量-126 -127 -128 -127 -126 125 126 127 126 125
halfPointSym = wextend (' 1 ',“symh”dataVector, 2)
halfPointSym =1 x10 int8行向量-127 -128 -128 -127 -126 125 126 127 127 126

扩展对称外从来没有结果值int8的范围内。

反对称的扩展

创建一个类型向量的副本,然后获得一个目的反对称复制的延伸。扩展包括负值不到 - - - - - - 128年 和值大于127。

dataVectorDouble =双(dataVector);wholePointsAsymDouble = wextend (' 1 ',“asymw”dataVectorDouble, 2)
wholePointsAsymDouble =1×10-130 -129 -128 -127 -126 125 126 127 128 129

获得重点反对称原始的延伸int8向量。外的值int8映射到最接近的范围int8整数, - - - - - - 128年 值小于 - - - - - - 128年 和127年值大于127。

wholePointAsym = wextend (' 1 ',“asymw”dataVector, 2)
wholePointAsym =1 x10 int8行向量-128 -128 -128 -127 -126 125 126 127 127 127

现在获得的50个基点的反对称扩展复制和原int8向量。

halfPointAsymDouble = wextend (' 1 ',“asymh”dataVectorDouble, 2)
halfPointAsymDouble =1×10127 128 -128 -127 -126 125 126 127 -127 -126
halfPointAsym = wextend (' 1 ',“asymh”dataVector, 2)
halfPointAsym =1 x10 int8行向量127 127 -128 -127 -126 125 126 127 -127 -126

因此,第一个值是127,可以表示为一个int8整数。第二个值是128,它不能被表示为一个int8整数。因此,在int8因此,它被映射到127。剩下的值的类型结果都可以表示为int8整数。

平滑的扩展

获得order-0平滑的扩展复制和原int8向量。

smooth0Double = wextend (' 1 ',“sp0”dataVectorDouble, 2)
smooth0Double =1×10-128 -128 -128 -127 -126 125 126 127 127 127
smooth0 = wextend (' 1 ',“sp0”dataVector, 2)
smooth0 =1 x10 int8行向量-128 -128 -128 -127 -126 125 126 127 127 127

结果是相同的。现在每个向量的获得一个1阶平滑扩展。

smooth1Double = wextend (' 1 ',“sp1”dataVectorDouble, 2)
smooth1Double =1×10-130 -129 -128 -127 -126 125 126 127 128 129
smooth1 = wextend (' 1 ',“sp1”dataVector, 2)
smooth1 =1 x10 int8行向量-128 -128 -128 -127 -126 125 126 127 127 127

中的值结果外int8映射到最接近的范围int8中的值int8扩展。

输入参数

全部折叠

扩展方法用于输入,指定的值列在这里。

类型 描述
1,' 1 ',“一维”,或“一维”

一维扩展

2,' 2 ',“二维”,或“二维”

二维扩展

基于“增大化现实”技术的“addrow”

添加行

“交流”“addcol”

添加列

数据类型:|字符

使用特定的扩展方法来扩展输入,指定的值列在这里。有关更多信息,请参见dwtmode

模式

描述

“zpd”

零扩展

“sp0”

平滑扩展秩序的0

“社会民主党”(或“sp1”)

订单1的平滑扩展

“符号”“symh”

对称的填充(一半):边界值对称复制

“symw”

对称的填充(重点):边界值对称复制

“asym”“asymh”

反对称填充(一半):边界值反对称复制

“asymw”

反对称填充(重点):边界值反对称复制

“产后抑郁症”

周期化扩展(1)

“每”

周期化扩展(2)

如果信号长度是奇数,wextend附加在右边最后一个值的副本,并执行扩展使用“产后抑郁症”模式。否则,“每”减少到“产后抑郁症”。这个规则也适用于图像。

有关对称扩展模式的更多信息,请参阅[1]

请注意

扩展模式“sp0”“社会民主党”(或“sp1”)把数据在内部执行扩展前双精度。整数数据类型,wextend如果发生下列警告说。

  • 双造成损失的转换精度。

  • 所请求的扩展导致整数范围之外,双精度数字可以表示连续整数。

数据类型:字符

输入数据,指定为一个实值向量或矩阵。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

扩展的长度,指定为非负整数或双元素向量的非负整数。您可以扩展一个矩阵表示LEN作为[LROW, LCOL],在那里LROW添加的行数和吗LCOL是添加的列数。您可以执行相同的二维矩阵的扩展在两个方向上通过指定吗LEN成一个整数。

0等于零长度的延伸扩展。

例子:wextend(“二维”、“对称”,[;1 2 3 4 5 6 7 8],[2 0])扩展只有两排,两排下来。

扩展的位置,指定为一个或一对如下:

  • “l”——扩展左

  • “u”——扩展

  • “r”——扩展

  • ' d '——扩展

  • “b”——双方的扩展

  • “n”——零扩展

有效的和默认值疯狂的和的行为LEN,取决于指定的类型

类型 疯狂的
1,' 1 ',1 d '“一维” “l”,“u”,“r”,' d ',“b”,或“n”

例子:wextend (‘1 d’,‘zpd’, X, 3, ' r ')扩展输入向量X三个元素。

默认值:“b”

LEN扩展的长度。
2、“2”、“二维”“二维” [LOCROW, LOCCOL],在那里LOCROWLOCCOL一维扩展位置或吗“n”(没有)。

例子:wextend (“2 d’,‘zpd’, X, 3[2],乌兰巴托)扩展输入向量或矩阵X两行三列两侧。

默认值:“bb”

LEN,指定为[LROW, LCOL],添加行和列的数量。
基于“增大化现实”技术的“addrow” “l”,“u”,“r”,' d ',“b”,或“n”

例子:wextend (‘addrow’,‘zpd’, X, 4, ' d ')扩展输入向量或矩阵X四行。

默认值:“b”

LEN是添加的行数。
“交流”“addcol” “l”,“u”,“r”,' d ',“b”,或“n”

例子:wextend (‘addcol’,‘zpd’, X, 1, ' l ')扩展输入向量或矩阵X左边一列。

默认值:“b”

LEN是添加的列数。

提示

对于大多数小波应用,周期延长或对称扩展工作正常。

算法

当一个值在输入数据类型的范围之外,wextend将它映射到最接近的值输入数据的类型。例如超越一个数据类型的数据的范围,明白了扩展uint8数据超出范围的限制扩展int8数据超出范围的限制

引用

[1]斯特朗,G。,T. Nguyen.小波和过滤器银行。韦尔斯利,MA: Wellesley-Cambridge出版社,1996年。

扩展功能

版本历史

之前介绍过的R2006a

另请参阅