wextend
扩展向量或矩阵
语法
YEXT = wextend(类型、模式、X, LEN)
YEXT = wextend (___LOC)
描述
例子
向量与矩阵的扩展
扩展向量
使用许多不同的方法扩展一个向量。
创建一个向量并将扩展长度设置为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
扩展uint8
数据超出范围限制
观察对称、反对称和平滑扩展对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
当值处于或接近数据类型范围的极限时,则为数据。
对称扩展
最小的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”
在输入上使用的扩展方法,指定为此处列出的值之一。
类型 |
描述 |
---|---|
1 ,' 1 ' ,“一维” ,或“一维” |
一维扩展 |
2 ,' 2 ' ,“二维” ,或“二维” |
二维扩展 |
基于“增大化现实”技术的 或“addrow” |
添加行 |
“交流” 或“addcol” |
添加列 |
数据类型:双
|字符
模式
- - - - - -特定的扩展
“zpd”
|“sp0”
|“社会民主党”
|“sp1”
|“符号”
|“symh”
|“symw”
|“asym”
|“asymh”
|“asymw”
|“产后抑郁症”
|“每”
用于扩展输入的特定扩展方法,指定为此处列出的值之一。
模式 |
描述 |
---|---|
“zpd” |
零扩展 |
“sp0” |
0阶的平滑扩展 |
“社会民主党” (或“sp1” ) |
订单1的顺利延伸 |
“符号” 或“symh” |
对称填充(半点):边界值对称复制 |
“symw” |
对称填充(整点):边界值对称复制 |
“asym” 或“asymh” |
不对称填充(半点):边值不对称复制 |
“asymw” |
反对称填充(整点):边值反对称复制 |
“产后抑郁症” |
周期化扩展(1) |
“每” |
周期化扩展(2) 如果信号长度是奇数, |
有关对称扩展模式的更多信息,请参见[1].
请注意
扩展模式“sp0”
而且“社会民主党”
(或“sp1”
)在执行扩展之前,在内部将数据转换为双倍精度。对于整数数据类型,wextend
如果转换为double导致精度损失或请求的扩展导致的整数超出了双精度数可以精确表示连续整数的范围,则发出警告。
数据类型:字符
X
- - - - - -输入数据
实值向量或矩阵
输入数据,指定为实值向量或矩阵。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
LEN
- - - - - -扩展输入的数量
正整数|双元素向量
扩展输入的数量,指定为正整数或正整数的双元素向量。你可以通过表示来扩展矩阵LEN
作为[LROW, LCOL]
,在那里LROW
要添加的行数和LCOL
是要添加的列数。可以在两个方向上对矩阵进行相同数量的二维扩展,通过指定LEN
成一个整数。
数据类型:单
|双
疯狂的
- - - - - -扩展的位置
“l”
|“u”
|“r”
|' d '
|“b”
|双字符数组
扩展的位置,指定为“l”
,“u”
,“r”
,' d '
.“b”
,或一个双字符数组。你可以在一边或两边扩展一个向量。你可以通过在任意边的组合上增加行或列来扩展矩阵。的选项疯狂的
如下:
“l”
扩展了“u”
扩展了“r”
扩展对吧' d '
扩展了“b”
-两边延伸
类型 | 疯狂的 |
---|---|
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年。
扩展功能
C / c++代码生成
使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
生成的代码可以在MATLAB时返回列向量®如果以下所有条件都为真,则返回行向量:
类型
指定1-D扩展。输入
X
是一个可变大小的向量。输入
X
不是可变长度的行向量(1 × -:)。
代码生成不会产生关于形状不匹配的警告或错误消息。在生成的代码返回的输出向量中,值与MATLAB返回的输出向量中的值匹配。
在本例中,要生成返回行向量的代码,请传递
X(:)。
而不是X
.输入
X
必须符合类型双
.
另请参阅
之前介绍过的R2006a
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。