hongyu.. 2022-03-01 11:14 采纳率: 100%
浏览 379
已结题

matlab提取矩阵列向量

问题遇到的现象和发生背景

我想提取一个M乘M型(M较大)矩阵的每一列,提出来为

img


,然后将矩阵重写为

img


,我先将M取一个较小的值如3,尝试了一下

问题相关代码,请勿粘贴截图
A=[1,2,3;4,5,6;7,8,9];
for i=1:3
    x(i)=A(:,i)
end

运行结果及报错内容

无法执行赋值,因为左侧和右侧的元素数目不同。

我的解答思路和尝试过的方法

如果将x(i)改成x就对,但是这样输出全是x,我想输出为

img

我想要达到的结果

我想输出为,x可以有角标,来区分是哪一列

  • 写回答

2条回答 默认 最新

  • slandarer MATLAB领域优质创作者 2022-03-01 12:49
    关注

    方法有很多,例如:

    方法一借助eval:

    A=[1,2,3;4,5,6;7,8,9];
    
    for i=1:3
        eval(['x',num2str(i),'=A(:,',num2str(i),')'])
    end
    

    输出结果:
    x1 =

     1
     4
     7
    

    x2 =

     2
     5
     8
    

    x3 =

     3
     6
     9
    

    方法二借助结构体

    
    A=[1,2,3;4,5,6;7,8,9];
    for i=1:3
        x.(['v',num2str(i)])=A(:,i);
    end
     
    disp(x.v1)
    

    方法三借助元胞数组

    A=[1,2,3;4,5,6;7,8,9];
    for i=1:3
        x(i)={A(:,i)};
    end
     
    disp(x)
    disp(x{1})
    
    [3×1 double]    [3×1 double]    [3×1 double]
    
     1
     4
     7
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月10日
  • 已采纳回答 3月2日
  • 创建了问题 3月1日

悬赏问题

  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?