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

本文详细介绍了MATLAB的circshift函数在FDTD电磁场更新中的应用。circshift函数用于对矩阵或多维数组进行循环移位,k为正数时沿指定维度右移或下移,负数则左移或上移。对于三维情况,该函数可实现沿Z轴的页面移动。此外,还提到了cat命令用于创建高维数组,并展示了如何修改数组的特定位置元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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为矩阵或者多维数组 是对每一行的元素进行作用
    在这里插入图片描述
    在这里插入图片描述

  • 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交换
    在这里插入图片描述
    在这里插入图片描述

三维情况

  • k<0每一页向z减少的方向移动,第一页移动到了最后一页,
  • k>0,每一页向z增加的方向移动,但是最后一页到了第一页
    在这里插入图片描述
    cat命令可以创建高维数组。
    C=cat(dim,A1,A2,A3,A4……)

    其中dim表示的是创建数组的维度,A1,A2,A3,A4表示的是各维度上的数组
    在这里插入图片描述
    可以通过赋值改变第3页第1行第2列的值
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值