Error using reshape To RESHAPE the number of elements must not change.

1 次查看(过去 30 天)
This is the code:
d = input('Enter the number of rows(d) : ');
k = input('Enter the number of columns(k) : ');
for i=1:d
for j=1:k
T(i,j)= input('Enter the elements - ');
end
end
T = reshape(T,d,k);
I've put 30 as row number and 3 as column number.After entering the elements it shows this error "Error using reshape To RESHAPE the number of elements must not change." Help me to solve this
  3 个评论
Kaninika Pant
Kaninika Pant 2018-6-1
You created T with d number of rows and k number of columns. reshape(T,d,k) will not modify anything. Why are you doing this?

请先登录,再进行评论。

采纳的回答

Kaninika Pant
Kaninika Pant 2018-6-1
编辑:Kaninika Pant 2018-6-1
I agree with the previous answer. In your code the size of T is changing dynamically. Suppose you ran the code first with d=3, k=2. Then without first clearing the variable T you must have ran your code again with different number of rows and columns. Now if the new number of rows or columns is less than what was defined previously the size of T will not change, only the values at those indices would get altered and so reshape will throw this error.

更多回答(1 个)

Fangjun Jiang
Fangjun Jiang 2018-5-31
There is no error in your code. It should have no error if your put in all the d*k elements.
There is no need to run reshape(). Your matrix T is already in dxk.

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by