文档

wextend

扩展向量或矩阵

语法

YEXT = wextend(类型、模式、X, LEN)
YEXT = wextend (___LOC)

描述

例子

YEXT= wextend (类型模式XLEN扩展实值输入向量或矩阵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

                    

执行半点对称扩展。

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

定期扩展。由于输入向量的长度是奇数,wextend在使用'ppd'模式扩展之前在末尾追加一个额外的示例。这个样本等于右边最后一个值。

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

执行数组的半点对称扩展。

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 3 2 5 4 4 5 6 6 5 5 4 5 6 6 5 2 1 1 2 3 3 2

观察对称、反对称和平滑扩展对a的影响uint8当值位于或接近数据类型范围的极限时,为Vector。

对称扩展

最小的uint8整数为0,最大值为255。创建一个矢量uint8包含这些极限的整数。

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

获得向量的全点和半点对称扩展。在向量的左边和右边分别扩展两个值。

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

对称扩展永远不会导致值在uint8的范围内。

反对称的扩展

创建一个类型矢量的副本,然后获得该副本的一个全点反对称扩展。扩展名包括负值和大于255的值。

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

得到原函数的一点反对称扩展uint8向量。外的值uint8范围映射到最近的uint8整数,对于负值为0,对于大于255的值为255。

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

的半点反对称扩展复印件和原件uint8向量。

halfPointAsymDouble = wextend (' 1 '“asymh”dataVectorDouble, 2)
halfPointAsymDouble =1×10-1 0 0 1 2 253 254 255 -255 -254
halfPointAsym = wextend (' 1 '“asymh”dataVector, 2)
halfPointAsym =1x10 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 255
smooth0 = wextend (' 1 '“sp0”dataVector, 2)
smooth0 =1x10 uint8行向量0 0 0 1 2 253 254 255 255 255 255

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

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

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

的对称、反对称和平滑扩展的效果int8当值处于或接近数据类型范围的极限时,则为数据。

对称扩展

最小的int8整数是,最大的是127。创建一个矢量int8包含这些极限的整数。

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

获得数据的整点和半点对称扩展。在向量的左边和右边分别扩展两个值。

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

对称扩展永远不会导致值在int8的范围内。

反对称的扩展

创建一个类型矢量的副本,然后获得该副本的一个全点反对称扩展。扩展包括小于的负值以及大于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整数,对于小于127表示大于127的值。

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

的半点反对称扩展复印件和原件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 =1x10 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 -127 -126 125 126 127 127 127
smooth0 = wextend (' 1 '“sp0”dataVector, 2)
smooth0 =1x10 int8行向量-128 -128 -127 -126 125 126 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 =1x10 int8行向量-128 -128 -127 -126 125 126 127 127⋯⋯

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

输入参数

全部折叠

在输入上使用的扩展方法,指定为此处列出的值之一。

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

一维扩展

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

二维扩展

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

添加行

“交流”“addcol”

添加列

数据类型:|字符

用于扩展输入的特定扩展方法,指定为此处列出的值之一。

模式

描述

“zpd”

零扩展

“sp0”

0阶的平滑扩展

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

订单1的顺利延伸

“符号”“symh”

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

“symw”

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

“asym”“asymh”

不对称填充(半点):边值不对称复制

“asymw”

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

“产后抑郁症”

周期化扩展(1)

“每”

周期化扩展(2)

如果信号长度是奇数,wextend向右侧添加一个等于最后一个值的额外样例,并使用“产后抑郁症”模式。否则,“每”减少到“产后抑郁症”.这个规则也适用于图像。

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

请注意

扩展模式“sp0”而且“社会民主党”(或“sp1”)在执行扩展之前,在内部将数据转换为双倍精度。对于整数数据类型,wextend如果转换为double导致精度损失或请求的扩展导致的整数超出了双精度数可以精确表示连续整数的范围,则发出警告。

数据类型:字符

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

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

扩展输入的数量,指定为正整数或正整数的双元素向量。你可以通过表示来扩展矩阵LEN作为[LROW, LCOL],在那里LROW要添加的行数和LCOL是要添加的列数。可以在两个方向上对矩阵进行相同数量的二维扩展,通过指定LEN成一个整数。

数据类型:|

扩展的位置,指定为“l”“u”“r”' d '“b”,或一个双字符数组。你可以在一边或两边扩展一个向量。你可以通过在任意边的组合上增加行或列来扩展矩阵。的选项疯狂的如下:

  • “l”扩展了

  • “u”扩展了

  • “r”扩展对吧

  • ' d '扩展了

  • “b”-两边延伸

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

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

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

默认值:“b”

LEN是分机的长度。
2、“2”、“二维”“二维” [LOCROW, LOCCOL],在那里LOCROW而且LOCCOL为1-D扩展位置。

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

默认值:“bb”

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

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

默认值:“b”

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

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

默认值:“b”

LEN要添加的列数。

数据类型:字符

提示

  • 对于大多数小波应用,周期扩展或对称扩展都可以。

算法

当值超出输入数据类型的范围时,wextend将其映射到输入数据类型的最近值。有关扩展数据超出数据类型范围的示例,请参见延长uint8数据超出范围限制而且扩展int8数据超出范围限制

参考文献

[1]斯特朗,G.和T.阮。小波和滤波器组。马萨诸塞州韦尔斯利:韦尔斯利-剑桥出版社,1996年。

扩展功能

另请参阅

之前介绍过的R2006a

这个话题有帮助吗?