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)的括号里就是指从第二个到第十个、每两个删一个。。。。
就会变成
这也涉及到单下标索引。比如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 显然与题主贴出的结果不一致。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯