楼主: limuqi
1137 5

[问答] matlab中怎样将特定列提前 [推广有奖]

  • 1关注
  • 2粉丝

本科生

27%

还不是VIP/贵宾

-

威望
0
论坛币
464 个
通用积分
0.0600
学术水平
2 点
热心指数
2 点
信用等级
2 点
经验
838 点
帖子
57
精华
0
在线时间
54 小时
注册时间
2011-8-2
最后登录
2016-1-5

楼主
limuqi 发表于 2013-10-22 04:24:50 |AI写论文
30论坛币
我有一个matrix, 和一个vector v
我想将v当中的列换到最前面,想问怎么做。
  1. mat=rand(10,10);
  2. v=[2,4,7]
复制代码
假设mat的原始列是这样
  1. [1,2,3,4,5,6,7,8,9,10]
复制代码
我希望得到mat,它的列是这样
  1. [2,4,7,1,3,5,6,8,9,10]
复制代码



最佳答案

Xaero 查看完整内容

或者效率更高一点: newmat=mat(:,[v,setdiff(1:size(mat,2),v)])
关键词:MATLAB matla atlab Atl Lab matlab matrix

回帖推荐

Xaero 发表于5楼  查看完整内容

或者效率更高一点: newmat=mat(:,[v,setdiff(1:size(mat,2),v)])

本帖被以下文库推荐

沙发
Xaero 发表于 2013-10-22 04:24:51
或者效率更高一点:
newmat=mat(:,[v,setdiff(1:size(mat,2),v)])
十年一觉扬州梦。
智不足以Academy,才尚不够Industry,[情无力于Life]。

藤椅
Xaero 发表于 2013-10-22 10:11:24
newmat=[mat(:,v),mat(:,setdiff(1:size(mat,2),v))]
十年一觉扬州梦。
智不足以Academy,才尚不够Industry,[情无力于Life]。

板凳
limuqi 发表于 2013-10-23 00:37:41
Xaero 发表于 2013-10-22 10:12
或者效率更高一点:
newmat=mat(:,[v,setdiff(1:size(mat,2),v)])
谢谢斑竹大大,非常高效

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-5 01:52