Math 如何在Matlab中使用circshift?我做错了什么?
我想在Matlab中绘制“油腻”测试信号,然后在同一个图中绘制高斯函数。下面的脚本就是这样做的 但我希望能够将高斯函数放置在某个位置,所以我看到其他人经常使用CIRCSHIFT来移动绘图 当我使用它时,我可以将高斯函数向左或向右移动,但不能上下移动 脚本中使用的PGAUS来自LTFAT DSP第三方工具箱,但它可以用于调试任何函数。例如-x^2 有人能找出我做错了什么吗 下面是使用[0]时的外观 下面是使用[0 111]时的外观 以下是[111 0]的外观 很多爱, 路易丝Math 如何在Matlab中使用circshift?我做错了什么?,math,matlab,Math,Matlab,我想在Matlab中绘制“油腻”测试信号,然后在同一个图中绘制高斯函数。下面的脚本就是这样做的 但我希望能够将高斯函数放置在某个位置,所以我看到其他人经常使用CIRCSHIFT来移动绘图 当我使用它时,我可以将高斯函数向左或向右移动,但不能上下移动 脚本中使用的PGAUS来自LTFAT DSP第三方工具箱,但它可以用于调试任何函数。例如-x^2 有人能找出我做错了什么吗 下面是使用[0]时的外观 下面是使用[0 111]时的外观 以下是[111 0]的外观 很多爱, 路易丝 如果要向下移动
如果要向下移动,必须使用[1,0]而不是[0,-1] 看看这个 A=[1,2,3;4,5,6;7,8,9] A= 1 2 3 4 5 6 7 8 9 循环移位(A,[0-1]) ans= 2 3 1 5 6 4 897 循环移位(A[10]) ans= 7 8 9 1 2 3
4 5 6如果要向下移动,必须使用[1,0]而不是[0,-1] 看看这个 A=[1,2,3;4,5,6;7,8,9] A= 1 2 3 4 5 6 7 8 9 循环移位(A,[0-1]) ans= 2 3 1 5 6 4 897 循环移位(A[10]) ans= 7 8 9 1 2 3
4 5 6您要做的是向高斯函数添加一个常数因子,使其上下移动 B=[1,2,3,4,5] B= 123445 尺寸(B) ans= 15 循环移位(B,[20]) 它什么也不做,因为B只有一行,所以不管rowshift的值是多少,此行都会返回到其原始位置 ans= 123445 循环移位(B,[02]) ans= 4 5 1 2 3 B+5 ans=
6 7 8 9 10您要做的是向高斯函数添加一个常数因子,使其上下移动 B=[1,2,3,4,5] B= 123445 尺寸(B) ans= 15 循环移位(B,[20]) 它什么也不做,因为B只有一行,所以不管rowshift的值是多少,此行都会返回到其原始位置 ans= 123445 循环移位(B,[02]) ans= 4 5 1 2 3 B+5 ans= 如果pgaus(L,tfr,cent)是一个列向量,那么任何X的circshift(a,[0x])当然不会改变它,因为它在第二个维度1上旋转 如果要在图形中向上移动高斯曲线,必须向其添加一个数字:
gw = pgauss(L,tfr,cent) - 1;
如果pgauss(L,tfr,cent)是一个列向量,那么任何X的circhshift(a,[0x])当然不会改变它,因为它在第二个维度1上旋转
如果要在图形中向上移动高斯曲线,必须向其添加一个数字:
gw = pgauss(L,tfr,cent) - 1;
最奇怪的是,[1110]将我的情节向右移动。[0 111]没有任何作用。我添加了一些绘图。circshift影响矩阵,但这里的是向量,所以它的大小是1乘N。我将写另一个答案并解释。最奇怪的是,[111 0]将我的绘图向右移动。[0 111]没有任何作用。我添加了一些图。circshift影响矩阵,但你们这里的是向量,所以它的大小是1乘以N。我会写另一个答案并解释。