2013-07-05 160 views
1

我沒有在命令行中輸入以下幾行時忽略MATLAB顯示錯誤的原因。MATLAB:下標分配尺寸不匹配

k=2; 

c=[0 0 0 1 0 0 0 0;0 0 0 0 1 0 0 0]; 

temp1=[1 0;2 0;1 0;5 0;9 0;5 0;6 0;7 0]; 

s=c*temp1; 

w(2,k)=s 

下標分配維度不匹配。

>> s 

s = 

    5  0 
    9  0 

其中w(2,k)是什麼,但2×2矩陣,並分配2×2矩陣,它仍然顯示該錯誤。我想感謝那些曾經在那裏可以幫助我更好地理解這個話題的人。

+0

如果你可以更多地解釋你想達到的目標,這可能會有所幫助。你想用's'的內容填寫'w'嗎?另外,什麼是'W'?你沒有在你的示例代碼中定義它。 – Marius

回答

1

的錯誤是w(2,k)1x1矩陣和你試圖把s,在它2x2矩陣。當您進行分配操作時,即=,等號的兩邊必須具有完全相同的尺寸。如果他們不那麼你會得到一個尺寸不匹配的錯誤。

如果w2x2就像你說的那麼w = s應該工作,或者w(2,k) = s(2, k)也應該工作。你究竟想達到什麼目的?

+0

'w(2,k)= s(2,k)'只會複製一個元素而不是整個矩陣 –

+0

@MohsenNosratinia當然......這就是爲什麼我問OP的意圖是什麼 – Dan