一个4阶矩阵删除他的第三行和第一行,并且输出
c(1:2:3,:)=[] {明明有1,2,3都有,为啥保留了第二行}
我不理解为啥是这么删除的
我尝试过将代码写成
c(1:3,:)=[]
运行之后为这个矩阵直接删除了第一行到第三行
我尝试用五阶矩阵去验证,发现
f(2:4:5,:)=[] 删除的是第一行 {没有1和3,却只减少了第一行}
f(1:2:4,:)=[] 删除的是第一行和第三行 {没有3和5,却减少了第一行和第三行}
f(1:3:4,:)=[] 删除的是第一行和第四行 {没有2和5,却减少了第一行和第四行}
我想问一下这个删除的规律是啥,当我要删除隔一行删除一个矩阵时怎么用这个
这个你可以先尝试了解下矩阵的任意行提取。你的第一个写法里面其实是按照指定步长来提取行数,1:2:3是从第一行起每两行计数一次直到第三行,所以是第一行计数了,第二行刚好空过,第三行又计数一次。这种写法就适合你的隔一行选一个的情况。f(1:2:end; :)这么来写。
第二个例子里面的1:3是从第一行到第三行的意思。
你要单独选指定行也可以写c([1 2 3]; :)
1:2:3 表示第1行到第3行,间隔为2行,这样得到的结果就是第1行和第3行,c(1:2:3,:)=[] 就是令第1行和第3行为空,亦即是删除第1行和第3行的意思,
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!