1
代碼如下。更改matlab中矩陣的兩列
a=0;
>> b=[4 0];
>> a([2,1])=b
答案是:
a=[0 4].
我的問題是:爲什麼我們可以改變矩陣大小的時候,我們進行分配(因爲的原始尺寸爲1 1和現在a的大小是1乘2)?非常感謝您的時間和關注。
代碼如下。更改matlab中矩陣的兩列
a=0;
>> b=[4 0];
>> a([2,1])=b
答案是:
a=[0 4].
我的問題是:爲什麼我們可以改變矩陣大小的時候,我們進行分配(因爲的原始尺寸爲1 1和現在a的大小是1乘2)?非常感謝您的時間和關注。
當您最初分配a爲單個數字(1乘1)時,嘗試訪問索引a([2,1])應該讓您的索引超出矩陣維數,因爲a是1乘1。然而,Matlab處理問題是,當你重新分配b等於a的某個索引時,該索引被分配並且a的結構也被改變。只要數據符合,就可以執行(:,1)= b或任何其他索引。
如果
b = [0 4; 4 0];
其是2點維的數據,則就不能做([2,1])= B,因爲分配的索引爲1米的尺寸。但是,您可以通過執行以下操作爲b分配2維索引:
a(:,:,1)=b