Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在matlab中更改矩阵的两列_Matlab - Fatal编程技术网

在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