Error using reshape To RESHAPE the number of elements must not change.
3 views (last 30 days)
Show older comments
Debalina Pal
on 31 May 2018
Commented: Debalina Pal
on 1 Jun 2018
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 Comments
Kaninika Pant
on 1 Jun 2018
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?
Accepted Answer
Kaninika Pant
on 1 Jun 2018
Edited: Kaninika Pant
on 1 Jun 2018
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.
More Answers (1)
Fangjun Jiang
on 31 May 2018
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.
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!