永发信息网

matlab中,X2:2:10) = []是什么意思?

答案:3  悬赏:20  手机版
解决时间 2021-02-28 19:31
  • 提问者网友:低吟詩仙的傷
  • 2021-02-28 06:55
matlab中,X2:2:10) = []是什么意思?
最佳答案
  • 五星知识达人网友:纵马山川剑自提
  • 2021-02-28 08:05
整句话的大致意思就是删除矩阵的某些元素,并把剩下的元素重新整合为一个向量。具体删哪些元素得看括号里的。
这也涉及到单下标索引。比如A是一个4*4的矩阵,那么A(8)指的是A(4,2)。那么题主的X(2:2:10)的括号里就是指从第二个到第十个、每两个删一个。。。。


就会变成

全部回答
  • 1楼网友:山有枢
  • 2021-02-28 09:07
首先,x是一个矩阵,可以是方阵,也可以不是; y=x(:,i)的作用就就是把矩阵x的第i列取出来赋值到y里面,那么得到的y就是一个列向量。 给你举个例子; a = 2 3 4 5 3 4 5 6 4 5 6 7 5 6 7 8 >> x1=a(:,1) x1 = 2 3 4 5 >> x2=a(:,2) x2 = 3 4 5 6
  • 2楼网友:詩光轨車
  • 2021-02-28 08:48
你的提问涉及到两个问题:   1、数组的单下标索引。 对于MATLAB中任意维数的数组,都可以使用单个下标对数组元素进行索引,有点类似于C语言中的指针。但需要注意的是,MATLAB的数组是以列序为主序的,这一点和C语言不同。也就是说,MATLAB中A(2)、A(3)表示的是A(2,1)、A(3,1),而不是A(1,2)、A(1,3)。   2、对数组的部分元素赋值为空数组可以删除该部分元素。 需要注意,以单下标索引的方式删除元素,由于处理后不一定能满足矩阵的要求,所以得到的结果是一维数组。   就题主的例子而言,贴出的结果是错误的: >> X =[16  3    2   13   0;5 10 11  8    0;9 6 7 12   0;4 15 14   1   17] X =     16     3     2    13     0      5    10    11     8     0      9     6     7    12     0      4    15    14     1    17 >> X(2:2:10)=[] X =     16     9     3     6     2     7    14    13     8    12     1     0     0     0    17 显然与题主贴出的结果不一致。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯