华旭鸿涛爹 2021-11-10 10:00 采纳率: 50%
浏览 12
已结题

matalab中如何将一个数组中第一列中绝对值最大元素的位置换至第一行

matalab中a=[12,-3,3;-18,3,-1;1,1,1]

a =

12    -3     3

-18 3 -1
1 1 1
如何求出第一列中元素绝对值最大的数(-18)的位置并把它放在第一行第一列的位置?

  • 写回答

2条回答 默认 最新

  • 技术专家团-Joel 2021-11-10 10:11
    关注

    你好,代码供参考

    a=[12,-3,3;-18,3,-1;1,1,1];
    [~,pos] = max(abs(a(:,1)));
    a([1,pos],1) = a([pos,1],1) ;
    a
    

    这样a就变成了

    a =
    
       -18    -3     3
        12     3    -1
         1     1     1
    

    PS:
    如果你是要把第一列种绝对值最大的行放到第一行,那么a([1,pos],1) = a([pos,1],1) ;改成即可a([1,pos],:) = a([pos,1],:) ;其他不变

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月16日
  • 已采纳回答 9月8日
  • 创建了问题 11月10日

悬赏问题

  • ¥15 CSS实现渐隐虚线框
  • ¥15 有没有帮写代码做实验仿真的
  • ¥30 vmware exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?
  • ¥15 电磁场的matlab仿真