2021-11-16-matlab移位circshift函数

matlab circshift函数@TOC

matlab circshift 函数

为了对矩阵进行FDTD电磁场更新(用到相邻节点的电磁场值)进行计算

circshif()

  • x1=circshift(A,k)

  • 移位参数k的正负方向与图像坐标系的方向相同,大于0表示沿x轴向右或沿y轴下移,小于0表示沿x轴向左或沿y轴上移

  • B= circshift(A,K,m);

  • 将 A中的元素进行平移 ,如果 是二维情况,k 为正整数,A 中的元素将循环右移 k 位;如果 k 为负整数,则将 A中的元素循环左移 |k| 位。

  • A为矩阵或者多维数组 是对每一行的元素进行作用
    2021-11-16-matlab移位circshift函数_第1张图片
    2021-11-16-matlab移位circshift函数_第2张图片

  • y = circshift(A,K,dim)
    1.循环将 A 中的值沿维度 dim 平移 K 个位置。输入 K 和 dim 必须为标量。

2.A 可以是向量,矩阵,多维数组,k>0右移,k<0左移

  • 将 A中的元素进行平移 ,如果 是二维情况,k 为正整数,A 中的元素将循环右移 k 位;如果 k 为负整数,则将 A中的元素循环左移 |k| 位。
  • 如果是三维情况,就是一页一页沿着Z轴上下移动,matlab里a[i][j][k],表示的是第k页的第i行第j列
    3.dim:沿其运算的维度,指定为正整数标量。通常,指定 dim = 1 以交换,指定 dim = 2 以交换,dim=3交换
    2021-11-16-matlab移位circshift函数_第3张图片
    2021-11-16-matlab移位circshift函数_第4张图片

三维情况

  • k<0每一页向z减少的方向移动,第一页移动到了最后一页,
  • k>0,每一页向z增加的方向移动,但是最后一页到了第一页
    2021-11-16-matlab移位circshift函数_第5张图片
    cat命令可以创建高维数组。
    C=cat(dim,A1,A2,A3,A4……)

    其中dim表示的是创建数组的维度,A1,A2,A3,A4表示的是各维度上的数组
    2021-11-16-matlab移位circshift函数_第6张图片
    可以通过赋值改变第3页第1行第2列的值
    2021-11-16-matlab移位circshift函数_第7张图片

你可能感兴趣的:(线性代数,矩阵,算法)