在matlab中更改矩阵的两列
代码如下所示在matlab中更改矩阵的两列,matlab,Matlab,代码如下所示 a=0; >> b=[4 0]; >> a([2,1])=b 答案是: a=[0 4]. 我的问题是:既然a的原始大小是1乘1,而现在a的大小是1乘2,那么我们在赋值时怎么能改变矩阵a的大小呢?非常感谢您的时间和关注。当您最初将a指定为一个1乘1的数字时,尝试访问索引a[2,1]应该会发现索引超出了矩阵维度,因为a是1乘1。然而,Matlab处理这个问题的方法是,当您将b指定为等于a的某个索引时,该索引被分配,并且a的结构也发生了变化。它允许您执行a:、
a=0;
>> b=[4 0];
>> a([2,1])=b
答案是:
a=[0 4].
我的问题是:既然a的原始大小是1乘1,而现在a的大小是1乘2,那么我们在赋值时怎么能改变矩阵a的大小呢?非常感谢您的时间和关注。当您最初将a指定为一个1乘1的数字时,尝试访问索引a[2,1]应该会发现索引超出了矩阵维度,因为a是1乘1。然而,Matlab处理这个问题的方法是,当您将b指定为等于a的某个索引时,该索引被分配,并且a的结构也发生了变化。它允许您执行a:、1=b或任何其他索引,只要数据合适 如果 这是一个二维数据,您将无法执行[2,1]=b,因为分配的索引是一维的。但是,您可以通过以下操作为b分配一个二维索引:
a(:,:,1)=b
a(:,:,1)=b